Gedung Vektor: Chroma dan FAISS
Mencipta dan mengekalkan gedung vektor, carian keserupaan, dapatan semula MMR, carian hibrid.
Gedung Vektor: Chroma dan FAISS ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Apakah Stor Vektor?
Stor vektor menyimpan cebisan yang telah dibenamkan dan mencari cebisan yang paling serupa dengan vektor pertanyaan. Ia ialah enjin carian di teras RAG. Dua pilihan popular ialah Chroma dan FAISS.
pip install langchain-chroma faiss-cpuMencipta Stor Chroma
Chroma.from_documents membenamkan cebisan anda dan mengindeksnya dalam satu panggilan. Hantar dokumen dan objek pembenaman. Chroma mengembalikan stor yang boleh anda cari serta-merta.
from langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
db = Chroma.from_documents(chunks, embeddings)Mengekalkan Chroma pada Cakera
Hantar persist_directory supaya indeks disimpan pada cakera dan kekal selepas dimulakan semula. Muatkannya semula kemudian dengan membina Chroma menggunakan direktori dan pembenaman yang sama, sekali gus mengelakkan kos pembenaman semula.
db = Chroma.from_documents(
chunks, embeddings,
persist_directory="./chroma_db"
)
# Reload later
db = Chroma(persist_directory="./chroma_db", embedding_function=embeddings)Carian Keserupaan
Buat pertanyaan dengan similarity_search(query, k=4). Ia membenamkan pertanyaan, mencari k cebisan terdekat dan mengembalikannya sebagai Dokumen. k mengawal bilangan petikan yang diambil semula.
results = db.similarity_search("How do I reset my password?", k=4)
for doc in results:
print(doc.page_content[:80])Skor Semasa Carian
Gunakan similarity_search_with_score untuk mendapatkan skor jarak bagi setiap hasil. Jarak yang lebih rendah bermaksud lebih serupa. Skor membantu anda menapis padanan lemah sebelum menghantarnya kepada LLM.
pairs = db.similarity_search_with_score("password reset", k=4)
for doc, score in pairs:
print(round(score, 3), doc.page_content[:60])Pengenalan FAISS
FAISS (Carian Keserupaan AI Facebook) ialah pustaka berprestasi tinggi untuk carian vektor. Ia amat pantas dan cekap dari segi memori, sesuai untuk indeks setempat yang besar tanpa pelayan berasingan.
Mencipta Stor FAISS
API ini menyerupai Chroma: FAISS.from_documents membina indeks. FAISS mengekalkan indeks dalam memori, jadi ia bagus untuk carian dalam proses yang banyak membaca.
from langchain_community.vectorstores import FAISS
db = FAISS.from_documents(chunks, embeddings)
results = db.similarity_search("refund policy", k=3)Menyimpan dan Memuatkan FAISS
Kekalkan indeks FAISS dengan save_local dan muatkan semula dengan load_local. Pemuatan semula memerlukan allow_dangerous_deserialization=True kerana indeks menggunakan pickle.
db.save_local("faiss_index")
db = FAISS.load_local(
"faiss_index", embeddings,
allow_dangerous_deserialization=True
)Kerelevanan berbanding Kepelbagaian
Carian keserupaan biasa boleh mengembalikan empat cebisan yang hampir sama. Kadangkala anda memerlukan hasil yang pelbagai dan merangkumi aspek jawapan yang berbeza. Di sinilah MMR membantu.
Pengambilan MMR
Kerelevanan Marginal Maksimum (MMR) mengimbangi kerelevanan dengan kepelbagaian, dengan memilih cebisan yang relevan tetapi tidak berulang. Gunakan search_type="mmr" melalui antara muka pengambil semula.
retriever = db.as_retriever(
search_type="mmr",
search_kwargs={"k": 4, "fetch_k": 20}
)
docs = retriever.invoke("password reset")Memilih Chroma atau FAISS
Chroma mudah digunakan, menyokong penyimpanan kekal dan sesuai untuk prototaip serta aplikasi kecil. FAISS lebih pantas pada skala besar dan sesuai untuk carian dalam memori. Kedua-duanya menyediakan similarity_search dan as_retriever, jadi pertukaran adalah mudah.
Semakan Pantas
Uji pengetahuan anda tentang stor vektor.
Ulang Kaji: Chroma dan FAISS
Anda membina stor vektor dengan Chroma.from_documents (menggunakan persist_directory) dan FAISS.from_documents, membuat carian dengan similarity_search(query, k=4) serta menyimpan dan memuatkan semula kedua-duanya. Anda menggunakan as_retriever bersama MMR untuk mendapatkan hasil yang pelbagai, dan mempelajari masa yang sesuai untuk memilih setiap stor.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 53
- Pelajaran
- 225
Soalan Lazim
Adakah pelajaran “Gedung Vektor: Chroma dan FAISS” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Gedung Vektor: Chroma dan FAISS”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Gedung Vektor: Chroma dan FAISS”?
Mencipta dan mengekalkan gedung vektor, carian keserupaan, dapatan semula MMR, carian hibrid. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Gedung Vektor: Chroma dan FAISS” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?
Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Seni Bina LangChain dan LCEL
- Memuatkan, Memecah dan Membenam Dokumen
- Gedung Vektor: Chroma dan FAISS
- Membina Sistem Soal Jawab RAG dari Awal hingga Akhir