Sedang mengikuti modul ini?0 daripada 17 selesai
Modul 15 · Halaman 16 daripada 20 · 11 bahagian

Embeddings dan Carian Semantik

Apa itu embeddings, model embedding popular, aliran kerja, cara carian semantik dan metrik persamaan berfungsi, teknik lanjutan dan kes penggunaan.

15.1

Apa itu Embeddings?

  • Embeddings ialah perwakilan vektor berangka bagi teks yang menangkap makna semantik.
  • Ia menukar teks (dokumen, pertanyaan) kepada vektor padat (cth. 1536 dimensi) menggunakan model embedding.
  • Kandungan yang serupa akan mempunyai vektor yang serupa, membolehkan carian semantik, RAG dan aplikasi AI.
15.2

Model Embedding Popular

  • OpenAI Embeddings - text-embedding-3-small
  • Cohere Embeddings - model berbilang bahasa
  • Hugging Face - sentence-transformers
  • Model setempat - BGE, all-MiniLM, model Instructor
  • Model multimodal - untuk teks, imej, kod, dsb.
15.3

Aliran Kerja Embedding dalam LangChain

Dokumen MentahPDF, web, teks
Text SplitterPecah kepada chunk
Model EmbeddingCipta embeddings
Pangkalan Data VektorSimpan vektor
Carian SemantikDapatkan chunk relevan
15.4

Cara Carian Semantik Berfungsi

  1. 1Pertanyaan pengguna ditukar kepada vektor embedding.
  2. 2Vektor dibandingkan dengan vektor dokumen yang disimpan (menggunakan carian persamaan).
  3. 3k chunk paling relevan diperoleh dan digunakan oleh LLM untuk menjana jawapan yang tepat.
15.5

Metrik Persamaan

MetrikPeneranganKes Penggunaan
Cosine SimilarityMengukur sudut antara vektorPaling lazim
Euclidean DistanceMengukur jarak sebenarApabila magnitud penting
Dot ProductMudah dan cekapSesuai untuk carian berskala besar
15.6

Melaksanakan Embeddings dalam LangChain

python
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS

# Create embeddings
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(docs, embeddings)
15.7

Carian Semantik dengan LangChain

python
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA

retriever = vectorstore.as_retriever(search_kwargs={
    "k": 3
})
qa_chain = RetrievalQA.from_chain_type(llm=llm,
                                       retriever=retriever)

result = qa_chain.run("What is LangChain?")
print(result)
15.8

Teknik Lanjutan

  • Hybrid Search - gabungkan carian kata kunci + vektor.
  • Metadata Filtering - tapis hasil mengikut sumber, tarikh, tag.
  • Re-ranking - tambah baik hasil menggunakan cross-encoder.
  • Multi-vector Retrieval - gunakan beberapa embedding (cth. tajuk + kandungan).
  • Semantic Chunking - pecahkan kandungan berdasarkan makna, bukan saiz sahaja.
15.9

Kes Penggunaan Embeddings

  • Aplikasi RAG - dapatkan konteks relevan untuk LLM.
  • Carian semantik - carian pintar dalam dokumen dan produk.
  • Sistem cadangan - cari item serupa.
  • Chatbot dan pembantu - menjawab menggunakan data anda.
  • Carian multimodal - cari merentasi teks, imej dan kod.
15.10

Contoh: RAG dengan Embeddings

PDFDokumen syarikat
Pecah & Embed
Vector DBFAISS / Qdrant
Dapatkan Dokumen Relevan
LLMBeri jawapan tepat
15.11

Pengajaran Utama

  • Embeddings merapatkan jurang antara teks dan kefahaman mesin.
  • Carian semantik membantu mencari maklumat paling relevan dengan cekap.
  • LangChain memudahkan penjanaan embeddings, menyimpannya dalam pangkalan data vektor dan menggunakannya untuk aplikasi RAG yang berkuasa.
  • Pilih model, metrik dan pangkalan data yang sesuai mengikut kes penggunaan dan skala anda.