การค้นหาที่ขับเคลื่อนด้วย Augmented Generation (RAG)
txtchat สร้างแอปพลิเคชันการค้นหาที่ขับเคลื่อนด้วยโมเดลภาษา (RAG) และโมเดลภาษา
การเกิดขึ้นของโมเดลภาษาขนาดใหญ่ (LLM) ได้ผลักดันให้มีการค้นหารูปแบบใหม่ การค้นหาที่ขับเคลื่อนด้วย LLM สามารถทำได้มากกว่านี้ แทนที่จะนำผลลัพธ์กลับมา ขณะนี้การค้นหาสามารถแยก สรุป แปล และแปลงเนื้อหาให้เป็นคำตอบได้
txtchat เพิ่มชุดตัวแทนอัจฉริยะที่พร้อมใช้งานเพื่อรวมเข้ากับแพลตฟอร์มการรับส่งข้อความ เจ้าหน้าที่หรือบุคลิกเหล่านี้เชื่อมโยงกับบัญชีอัตโนมัติและตอบกลับข้อความด้วยการตอบกลับที่ขับเคลื่อนโดย AI เวิร์กโฟลว์สามารถใช้โมเดลภาษาขนาดใหญ่ (LLM) โมเดลขนาดเล็ก หรือทั้งสองอย่าง
txtchat สร้างด้วย Python 3.8+ และ txtai
วิธีติดตั้งที่ง่ายที่สุดคือผ่าน pip และ PyPI
pip install txtchat
คุณยังสามารถติดตั้ง txtchat ได้โดยตรงจาก GitHub แนะนำให้ใช้ Python Virtual Environment
pip install git+https://github.com/neuml/txtchat
รองรับ Python 3.8+
ดูลิงก์นี้เพื่อช่วยแก้ไขปัญหาการติดตั้งเฉพาะสภาพแวดล้อม
txtchat ได้รับการออกแบบและจะรองรับแพลตฟอร์มการส่งข้อความจำนวนหนึ่ง ปัจจุบัน Rocket.Chat เป็นแพลตฟอร์มเดียวที่ได้รับการสนับสนุน เนื่องจากสามารถติดตั้งได้ในสภาพแวดล้อมท้องถิ่นพร้อมกับได้รับใบอนุญาตจาก MIT วิธีที่ง่ายที่สุดในการเริ่มอินสแตนซ์ Rocket.Chat ในเครื่องคือการใช้ Docker Compose ดูคำแนะนำเหล่านี้สำหรับข้อมูลเพิ่มเติม
การขยาย txtchat ไปยังแพลตฟอร์มเพิ่มเติมจำเป็นต้องมีคลาสย่อย Agent ใหม่สำหรับแพลตฟอร์มนั้นเท่านั้น
บุคลิกคือการผสมผสานระหว่างตัวแทนการแชทและเวิร์กโฟลว์ที่กำหนดประเภทของการตอบกลับ ตัวแทนแต่ละรายเชื่อมโยงกับบัญชีในแพลตฟอร์มการส่งข้อความ เวิร์กโฟลว์ส่วนบุคคลนั้นไม่เชื่อเรื่องพระเจ้าบนแพลตฟอร์มการส่งข้อความ พื้นที่เก็บข้อมูล txtchat-persona มีรายการเวิร์กโฟลว์บุคคลมาตรฐาน
ดูไดเร็กทอรีตัวอย่างสำหรับการกำหนดค่าส่วนบุคคลและเวิร์กโฟลว์เพิ่มเติม
คำสั่งต่อไปนี้แสดงวิธีเริ่ม txtchat persona
# Set to server URL, this is default when running local
export AGENT_URL=ws://localhost:3000/websocket
export AGENT_USERNAME=<Rocket Chat User>
export AGENT_PASSWORD=<Rocket Chat User Password>
# YAML is loaded from Hugging Face Hub, can also reference local path
python -m txtchat.agent wikitalk.yml
ต้องการเพิ่มบุคลิกใหม่หรือไม่? เพียงสร้างเวิร์กโฟลว์ txtai และบันทึกลงในไฟล์ YAML
ต่อไปนี้เป็นรายการวิดีโอ YouTube ที่แสดงวิธีการทำงานของ txtchat วิดีโอเหล่านี้ดำเนินการชุดคำถามด้วยตัวบุคคลของ Wikitalk Wikitalk เป็นการผสมผสานระหว่างดัชนีการฝัง Wikipedia และ LLM พร้อมท์เพื่อตอบคำถาม
ทุกคำตอบจะแสดงการอ้างอิงที่เกี่ยวข้องกับแหล่งที่มาของข้อมูล Wikitalk จะบอกว่า "ฉันไม่มีข้อมูลเกี่ยวกับเรื่องนั้น" เมื่อไม่มีคำตอบ
สนทนากับ Wikitalk เกี่ยวกับประวัติศาสตร์
พูดคุยเกี่ยวกับกีฬา
คำถามเกี่ยวกับศิลปะและวัฒนธรรม
มาทดสอบ Wikitalk เกี่ยวกับวิทยาศาสตร์กันดีกว่า
ไม่ใช่ทุกเวิร์กโฟลว์จำเป็นต้องมี LLM มีโมเดลขนาดเล็กดีๆ มากมายให้เลือกใช้เพื่อทำงานเฉพาะด้าน บุคคลสรุปเพียงแค่อ่าน URL อินพุตและสรุปข้อความ
เช่นเดียวกับบุคลิกสรุป Mr. French เป็นบุคลิกเรียบง่ายที่แปลข้อความที่ป้อนเป็นภาษาฝรั่งเศส
ต้องการเชื่อมต่อ txtchat กับข้อมูลของคุณเองหรือไม่? สิ่งที่คุณต้องทำคือสร้างเวิร์กโฟลว์ txtai มาดูตัวอย่างการสร้างเวิร์กโฟลว์การจัดทำดัชนี Hacker News และบุคลิกของ txtchat กัน
ขั้นแรก เราจะกำหนดเวิร์กโฟลว์การจัดทำดัชนีและสร้างดัชนี นี้จะกระทำด้วยขั้นตอนการทำงานเพื่อความสะดวก หรืออาจเป็นโปรแกรม Python ที่สร้างดัชนีการฝังจากชุดข้อมูลของคุณ มีสมุดบันทึกตัวอย่างมากกว่า 50 รายการที่ครอบคลุมวิธีต่างๆ ในการรับข้อมูลเข้าสู่ txtai นอกจากนี้ยังมีตัวอย่างขั้นตอนการทำงานที่สามารถดาวน์โหลดได้จาก Hugging Face Space นี้
path : /tmp/hn
embeddings :
path : sentence-transformers/all-MiniLM-L6-v2
content : true
tabular :
idcolumn : url
textcolumns :
- title
workflow :
index :
tasks :
- batch : false
extract :
- hits
method : get
params :
tags : null
task : service
url : https://hn.algolia.com/api/v1/search?hitsPerPage=50
- action : tabular
- action : index
writable : true
เวิร์กโฟลว์นี้จะแยกวิเคราะห์ฟีดหน้าแรกของ Hacker News และสร้างดัชนีการฝังที่เส้นทาง /tmp/hn
รันเวิร์กโฟลว์ดังต่อไปนี้
from txtai . app import Application
app = Application ( "index.yml" )
list ( app . workflow ( "index" , [ "front_page" ]))
ตอนนี้เราจะกำหนดเวิร์กโฟลว์การแชทและเรียกใช้ในฐานะตัวแทน
path : /tmp/hn
writable : false
extractor :
path : google/flan-t5-xl
output : flatten
workflow :
search :
tasks :
- task : txtchat.task.Question
action : extractor
python -m txtchat.agent query.yml
มาคุยกับ Hacker News กันเถอะ!
อย่างที่คุณเห็น Hacker News เป็นแหล่งข้อมูลที่มีความคิดเห็นสูง!
การได้รับคำตอบเป็นสิ่งที่ดี แต่การได้คำตอบว่ามาจากไหนนั้นดีกว่า มาสร้างขั้นตอนการทำงานที่เพิ่มลิงก์อ้างอิงไปยังแต่ละคำตอบกันดีกว่า
path : /tmp/hn
writable : false
extractor :
path : google/flan-t5-xl
output : reference
workflow :
search :
tasks :
- task : txtchat.task.Question
action : extractor
- task : txtchat.task.Answer