AnyChat: แชทด้วยเอกสารของคุณ
AnyChat เป็นแชทบอทที่ทรงพลังที่ให้คุณโต้ตอบกับเอกสารของคุณ (PDF, TXT, DOCX, ODT, PPTX, CSV ฯลฯ ) ด้วยวิธีการสนทนาที่เป็นธรรมชาติ มันใช้ประโยชน์จากความสามารถของ LangChain, Ollama, Groq, Gemini และ Streamlit เพื่อมอบประสบการณ์ที่ใช้งานง่ายและให้ข้อมูล
แชทบอท-20_04_24.mp4
คุณสมบัติ
- การโต้ตอบเชิงสนทนา: ถามคำถามเกี่ยวกับเอกสารของคุณและรับคำตอบที่เหมือนมนุษย์จากแชทบอท
- รองรับหลายเอกสาร: อัปโหลดและประมวลผลรูปแบบเอกสารต่าง ๆ รวมถึง PDF, ไฟล์ข้อความ, เอกสาร Word, สเปรดชีต และการนำเสนอ
- การสนับสนุนการแชทเว็บไซต์: แชทกับเว็บไซต์ที่ถูกต้อง
- โมเดลภาษาขั้นสูง: เลือกจากโมเดลภาษาต่างๆ (LLM) เช่น Ollama, Groq และ Gemini เพื่อขับเคลื่อนการตอบสนองของแชทบอท
- โมเดลการฝัง: เลือกจากการฝัง Ollama หรือ GooglePalm Embeddings เพื่อเพิ่มความเข้าใจของแชทบอทในเอกสารของคุณ
- ส่วนต่อประสานที่ใช้งานง่าย: Streamlit มอบส่วนต่อประสานที่สะอาดและใช้งานง่ายสำหรับการโต้ตอบกับแชทบอท
การติดตั้ง
ข้อกำหนดเบื้องต้น
- Python 3.10 หรือสูงกว่า
- สภาพแวดล้อมเสมือน (แนะนำ)
โคลนพื้นที่เก็บข้อมูล
โคลนที่เก็บ AnyChat จาก GitHub:
git clone https://github.com/shitan198u/AnyChat.git
นำทางไปยังไดเร็กทอรีการทำงาน
ใช้ Rye
(แนะนำ)
ติดตั้งตัวจัดการแพ็คเกจ Rye: คู่มือการติดตั้ง
ซิงค์โครงการ:
การใช้ venv
- สร้างสภาพแวดล้อมเสมือน:
python -m venv anychat-env
- เปิดใช้งานสภาพแวดล้อมเสมือน:
source anychat-env/bin/activate
- ติดตั้งการพึ่งพาที่จำเป็น:
pip install -r requirements.txt
การใช้ conda
- สร้างสภาพแวดล้อม conda:
conda create -n anychat-env python=3.12
- เปิดใช้งานสภาพแวดล้อม conda:
conda activate anychat-env
- ติดตั้งการพึ่งพาที่จำเป็น:
conda install --file requirements.txt
การกำหนดค่า
- เปลี่ยนชื่อไฟล์
secrets_example.toml
เป็น secrets.toml
ในไดเร็กทอรี src/anychat/.streamlit/
การติดตั้งโอลามะ
หากต้องการใช้ Ollama สำหรับ AnyChat คุณต้องติดตั้ง Ollama และดาวน์โหลดโมเดลที่จำเป็น ทำตามคำแนะนำด้านล่าง:
- ติดตั้ง Ollama:
เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ Ollama เพื่อดูคำแนะนำในการติดตั้ง: ดาวน์โหลด Ollama
- ดาวน์โหลดโมเดล Ollama:
เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้เพื่อดาวน์โหลดโมเดลที่ต้องการ:
ollama pull nomic-embed-text
คำสั่งนี้จะดาวน์โหลดโมเดล nomic-embed-text
ซึ่งจำเป็นสำหรับการรันการฝัง Ollama
คำสั่งนี้จะดาวน์โหลดโมเดล openchat
ซึ่งคุณสามารถใช้เป็นโมเดลภาษาใน AnyChat ได้
การใช้งาน
- ตั้งค่าคีย์ API:
- หากคุณใช้ Google Gemini หรือ Groq ให้รับคีย์ API ที่จำเป็นและเก็บไว้อย่างปลอดภัยในไฟล์
src/anychat/.streamlit/secrets.toml
หรืออัปโหลดในอินเทอร์เฟซแชทบอต
- เรียกใช้แอปพลิเคชัน:
cd src/anychat
streamlit run chatbot.py
- การใช้ไรย์
cd src/anychat
rye run streamlit run chatbot.py
- อัพโหลดเอกสาร:
- ในอินเทอร์เฟซ Streamlit ให้อัปโหลดเอกสารที่คุณต้องการสนทนาด้วย
- คลิกปุ่ม "ดำเนินการ" เพื่อประมวลผลเอกสาร
- เริ่มแชท:
- เมื่อเอกสารได้รับการประมวลผลแล้ว คุณสามารถเริ่มถามคำถามในช่องป้อนข้อมูลแชทได้
- แชทบอทจะวิเคราะห์เอกสารของคุณและให้คำตอบที่เกี่ยวข้องตามเนื้อหา
ใบอนุญาต
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ LICENSE
สำหรับรายละเอียด
หมายเหตุเพิ่มเติม
- เพื่อประสิทธิภาพสูงสุด ตรวจสอบให้แน่ใจว่าคุณมีทรัพยากรที่จำเป็น (CPU, RAM) เพื่อรองรับการประมวลผลเอกสารและการคำนวณ LLM
- ความแม่นยำและการตอบสนองของแชทบอทอาจแตกต่างกันไปขึ้นอยู่กับความซับซ้อนของเอกสารของคุณและ LLM ที่เลือก
- พิจารณาใช้สภาพแวดล้อมที่เปิดใช้งาน GPU หากคุณมีสิทธิ์เข้าถึง เนื่องจากสภาพแวดล้อมดังกล่าวสามารถเร่งการประมวลผลได้อย่างมาก