GTUtor: ระบบแชทหลายเรื่องแบบไดนามิก
GTUtor เป็นระบบการสอนอัจฉริยะที่ออกแบบมาโดยเฉพาะสำหรับนักศึกษามหาวิทยาลัยเทคโนโลยีคุชราต (GTU) โดยผสมผสานพลังของ Gemini Pro AI ของ Google เข้ากับระบบความรู้ตามเอกสาร เพื่อให้การตอบสนองที่แม่นยำและคำนึงถึงบริบทในหลายๆ วิชา
คุณสมบัติ
- การสนับสนุนหลายวิชา : สร้างและจัดการหลายวิชาด้วยฐานความรู้ที่เป็นอิสระ
- - การรวมเอกสาร : อัปโหลดเอกสาร PDF หรือระบุ URL เพื่อปรับปรุงฐานความรู้
- อินเทอร์เฟซการแชทอัจฉริยะ : ระบบการสนทนาแบบไดนามิกพร้อมการติดตามประวัติ
- - การตอบสนองตามบริบท : รวมความรู้ด้านเอกสารเข้ากับความสามารถของ Gemini Pro
- การจัดการฐานข้อมูล : เครื่องมือในตัวสำหรับจัดการฐานข้อมูลเอกสารสำหรับแต่ละวิชา
- - GTU-Focused : ออกแบบมาเฉพาะสำหรับหลักสูตรและหลักสูตรของ GTU
- - ที่เก็บข้อมูลถาวร : บันทึกประวัติการแชทและข้อมูลหัวเรื่องโดยอัตโนมัติ
- - ฟังก์ชั่นการคัดลอก : คัดลอกคำถามและคำตอบได้ง่าย
การติดตั้ง
- โคลนที่เก็บ:
git clone https://github.com/pruthakjani5/GTUtor.git
cd gtutor
- สร้างสภาพแวดล้อมเสมือนและเปิดใช้งาน:
python -m venv venv
source venv/bin/activate # On Windows: venvScriptsactivate
- ติดตั้งการพึ่งพาที่จำเป็น:
pip install -r requirements.txt
- สร้างไฟล์
.env
ในรูทโปรเจ็กต์และเพิ่มคีย์ Gemini API ของคุณ:
GEMINI_API_KEY=your_api_key_here
หากคุณต้องการการตั้งค่าใหม่โดยไม่มีฐานข้อมูลทดลองและการแชทก่อนหน้า ให้ลบโฟลเดอร์ "gtutor_data" การรัน app.py จะสร้างโฟลเดอร์ใหม่
การพึ่งพาที่จำเป็น
- สตรีมไลท์
- คำขอ
- pypdf
- Google-Generativeai
- โครมาดบ์
- หลาม-dotenv
- เทมไฟล์
- มาร์กดาวน์
- คลิปบอร์ด
การใช้งาน
- เริ่มแอปพลิเคชัน Streamlit:
เข้าถึงแอปพลิเคชันผ่านเว็บเบราว์เซอร์ของคุณ (โดยทั่วไปอยู่ที่ http://localhost:8501
)
เลือกหรือสร้างหัวเรื่องจากเมนูแบบเลื่อนลง
อัปโหลดเอกสาร PDF หรือระบุ URL ของ PDF เพื่อสร้างฐานความรู้ของวิชา
เริ่มถามคำถามในอินเทอร์เฟซการแชท
คุณสมบัติในรายละเอียด
การจัดการเรื่อง
- สร้างหัวข้อใหม่
- ลบวิชาที่มีอยู่
- ล้างฐานข้อมูลเรื่อง
- ติดตามจำนวนเอกสารต่อเรื่อง
การจัดการเอกสาร
- อัปโหลดไฟล์ PDF (สูงสุด 10MB)
- เพิ่มเอกสารผ่าน URL
- การแยกและการแยกข้อความอัตโนมัติ
- การจัดเก็บข้อมูลเอกสารอย่างต่อเนื่อง
อินเตอร์เฟซการแชท
- การตอบคำถามแบบเรียลไทม์
- การติดตามประวัติการแชท
- คัดลอกคำถามและคำตอบ
- ลบข้อความแต่ละรายการ
- เริ่มการสนทนาใหม่
- UI ที่ได้รับการปรับปรุงพร้อมอวตารของผู้ใช้/บอท
การสร้างคำตอบ
- การตอบกลับตามบริบทโดยใช้เอกสารที่อัปโหลด
- ถอยกลับไปใช้ความรู้ของ Gemini Pro เมื่อจำเป็น
- คำตอบที่มีโครงสร้างและรูปแบบ
- น้ำเสียงทางวิชาการที่เน้นหลักสูตร GTU
โครงสร้างโครงการ
gtutor/
├── app.py # Main application file
├── .env # Environment variables
├── requirements.txt # Project dependencies
└── gtutor_data/ # Data directory
├── dbs/ # Subject databases
├── chat_histories/ # Conversation histories
└── subjects.json # Subject list
การดำเนินการทางเทคนิค
- การประมวลผลเอกสาร : ใช้
pypdf
สำหรับการแยกข้อความ PDF พร้อมการแบ่งส่วนอัตโนมัติ - ฐานข้อมูลเวกเตอร์ : ใช้
chromadb
เพื่อการจัดเก็บและเรียกค้นข้อความที่มีประสิทธิภาพ - UI Framework : สร้างด้วย
streamlit
สำหรับเว็บอินเตอร์เฟสที่ตอบสนอง - การรวม AI : ใช้ Gemini Pro API ของ Google เพื่อการตอบสนองที่ชาญฉลาด
- ความคงอยู่ของข้อมูล : พื้นที่เก็บข้อมูลที่ใช้ JSON สำหรับประวัติการแชทและข้อมูลหัวเรื่อง
- การสนับสนุน Markdown : การจัดรูปแบบข้อความที่ได้รับการปรับปรุงสำหรับการตอบกลับ
มีส่วนร่วม
ยินดีบริจาค! โปรดส่งคำขอดึง
ใบอนุญาต
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT - ดูรายละเอียดในไฟล์ใบอนุญาต
รับทราบ
- Google Generative AI สำหรับ Gemini Pro API
- Streamlit สำหรับกรอบงานเว็บ
- ChromaDB สำหรับการนำฐานข้อมูลเวกเตอร์ไปใช้
สนับสนุน
สำหรับการสนับสนุนและคำถาม โปรดเปิดปัญหาในพื้นที่เก็บข้อมูล GitHub หรือติดต่อผู้ดูแล