Ejen AI · Pelajaran

Membina RAG Naif dengan FAISS atau Chroma

Tulis 40 baris Python: hasilkan embedding pertanyaan, dapatkan bahagian terdekat teratas-K, masukkannya ke dalam gesaan dan tanya LLM.

Pelajaran 4 daripada 415 langkah

Membina RAG Naif dengan FAISS atau Chroma ialah pelajaran Ejen AI percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Sebahagian daripada pelajaran ini belum diterjemahkan dan dipaparkan dalam bahasa Inggeris.

RAG 40 Baris

Sekarang anda mempunyai semua bahagiannya. Kita akan memasangnya menjadi RAG naif yang berfungsi menggunakan sekumpulan kecil dokumen.

Step 1: Install

# pip install openai chromadb

Step 2: Sample Corpus

docs = [
    'Python is a high-level interpreted programming language created by Guido van Rossum in 1991.',
    'Pizza is a savory dish of Italian origin consisting of a round flat base of dough.',
    'The Eiffel Tower is a wrought-iron lattice tower in Paris, France, completed in 1889.',
    'NumPy is a Python library used for working with arrays and numerical computing.',
    'The Great Wall of China is a series of fortifications built across northern China.'
]
print(f"Loaded {len(docs)} documents")
for i, d in enumerate(docs):
    print(f"{i+1}. {d[:50]}...")

Step 3: Set Up Chroma

import chromadb
from openai import OpenAI

client = chromadb.Client()
collection = client.create_collection('demo')
openai_client = OpenAI()

Step 4: Embed and Store

embed_response = openai_client.embeddings.create(
    model='text-embedding-3-small',
    input=docs
)
vectors = [d.embedding for d in embed_response.data]

collection.add(
    ids=[f'd{i}' for i in range(len(docs))],
    embeddings=vectors,
    documents=docs
)

Step 5: Embed the Query

query = 'Tell me about Python programming'
query_vec = openai_client.embeddings.create(
    model='text-embedding-3-small',
    input=query
).data[0].embedding

Step 6: Retrieve Top-K

results = collection.query(
    query_embeddings=[query_vec],
    n_results=2
)
retrieved = results['documents'][0]
print(retrieved)
# ['Python is a high-level...', 'NumPy is a Python library...']

Step 7: Build the RAG Prompt

context = '\n'.join(f'- {chunk}' for chunk in retrieved)
prompt = f'''
Using only the context below, answer the question. If unknown, say so.

Context:
{context}

Question: {query}
'''

Step 8: Call the LLM

response = openai_client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    temperature=0,
)
print(response.choices[0].message.content)

Alternatif FAISS

Jika anda mahukan penyelesaian setempat sepenuhnya tanpa pelayan pangkalan data, FAISS lebih mudah:

import faiss
import numpy as np

index = faiss.IndexFlatIP(1536)  # inner product, normalised vectors
index.add(np.array(vectors).astype('float32'))

D, I = index.search(np.array([query_vec]).astype('float32'), k=2)
retrieved = [docs[i] for i in I[0]]

Had RAG Naif Ini

  • Tiada pemecahan serpihan — hanya berfungsi untuk dokumen pendek
  • Tiada penyusunan semula kedudukan
  • Tiada penapisan metadata
  • Tiada penilaian

Kita akan membaiki semua perkara ini dalam kursus seterusnya.

Kos bagi Setiap Pertanyaan

Bagi setiap pertanyaan yang anda buat:

  • 1 panggilan pembenaman (~$0.00002)
  • 1 pelengkapan sembang dengan ~500 token konteks (~$0.0001)

Jumlah: kira-kira 1/100 sen bagi setiap soalan.

Lancarkan dan Ulang Tubi

RAG 40 baris ini sudah mengatasi kebanyakan chatbot tanpa konteks untuk soal jawab fakta berdasarkan data anda. Lancarkannya, lihat cara pengguna menemui kelemahannya, kemudian tambahkan teknik lanjutan pada bahagian yang paling memerlukannya.

K Teratas RAG Naif

Apakah maksud mendapatkan semula "K teratas"?

Imbas Kembali

Anda telah membina RAG. Seterusnya, kita akan melihat pangkalan data vektor yang boleh menskalakan sistem ini melampaui satu komputer riba.

Percuma untuk bermula

Pelajari Ejen AI 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
60
Pelajaran
239

Soalan Lazim

Adakah pelajaran “Membina RAG Naif dengan FAISS atau Chroma” percuma?

Ya — teks penuh “Membina RAG Naif dengan FAISS atau Chroma” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Membina RAG Naif dengan FAISS atau Chroma”?

Tulis 40 baris Python: hasilkan embedding pertanyaan, dapatkan bahagian terdekat teratas-K, masukkannya ke dalam gesaan dan tanya LLM. Anda berlatih Ejen AI 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 Ejen AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI 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 4 daripada 4.

Berapa lamakah pelajaran “Membina RAG Naif dengan FAISS atau Chroma” 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 Ejen AI ini?

Ya. Setiap pelajaran Ejen AI 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

  1. Perkara yang Diselesaikan oleh RAG (Had Pengetahuan, Halusinasi)
  2. Strategi Pembahagian (Tetap, Ayat, Semantik)
  3. Mengindeks Set Dokumen
  4. Membina RAG Naif dengan FAISS atau Chroma
← Kembali ke Ejen AI