โครงการนี้เป็น ระบบ Generation-Augmented Generation (RAG) การสนทนา ที่ช่วยให้ผู้ใช้สามารถอัปโหลดไฟล์ PDF แยกเนื้อหาและถามคำถามเกี่ยวกับเนื้อหาที่อัปโหลด ระบบติดตามประวัติการแชทและตั้งคำถามตามบริบทตามการสนทนาที่ผ่านมาเพื่อให้คำตอบที่เกี่ยวข้อง
แอปพลิเคชันถูกสร้างขึ้นด้วย streamlit สำหรับส่วนต่อประสานผู้ใช้รวม GROQ สำหรับ LLM (โมเดลภาษา) และ Chroma เป็นที่เก็บเวกเตอร์เพื่อจัดการกับการฝังเอกสารและการดึงข้อมูล กระแสการสนทนาได้รับการบำรุงรักษาด้วยประวัติการแชทเพื่อเปิดใช้งานการตอบคำถาม
HuggingFaceEmbeddings เพื่อสร้างเอกสารฝังตัวและดึงเนื้อหาที่เกี่ยวข้อง ในการเรียกใช้โครงการนี้คุณต้องมีสิ่งต่อไปนี้:
โคลนที่เก็บ:
git clone https://github.com/yourusername/conversational-rag-with-pdf.git
cd conversational-rag-with-pdfสร้างสภาพแวดล้อมเสมือนจริง:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`ติดตั้งการพึ่งพาที่ต้องการ:
pip install -r requirements.txtตั้งค่าตัวแปรสภาพแวดล้อม:
สร้างไฟล์ .env ในไดเรกทอรีรูทและเพิ่มปุ่ม API ของคุณ:
touch .env ภายในไฟล์ .env เพิ่มสิ่งต่อไปนี้:
HF_TOKEN=your_huggingface_token
GROQ_API_KEY=your_groq_api_keyเรียกใช้แอปพลิเคชัน:
streamlit run utils.pyเมื่อคุณเปิดแอพคุณจะต้องป้อนคีย์ GROQ API ของคุณก่อน สิ่งนี้จำเป็นสำหรับการสร้างแบบจำลองภาษาและการตอบคำถาม
คลิกที่ปุ่ม เลือกไฟล์ PDF เพื่ออัปโหลดไฟล์ PDF หนึ่งไฟล์ขึ้นไป เนื้อหาจาก PDF จะถูกประมวลผลและแบ่งออกเป็นชิ้นเพื่อการดึงที่มีประสิทธิภาพ
หลังจากอัปโหลด PDFS คุณสามารถถามคำถามที่เกี่ยวข้องกับเนื้อหาของไฟล์ที่อัปโหลดได้ ผู้ช่วยจะตอบตามบริบทที่จัดทำโดย PDF และประวัติการแชทก่อนหน้า
ระบบติดตามประวัติการสนทนา คุณสามารถดูประวัติเซสชันและผู้ช่วยใช้ประวัตินี้เพื่อตอบคำถามติดตามผลในบริบท
Gemma2-9b-Itหากคุณพบปัญหาเช่นข้อผิดพลาดคีย์ API หรือปัญหาการอัปโหลดไฟล์ตรวจสอบให้แน่ใจว่า:
pip install -r requirements.txt