Incarnamind ช่วยให้คุณสามารถแชทกับเอกสารส่วนตัวของคุณได้หรือไม่? (PDF, TXT) โดยใช้แบบจำลองภาษาขนาดใหญ่ (LLM) เช่น GPT (ภาพรวมสถาปัตยกรรม) ในขณะที่ OpenAI เพิ่งเปิดตัว API การปรับแต่งสำหรับรุ่น GPT แต่ก็ไม่ได้เปิดใช้งานโมเดลที่ผ่านการฝึกอบรมพื้นฐานเพื่อเรียนรู้ข้อมูลใหม่และการตอบสนองอาจมีแนวโน้มที่จะเกิดภาพหลอนที่เป็นจริง ใช้ประโยชน์จากกลไกการใช้หน้าต่างแบบเลื่อนของเราและชุดรีทรีฟเวอร์ช่วยให้การสอบถามที่มีประสิทธิภาพของข้อมูลทั้งเนื้อละเอียดและหยาบภายในเอกสารความจริงภาคพื้นดินของคุณเพื่อเพิ่ม LLMS
อย่าลังเลที่จะใช้งานและเรายินดีรับข้อเสนอแนะและคำแนะนำคุณสมบัติใหม่ ๆ หรือไม่?
นี่คือตารางเปรียบเทียบของรุ่นต่าง ๆ ที่ฉันทดสอบสำหรับการอ้างอิงเท่านั้น:
ตัวชี้วัด | GPT-4 | GPT-3.5 | Claude 2.0 | LLAMA2-70B | llama2-70b-gguf | llama2-70b-api |
---|---|---|---|---|---|---|
การให้เหตุผล | สูง | ปานกลาง | สูง | ปานกลาง | ปานกลาง | ปานกลาง |
ความเร็ว | ปานกลาง | สูง | ปานกลาง | ต่ำมาก | ต่ำ | ปานกลาง |
GPU RAM | N/A | N/A | N/A | สูงมาก | สูง | N/A |
ความปลอดภัย | ต่ำ | ต่ำ | ต่ำ | สูง | สูง | ต่ำ |
chunking แก้ไข : เครื่องมือ RAG แบบดั้งเดิมนั้นขึ้นอยู่กับขนาดก้อนคงที่ จำกัด การปรับตัวในการจัดการความซับซ้อนของข้อมูลและบริบทที่แตกต่างกัน
ความแม่นยำเทียบกับความหมาย : วิธีการดึงข้อมูลในปัจจุบันมักจะมุ่งเน้นไปที่ความเข้าใจทางความหมายหรือการดึงที่แม่นยำ แต่ไม่ค่อยมีทั้งสองอย่าง
ข้อ จำกัด ของเอกสารเดียว : โซลูชันจำนวนมากสามารถสอบถามเอกสารทีละเอกสารได้เพียงครั้งเดียวโดย จำกัด การดึงข้อมูลหลายเอกสาร
ความเสถียร : Incarnamind เข้ากันได้กับ Openai GPT, มานุษยวิทยา Claude, Llama2 และ LLMs โอเพนซอร์ซอื่น ๆ เพื่อให้มั่นใจว่าการแยกวิเคราะห์ที่มั่นคง
Adaptive Chunking : เทคนิคการใช้หน้าต่างบานเลื่อนของเราปรับขนาดและตำแหน่งของหน้าต่างแบบไดนามิกสำหรับ RAG การปรับสมดุลการเข้าถึงข้อมูลที่ละเอียดและหยาบตามความซับซ้อนของข้อมูลและบริบท
การสนทนาหลายเอกสาร QA : รองรับการสืบค้นแบบง่าย ๆ และหลายแบบหลายรายการในหลาย ๆ เอกสารพร้อมกันทำลายข้อ จำกัด ของเอกสารเดียว
ความเข้ากันได้ของไฟล์ : รองรับทั้งรูปแบบไฟล์ PDF และ TXT
ความเข้ากันได้ของรุ่น LLM : รองรับ OpenAI GPT, มานุษยวิทยา Claude, LLAMA2 และ LLMS โอเพนซอร์ซอื่น ๆ
การติดตั้งนั้นง่ายคุณเพียงแค่เรียกใช้คำสั่งไม่กี่คำ
git clone https://github.com/junruxiong/IncarnaMind
cd IncarnaMind
สร้างสภาพแวดล้อมเสมือน Conda:
conda create -n IncarnaMind python=3.10
เปิดใช้งาน:
conda activate IncarnaMind
ติดตั้งข้อกำหนดทั้งหมด:
pip install -r requirements.txt
ติดตั้ง LLAMA-CPP Seperatly หากคุณต้องการเรียกใช้ LLMS ในพื้นที่เชิงปริมาณ:
NVIDIA
GPU ให้ใช้ cuBLAS
CMAKE_ARGS= " -DLLAMA_CUBLAS=on " FORCE_CMAKE=1 pip install llama-cpp-python==0.1.83 --no-cache-dir
M1/M2
) ใช้ CMAKE_ARGS= " -DLLAMA_METAL=on " FORCE_CMAKE=1 pip install llama-cpp-python==0.1.83 --no-cache-dir
ตั้งค่าปุ่ม API หนึ่ง/ทั้งหมดของคุณในไฟล์ configparser.ini :
[tokens]
OPENAI_API_KEY = (replace_me)
ANTHROPIC_API_KEY = (replace_me)
TOGETHER_API_KEY = (replace_me)
# if you use full Meta-Llama models, you may need Huggingface token to access.
HUGGINGFACE_TOKEN = (replace_me)
(ไม่บังคับ) การตั้งค่าพารามิเตอร์ที่กำหนดเองของคุณในไฟล์ configparser.ini :
[parameters]
PARAMETERS 1 = (replace_me)
PARAMETERS 2 = (replace_me)
...
PARAMETERS n = (replace_me)
ใส่ไฟล์ทั้งหมดของคุณ (โปรดตั้งชื่อแต่ละไฟล์อย่างถูกต้องเพื่อเพิ่มประสิทธิภาพสูงสุด) ลงในไดเรกทอรี /ข้อมูล และเรียกใช้คำสั่งต่อไปนี้เพื่อป้อนข้อมูลทั้งหมด: (คุณสามารถลบไฟล์ตัวอย่างในไดเรกทอรี /ข้อมูล ก่อนเรียกใช้คำสั่ง)
python docs2db.py
ในการเริ่มการสนทนาให้เรียกใช้คำสั่งเช่น:
python main.py
รอให้สคริปต์ต้องการอินพุตของคุณเช่นด้านล่าง
Human:
เมื่อคุณเริ่มการแชทระบบจะสร้างไฟล์ incarnamind.log โดยอัตโนมัติ หากคุณต้องการแก้ไขการบันทึกโปรดแก้ไขในไฟล์ configparser.ini
[logging]
enabled = True
level = INFO
filename = IncarnaMind.log
format = %(asctime)s [%(levelname)s] %(name)s: %(message)s
ขอขอบคุณเป็นพิเศษกับ Langchain, Chroma DB, LocalGPT, Llama-CPP สำหรับการมีส่วนร่วมอันล้ำค่าของพวกเขาในชุมชนโอเพ่นซอร์ส งานของพวกเขามีประโยชน์ในการทำให้โครงการ Incarnamind เป็นจริง
หากคุณต้องการอ้างอิงงานของเราโปรดใช้รายการ Bibtex ต่อไปนี้:
@misc { IncarnaMind2023 ,
author = { Junru Xiong } ,
title = { IncarnaMind } ,
year = { 2023 } ,
publisher = { GitHub } ,
journal = { GitHub Repository } ,
howpublished = { url{https://github.com/junruxiong/IncarnaMind} }
}
ใบอนุญาต Apache 2.0