Docchat: Sistem Pengambilan Langchain
Aplikasi streamlit ini mengimplementasikan sistem pengambilan berbasis Langchain untuk memproses dokumen PDF dan melakukan pengambilan percakapan menggunakan kemampuan Langchain.
- Baca lebih lanjut : di sini
Arsitektur kain

Streamlit UI

Ringkasan
Aplikasi ini memungkinkan pengguna untuk mengunggah file PDF, mengekstrak teks, membaginya menjadi potongan -potongan, menghasilkan embeddings menggunakan embedding Google Palm, dan membuat rantai pengambilan percakapan. Pengguna kemudian dapat mengajukan pertanyaan terkait dengan konten PDF yang diproses dan menerima tanggapan berdasarkan pengaturan rantai percakapan.
Teknologi utama yang digunakan
- Langchain : Perpustakaan untuk tugas pemrosesan bahasa alami, termasuk pemisahan teks dan pengambilan percakapan.
- Google Palm Embeddings : Embeddings Digunakan untuk kesamaan semantik dan representasi teks.
- FAISS (Pencarian Kesamaan AI Facebook) : Perpustakaan yang efisien untuk pencarian kesamaan dan pengelompokan vektor padat.
Pengaturan Proyek
Prasyarat
Lingkungan Python : Pastikan Anda menginstal Python 3.x.
Variabel Lingkungan : Buat file .env di direktori root proyek dengan konten berikut: google_api_key = your_google_api_key_here ganti your_google_api_key_here dengan kunci API Google Anda yang sebenarnya.
Instalasi
- Klon The Repository : Kloning Repositori ini ke Mesin Lokal Anda:
git clone https://github.com/Varunv003/langchain-palm2-rag_application
- Mengatur Lingkungan Virtual : Disarankan untuk menggunakan lingkungan virtual untuk mengelola dependensi:
python -m venv venv
# On Windows: .venvScriptsactivate
# On macOS/Linux: source venv/bin/activate
- Instal Dependencies : Pasang paket Python yang diperlukan menggunakan PIP:
pip install -r requirements.txt
- Struktur Template : Untuk mengatur struktur folder awal proyek, jalankan:
python template.py
# This command will create necessary directories and files based on your project needs.
- Menjalankan aplikasi untuk menjalankan aplikasi streamLit:
streamlit run app.py
# The application will start, and you can access it in your web browser at http://localhost:8501.
Struktur file
- App.py : Kode aplikasi untung utama untuk mengunggah PDF, memprosesnya, dan mengelola interaksi pengguna.
- helper.py : Berisi fungsi helper untuk ekstraksi teks PDF, chunking teks, pembuatan toko vektor faiss, dan pengaturan rantai percakapan.
- template.py : skrip untuk menginisialisasi struktur folder dan membuat direktori/file yang diperlukan untuk proyek. .env: File variabel lingkungan untuk menyimpan data sensitif seperti kunci API.
Penggunaan
- Unggah File PDF: Gunakan sidebar "Unggah Data Anda" untuk mengunggah satu atau lebih file PDF.
- Proses PDFS: Klik "Kirim dan Proses" untuk mengekstrak teks, menghasilkan embeddings, dan mengatur rantai pengambilan percakapan.
- Ajukan Pertanyaan: Masukkan pertanyaan yang terkait dengan konten PDF yang diunggah di bidang Input Teks.
- Tampilan Respons: Respons yang dihasilkan oleh model percakapan Langchain akan ditampilkan di antarmuka utama.
- Logging: Logging diimplementasikan untuk menangkap langkah -langkah kunci dan waktu selama ekstraksi teks PDF, pengambilan teks, pembuatan toko vektor, dan pengaturan rantai percakapan. Log ditampilkan di konsol atau terminal di mana aplikasi dijalankan.
Perbaikan di masa depan
- Tingkatkan penanganan kesalahan dan umpan balik pengguna selama pengunggahan dan pemrosesan file.
- Tingkatkan skalabilitas dan optimisasi kinerja untuk menangani dokumen PDF yang lebih besar.
- Mengintegrasikan model AI tambahan atau memperbaiki model yang ada untuk respons percakapan yang lebih baik.