เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง
ทำความเข้าใจแนวคิดของเวกเตอร์ฝังตัว วิธีสร้างเวกเตอร์เหล่านี้ และการค้นหาความคล้ายคลึงที่ช่วยให้ค้นคืนเอกสารที่เกี่ยวข้องได้
เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง เป็นบทเรียน LLM Apps in Production (RAG + Vector DB + Caching) ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน LLM Apps in Production (RAG + Vector DB + Caching) และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส LLM Apps in Production (RAG + Vector DB + Caching) มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Vectors for Meaning
Welcome! In the world of Large Language Models (LLMs), understanding text isn't just about words. It's about meaning.
Computers naturally work with numbers, not human language. How do we bridge this gap to help LLMs understand the meaning of text?
What are Vector Embeddings?
Vector embeddings are numerical representations of text (or images, audio, etc.). Think of them as a list of numbers that capture the 'essence' or 'meaning' of a piece of information.
- Each piece of text (a word, sentence, or document) gets its own unique vector.
- These vectors are usually long lists of floating-point numbers (e.g.,
[0.123, -0.456, 0.789, ...]).
The Magic Behind Embeddings
How are these magical numbers created? Special machine learning models, often called embedding models, are trained to convert text into these vectors.
These models learn to map similar meanings to vectors that are numerically 'close' to each other in a high-dimensional space.
Semantic Similarity Explained
The core idea is that if two pieces of text have similar meanings, their vector embeddings will be close together.
For example, the embedding for "cat" would be closer to "kitten" than to "car". This 'closeness' is what allows computers to understand semantic similarity.
Generating Embeddings (Concept)
In a real RAG system, you'd use an API from a provider like OpenAI, Cohere, or an open-source model to generate embeddings for your text data.
You feed the text, and the API returns the vector. It's that simple from a usage perspective!
Code: Mock Embedding Generation
Here's a Python example showing how you might conceptually interact with an embedding function. In reality, get_embedding would make an API call.
def get_embedding(text):
"""
Simulates an embedding model. Returns a dummy vector.
"""
if "hello" in text.lower():
return [0.1, 0.2, 0.3]
elif "goodbye" in text.lower():
return [0.8, 0.7, 0.6]
else:
return [0.0, 0.0, 0.0]
if __name__ == "__main__":
text1 = "Hello, CoddyKit!"
text2 = "Time to say goodbye."
text3 = "Another sentence."
print(f"Vector for '{text1}': {get_embedding(text1)}")
print(f"Vector for '{text2}': {get_embedding(text2)}")
print(f"Vector for '{text3}': {get_embedding(text3)}")Why Similarity Search?
Once you have all your documents (or chunks of documents) converted into embeddings, how do you find the most relevant ones when a user asks a question?
This is where similarity search comes in. It's the process of finding embeddings that are 'closest' to a given query embedding.
How Similarity Search Works
Similarity search mathematically measures the 'distance' or 'angle' between vectors. Common methods include:
- Cosine Similarity: Measures the angle between two vectors. A smaller angle (closer to 1) means higher similarity.
- Euclidean Distance: Measures the straight-line distance between two points (vectors). A smaller distance means higher similarity.
These calculations quickly identify the most semantically similar documents.
Embeddings + Search = RAG Power
In RAG, when a user asks a question:
- The question is converted into an embedding.
- Similarity search is performed against a database of document embeddings.
- The top N most similar document chunks are retrieved.
These retrieved chunks then provide context to the LLM, making its answers more accurate and grounded.
Quick Check on Embeddings
Vector embeddings are crucial for RAG. Let's test your understanding.
Recap: Embeddings & Search
Great job! You've learned about the foundational concepts of vector embeddings and similarity search.
- Vector embeddings turn text into numbers, capturing meaning.
- Embedding models create these vectors.
- Similarity search uses mathematical distance to find the most relevant vectors (and thus documents) to a query.
These techniques are at the heart of how RAG systems find and provide relevant context to LLMs.
คำถามที่พบบ่อย
บทเรียน “เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส LLM Apps in Production (RAG + Vector DB + Caching) ให้อัปเกรดเป็น CoddyKit PRO คอร์ส LLM Apps in Production (RAG + Vector DB + Caching) มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง”
ทำความเข้าใจแนวคิดของเวกเตอร์ฝังตัว วิธีสร้างเวกเตอร์เหล่านี้ และการค้นหาความคล้ายคลึงที่ช่วยให้ค้นคืนเอกสารที่เกี่ยวข้องได้ คุณปฏิบัติ LLM Apps in Production (RAG + Vector DB + Caching) ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน LLM Apps in Production (RAG + Vector DB + Caching) หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน LLM Apps in Production (RAG + Vector DB + Caching) บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน LLM Apps in Production (RAG + Vector DB + Caching) นี้ได้ไหม
ได้ บทเรียน LLM Apps in Production (RAG + Vector DB + Caching) ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ความจำเป็นของฐานข้อมูลเวกเตอร์
- เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง
- การเชื่อมต่อกับฐานข้อมูลเวกเตอร์
- การสร้างดัชนี การกรอง และการค้นหาแบบผสม