โครงการนี้แสดงให้เห็นถึงความเป็นไปได้ของ LLM ส่วนบุคคล (หรือ LMM) ในฐานะผู้ช่วยส่วนตัว โดยก้าวให้ทันกับการเติบโตอย่างรวดเร็วของโมเดลเหล่านี้
เราได้นำเสนอวิธีการดึงข้อมูล-Augmented Generation (RAG) เพื่อเอาชนะข้อจำกัดของการปรับแต่งพร้อมท์แบบดั้งเดิมซึ่งมีขอบเขตบริบท และการปรับแต่งอย่างละเอียดซึ่งประสบปัญหาเกี่ยวกับการอัปเดตข้อมูลแบบเรียลไทม์และอาการประสาทหลอน
เดิมที RAG ถูกใช้เพื่อค้นหาฐานข้อมูล เช่น Chroma ผ่าน LangChain ในฐานะร้านค้า แต่วิธีนี้ทำงานภายในบริบทที่ตายตัว ซึ่งมีข้อจำกัด
ดังนั้นเราจึงวางแผนที่จะสร้างระบบ RAG ของเราเอง กระบวนการนี้อาจเกี่ยวข้องกับการจัดการปัญหาการอนุมานและการถดถอยที่ LangChain อาจเสนอ
เรามุ่งมั่นที่จะพัฒนาอย่างรวดเร็วและจะเปิดใช้งานความเข้ากันได้หลายภาษาในเร็วๆ นี้ ปัจจุบันระบบรองรับภาษาอังกฤษเต็มรูปแบบ โดยมีแผนจะรองรับภาษาเกาหลี ญี่ปุ่น และภาษาอื่นๆ เร็วๆ นี้ นอกจากนี้ ระบบการถดถอยและการอนุมานจะถูกรวมเข้าด้วยกันเร็วๆ นี้
หากต้องการรันการทดสอบ ให้รันคำสั่งต่อไปนี้
# start embeddings server
cd embd & pip install -r requirements.txt
python app.py
# start mindx-v server (vector-database)
# not using cgo, only assembly
cd mindx-v & go run cmd/mxvd/main.go
# start processor server
cd processor & go run cmd/main.go
# start demo client
cd sample_client & npm start
ในขั้นต้น ผู้ช่วยไม่รู้อะไรเลยเกี่ยวกับผู้ใช้ อย่างไรก็ตามผู้ใช้สามารถสอนผู้ช่วยเกี่ยวกับตนเองได้แบบเรียลไทม์ (เนื่องจากคุณลักษณะของ LLM จึงอาจเข้าใจผิดได้ว่าระบบจะจดจำเป็นสายโซ่การสนทนามากกว่าการเรียนรู้ จึงดำเนินการหลังจากรีเฟรชแล้ว) ข้อมูลที่เรียนรู้จะสะท้อนให้เห็นทันที และนี่ถือเป็นการปรับเปลี่ยนในแบบส่วนบุคคลครั้งแรกของผู้ช่วย
คุณสมบัติทั้งหมดนี้ของโปรเจ็กต์สามารถรองรับได้ในพื้นที่โดยไม่จำเป็นต้องรวมระบบคลาวด์ภายนอกหรือการเชื่อมต่ออินเทอร์เน็ต
query = protobuf . search_pb2 . SearchRequest (
dataset_id = dataset_id ,
query = get_image_embedding ( "./test_data/bad.png" ),
k = 1
)
results = search . Search ( query )
try :
for result in results :
print ( "Search result:" , result . id , result . metadata , result . score )
except grpc . RpcError as e :
print ( "Search failed:" , e )
query = protobuf . search_pb2 . SearchRequest (
dataset_id = dataset_id ,
query = get_image_embedding ( "./test_data/good.png" ),
k = 1
)
results = search . Search ( query )
try :
for result in results :
print ( "Search result:" , result . id , result . metadata , result . score )
except grpc . RpcError as e :
print ( "Search failed:" , e )