LangChain / RAG / Pangkalan Data Vektor · Pelajaran

Memori dan Keadaan dalam RAG Berasaskan Ejen

Berikan ejen RAG anda memori jangka pendek dan jangka panjang supaya ia boleh mengekalkan perbualan dan mengingati fakta merentas giliran.

Pelajaran 4 daripada 413 langkah

Memori dan Keadaan dalam RAG Berasaskan Ejen ialah pelajaran LangChain / RAG / Pangkalan Data Vektor 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 LangChain / RAG / Pangkalan Data Vektor, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.

Mengapa Ejen Memerlukan Memori

Ejen tanpa keadaan melupakan segala-galanya selepas setiap panggilan. Memori membolehkan ejen menjejaki perbualan, mengingati pilihan pengguna dan mengelakkan pengambilan semula yang berulang.

Jangka Pendek berbanding Jangka Panjang

Memori jangka pendek menyimpan perbualan semasa dalam tetingkap konteks. Memori jangka panjang mengekalkan fakta merentas sesi, lazimnya dalam stor vektor atau pangkalan data.

Penimbal Perbualan

Memori paling mudah menyimpan keseluruhan sejarah mesej dan memainkannya semula pada setiap giliran supaya model mempunyai konteks penuh.

history = []

def chat(user_msg):
    history.append({"role": "user", "content": user_msg})
    reply = llm.invoke(history)
    history.append({"role": "assistant", "content": reply})
    return reply

Had Tetingkap Konteks

Memainkan semula keseluruhan sejarah akhirnya akan melebihi konteks model. Anda mesti meringkaskan atau memangkas giliran lama supaya kekal dalam belanjawan token.

Memori Ringkasan

Secara berkala, mampatkan giliran lama menjadi ringkasan berterusan sambil mengekalkan giliran terkini secara tepat. Ini mengekalkan intipati sambil membebaskan token.

if len(history) > 20:
    summary = llm.invoke("Summarize: " + str(history[:-6]))
    history[:] = [{"role": "system", "content": summary}] + history[-6:]

Memori Jangka Panjang melalui Vektor

Simpan fakta kekal sebagai pembenaman. Pada setiap giliran, dapatkan semula memori yang berkaitan berdasarkan keserupaan dan suntikkannya, sama seperti RAG pada pangkalan pengetahuan.

memory_store.add_texts(["User prefers metric units"])
relevant = memory_store.similarity_search(user_msg, k=3)

Memilih Perkara yang Perlu Diingati

Jangan simpan semuanya. Ekstrak fakta yang kekal dan boleh digunakan semula seperti pilihan, keputusan dan entiti, serta abaikan perbualan sementara supaya memori jangka panjang kekal bersih.

Keadaan Melangkaui Sembang

Ejen turut menjejaki keadaan bukan perbualan: alat yang telah dijalankan, hasil perantaraan dan pad lakaran langkah penaakulan yang digunakan untuk merancang tindakan seterusnya.

Kunci Jalur dan Sesi

Dalam sistem berbilang pengguna, hadkan skop memori berdasarkan thread_id atau user_id supaya perbualan tidak pernah tertiris antara pengguna.

def get_history(thread_id):
    return store.get(thread_id, [])

def save(thread_id, messages):
    store[thread_id] = messages

Kekekalan

Supaya memori kekal selepas dimulakan semula, sandarkannya pada pangkalan data atau penyimpan titik semak, bukannya kamus dalam proses. LangGraph menyediakan penyimpan titik semak khusus untuk tujuan ini.

Menggabungkan Kesemuanya

Gabungkan penimbal perbualan yang dipangkas untuk maklumat terkini, memori ringkasan untuk bahagian pertengahan dan memori jangka panjang berasaskan vektor untuk fakta kekal, semuanya dikaitkan dengan sesi.

Semakan Pantas

Uji pemahaman anda tentang memori ejen.

Ringkasan

Anda telah menambahkan memori pada ejen:

  • Penimbal jangka pendek untuk sembang semasa
  • Memori ringkasan supaya muat dalam tetingkap konteks
  • Memori vektor jangka panjang untuk fakta kekal
  • Hadkan skop mengikut sesi dan kekalkan data untuk ketahanan
Percuma untuk bermula

Pelajari LangChain / RAG / Pangkalan Data Vektor 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
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Memori dan Keadaan dalam RAG Berasaskan Ejen” percuma?

Ya — teks penuh “Memori dan Keadaan dalam RAG Berasaskan Ejen” 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 LangChain / RAG / Pangkalan Data Vektor, tingkat taraf kepada CoddyKit PRO. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Memori dan Keadaan dalam RAG Berasaskan Ejen”?

Berikan ejen RAG anda memori jangka pendek dan jangka panjang supaya ia boleh mengekalkan perbualan dan mengingati fakta merentas giliran. Anda berlatih LangChain / RAG / Pangkalan Data Vektor 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 LangChain / RAG / Pangkalan Data Vektor?

Tiada pengalaman terdahulu diperlukan. Pembelajaran LangChain / RAG / Pangkalan Data Vektor 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 “Memori dan Keadaan dalam RAG Berasaskan Ejen” 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 LangChain / RAG / Pangkalan Data Vektor ini?

Ya. Setiap pelajaran LangChain / RAG / Pangkalan Data Vektor 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. Ejen LangChain dan Konsep Alat
  2. Membina Aliran Kerja RAG Berbilang Ejen
  3. Mengintegrasikan API Luaran sebagai Alat
  4. Memori dan Keadaan dalam RAG Berasaskan Ejen
← Kembali ke LangChain / RAG / Pangkalan Data Vektor