
เครื่องมือรหัสต่ำเพื่อสร้างและประสานงานทีมหลาย ๆ ทีมอย่างรวดเร็ว

คำเตือน
โครงการนี้อยู่ระหว่างการพัฒนาอย่างหนัก โปรดทราบว่าการเปลี่ยนแปลงที่สำคัญอาจเกิดขึ้น
คุณเคยได้ยินคำพูดว่า 'สองจิตใจดีกว่าหนึ่ง' หรือไม่? นั่นเป็นเรื่องจริงสำหรับตัวแทนเช่นกัน เผ่าใช้ประโยชน์จากกรอบ Langgraph เพื่อให้คุณปรับแต่งและประสานงานทีมตัวแทนได้อย่างง่ายดาย ด้วยการแยกงานที่ยากลำบากระหว่างตัวแทนที่ดีในสิ่งต่าง ๆ แต่ละคนสามารถมุ่งเน้นไปที่สิ่งที่ดีที่สุด สิ่งนี้ทำให้การแก้ปัญหาเร็วขึ้นและดีขึ้น
โดยการร่วมมือกันตัวแทนสามารถทำงานที่ซับซ้อนมากขึ้น นี่คือตัวอย่างบางส่วนของสิ่งที่พวกเขาสามารถทำได้ร่วมกัน:
และอีกมากมาย!
ก่อนที่จะปรับใช้ให้แน่ใจว่าคุณเปลี่ยนค่าอย่างน้อย:
SECRET_KEYFIRST_SUPERUSER_PASSWORDPOSTGRES_PASSWORDคุณสามารถ (และควร) ผ่านสิ่งเหล่านี้เป็นตัวแปรสภาพแวดล้อมจากความลับ
ตัวแปรสภาพแวดล้อมบางอย่างในไฟล์ .env มีค่าเริ่มต้นของ changethis
คุณต้องเปลี่ยนด้วยคีย์ลับเพื่อสร้างคีย์ลับคุณสามารถเรียกใช้คำสั่งต่อไปนี้:
python -c " import secrets; print(secrets.token_urlsafe(32)) "คัดลอกเนื้อหาและใช้เป็นรหัสผ่าน / คีย์ลับ และเรียกใช้อีกครั้งเพื่อสร้างคีย์ที่ปลอดภัยอื่น
ลุกขึ้นและเริ่มต้นภายในไม่กี่นาทีบนเครื่องในพื้นที่ของคุณ
ปรับใช้เผ่าบนเซิร์ฟเวอร์ระยะไกลของคุณ
ในเวิร์กโฟลว์ตามลำดับตัวแทนของคุณจะถูกจัดเรียงตามลำดับอย่างเป็นระเบียบและดำเนินการงานหนึ่งหลังจากนั้นอีก แต่ละงานสามารถขึ้นอยู่กับงานก่อนหน้า สิ่งนี้มีประโยชน์หากคุณต้องการให้งานเสร็จสิ้นหลังจากนั้นอีกครั้งในลำดับที่กำหนด
ใช้สิ่งนี้ถ้า:
ในเวิร์กโฟลว์แบบลำดับชั้นตัวแทนของคุณถูกจัดระเบียบเป็นโครงสร้างเหมือนทีมประกอบด้วย 'หัวหน้าทีม' 'สมาชิกในทีม' และแม้แต่ 'ผู้นำทีมย่อย' อื่น ๆ หัวหน้าทีมแบ่งงานออกเป็นงานเล็ก ๆ และมอบหมายให้สมาชิกในทีม หลังจากที่สมาชิกในทีมทำงานเหล่านี้ให้เสร็จสิ้นการตอบสนองของพวกเขาจะถูกส่งผ่านไปยังหัวหน้าทีมซึ่งเลือกที่จะส่งคืนการตอบกลับไปยังผู้ใช้หรือมอบหมายงานเพิ่มเติม
ใช้สิ่งนี้ถ้า:
ทักษะคือความสามารถที่คุณสามารถจัดให้ตัวแทนของคุณมีปฏิสัมพันธ์กับโลก ตัวอย่างเช่นคุณสามารถให้ทักษะในการตรวจสอบสภาพอากาศปัจจุบันหรือค้นหาเว็บเพื่อรับข่าวสารล่าสุด โดยค่าเริ่มต้น Tribe มีสามทักษะ:
คุณอาจต้องการสร้างทักษะที่กำหนดเองซึ่งสามารถทำได้สองวิธี: โดยใช้คำจำกัดความฟังก์ชั่นสำหรับคำขอ HTTP อย่างง่ายหรือโดยการเขียนทักษะที่กำหนดเองใน Codebase
หากทักษะของคุณเกี่ยวข้องกับการดำเนินการตามคำขอ HTTP เพื่อดึงข้อมูลหรืออัปเดตข้อมูลการใช้คำจำกัดความทักษะเป็นวิธีที่ง่ายที่สุด ในเผ่าเริ่มต้นด้วยการนำทางไปยังแท็บ 'ทักษะ' และคลิกปุ่ม 'เพิ่มทักษะ' จากนั้นคุณจะได้รับแจ้งให้ให้คำจำกัดความทักษะซึ่งสั่งให้ตัวแทนของคุณเกี่ยวกับวิธีการดำเนินการทักษะเฉพาะ คำจำกัดความนี้ควรมีโครงสร้างดังนี้:
{
"url" : " https://example.com " ,
"method" : " GET " ,
"headers" : {},
"type" : " function " ,
"function" : {
"name" : " Your skill name " ,
"description" : " Your skill description " ,
"parameters" : {
"type" : " object " ,
"properties" : {
"param1" : {
"type" : " integer " ,
"description" : " Description of the first parameter "
},
"param2" : {
"type" : " string " ,
"enum" : [ " option1 " ],
"description" : " Description of the second parameter "
}
},
"required" : [ " param1 " , " param2 " ]
}
}
}| สำคัญ | คำอธิบาย |
|---|---|
url | URL ปลายทางสำหรับการโทร API |
method | วิธี HTTP ที่ใช้สำหรับการร้องขอ สามารถ GET POST PUT PATCH หรือ DELETE |
headers | ส่วนหัว HTTP ใด ๆ ที่จะรวมไว้ในคำขอ |
function | มีรายละเอียดเกี่ยวกับทักษะ: |
function > name | ชื่อของทักษะ ปฏิบัติตามกฎเหล่านี้: มีเพียงตัวอักษร (AZ, AZ), ตัวเลข (0-9), ขีดเส้นใต้ (_), และยัติภังค์ (-) ได้รับอนุญาต; ต้องมีความยาวระหว่าง 1 ถึง 64 อักขระ |
function > description | อธิบายทักษะในการแจ้งตัวแทนเกี่ยวกับการใช้งาน |
function > parameters | รายละเอียดเกี่ยวกับพารามิเตอร์ที่ API ยอมรับ |
properties > param | ชื่อของการสืบค้นหรือพารามิเตอร์ร่างกาย สำหรับวิธี GET นี่จะเป็นพารามิเตอร์แบบสอบถาม สำหรับ POST , PUT , PATCH และ DELETE มันจะอยู่ในร่างกายคำขอ |
param > type | ระบุประเภทของพารามิเตอร์ซึ่งสามารถเป็น string number integer หรือ boolean |
param > description | ให้บริบทเกี่ยวกับวัตถุประสงค์ของพารามิเตอร์ |
param > enum | เลือกรวมอาร์เรย์เพื่อ จำกัด เอเจนต์เพื่อเลือกจากค่าที่กำหนดไว้ล่วงหน้า |
parameters > required | แสดงรายการพารามิเตอร์ที่จำเป็นเพื่อให้แน่ใจว่าพวกเขาจะรวมอยู่ในคำขอ API เสมอ |
สำหรับงานที่ซับซ้อนยิ่งขึ้นซึ่งขยายเกินกว่าคำขอ HTTP ที่เรียบง่าย Langchain ช่วยให้คุณพัฒนาเครื่องมือขั้นสูงมากขึ้น คุณสามารถรวมเครื่องมือเหล่านี้เข้ากับเผ่าโดยเพิ่มลงในพจนานุกรม managed_skills สำหรับตัวอย่างที่ใช้งานได้จริงโปรดดูเครื่องมือเครื่องคิดเลขสาธิต หากต้องการเรียนรู้วิธีสร้างเครื่องมือ Langchain โปรดปรึกษาเอกสารของพวกเขา
หลังจากสร้างเครื่องมือใหม่ให้รีสตาร์ทแอปพลิเคชันเพื่อให้แน่ใจว่าเครื่องมือถูกโหลดลงในฐานข้อมูลอย่างถูกต้อง ในทำนองเดียวกันหากคุณต้องการลบเครื่องมือให้ลบออกจากพจนานุกรม managed_skills และรีสตาร์ทแอปพลิเคชันเพื่อให้แน่ใจว่าถูกลบออกจากฐานข้อมูล โปรดทราบว่าเครื่องมือที่สร้างขึ้นด้วยวิธีนี้มีให้สำหรับผู้ใช้ทุกคนในแอปพลิเคชันของคุณ
RAG เป็นเทคนิคในการเพิ่มความรู้ตัวแทนของคุณด้วยข้อมูลเพิ่มเติม ตัวแทนสามารถให้เหตุผลเกี่ยวกับหัวข้อที่หลากหลาย แต่ความรู้ของพวกเขา จำกัด เฉพาะข้อมูลสาธารณะจนถึงจุดที่พวกเขาได้รับการฝึกฝน หากคุณต้องการให้ตัวแทนของคุณให้เหตุผลเกี่ยวกับข้อมูลส่วนตัวเผ่าอนุญาตให้คุณอัปโหลดข้อมูลของคุณและเลือกข้อมูลที่จะรวมไว้ในฐานความรู้ของตัวแทนของคุณ สิ่งนี้ช่วยให้ตัวแทนของคุณมีเหตุผลกับข้อมูลที่เลือกและช่วยให้คุณสร้างตัวแทนที่แตกต่างกันด้วยความรู้พิเศษ
โดยค่าเริ่มต้น Tribe ใช้ BAAI/bge-small-en-v1.5 ซึ่งเป็นรูปแบบการฝังภาษาอังกฤษที่เบาและรวดเร็วซึ่งดีกว่า OpenAI Ada-002 หากเอกสารของคุณมีหลายภาษาหรือต้องการการฝังอิมเมจคุณอาจต้องการใช้รูปแบบการฝังตัวอื่น คุณสามารถทำได้อย่างง่ายดายโดยการเปลี่ยน DENSE_EMBEDDING_MODEL ในไฟล์ .env ของคุณ:
# See the list of supported models: https://qdrant.github.io/fastembed/examples/Supported_Models/
DENSE_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5 # Change this คำเตือน
หากโมเดลการฝังที่มีอยู่และใหม่ของคุณมีขนาดเวกเตอร์ที่แตกต่างกันคุณอาจต้องสร้างคอลเล็กชัน QDRANT ของคุณใหม่ คุณสามารถลบคอลเลกชันผ่านแดชบอร์ด Qdrant ได้ที่ http: //qdrant.localhost/dashboard ดังนั้นจึงเป็นการดีกว่าที่จะวางแผนล่วงหน้ารูปแบบการฝังที่เหมาะสมที่สุดสำหรับเวิร์กโฟลว์ของคุณ
โมเดลโอเพ่นซอร์สกำลังถูกกว่าและง่ายต่อการทำงานและบางคนก็ตรงกับประสิทธิภาพของรุ่นปิด คุณอาจต้องการใช้พวกเขาเพื่อความเป็นส่วนตัวและผลประโยชน์ด้านต้นทุน หากคุณใช้เผ่าในพื้นที่และต้องการใช้โมเดลโอเพ่นซอร์สฉันขอแนะนำ Ollama เพื่อความสะดวกในการใช้งาน
ollamallama3.1:8b ) ลงในฟิลด์อินพุตโมเดลhttp://host.docker.internal:11434 ซึ่งแผนที่ไปที่ https://localhost:11434 การตั้งค่านี้อนุญาตให้เผ่าสื่อสารกับโฮสต์ Ollama เริ่มต้น หากการตั้งค่าของคุณใช้โฮสต์อื่นให้ระบุโฮสต์ใหม่ในฟิลด์อินพุต 'Base URL' มีโมเดลโอเพ่นซอร์สหลายร้อยรุ่นในห้องสมุดของ Ollama ที่เหมาะสำหรับงานที่แตกต่างกัน นี่คือวิธีการเลือกอันที่เหมาะสมสำหรับกรณีการใช้งานของคุณ:
Llama3.1 , Mistral Nemo , Firefunction V2 หรือ Command-R + และอื่น ๆ ที่สนับสนุนการเรียกเครื่องมือgemma2 หรือ phi3 หากคุณไม่ได้วางแผนที่จะใช้ Ollama คุณยังสามารถเรียกใช้โมเดลโอเพ่นซอร์สที่เข้ากันได้กับ OpenAI Chat Complections API
ขั้นตอน:
ลงชื่อเข้าใช้ Tribe โดยใช้อีเมลและรหัสผ่านที่คุณตั้งค่าระหว่างขั้นตอนการติดตั้ง

นำทางไปยังหน้า 'ทีม' และคลิกที่ 'เพิ่มทีม' ป้อนชื่อสำหรับทีมของคุณและคลิก 'บันทึก'

สร้างสมาชิกในทีมเพิ่มเติมสองคนโดยการลากที่จับของโหนดหัวหน้าทีม

อัปเดตสมาชิกในทีมคนแรกตามที่แสดง

อัปเดตสมาชิกในทีมที่สองตามที่แสดง

ไปที่แท็บ 'แชท' และส่งคำถามให้ทีมของคุณเพื่อดูว่าพวกเขาตอบสนองอย่างไร

ยินดีด้วย! คุณประสบความสำเร็จในการสร้างและสื่อสารกับทีมงานหลายตัวแทนครั้งแรกของคุณในเผ่า
สมาชิกในทีมของคุณสามารถทำอะไรได้มากกว่านี้โดยให้ทักษะชุด เพิ่มทักษะให้กับนักชิมของคุณ

ตอนนี้เมื่อคุณถามคำถามนักชิมของคุณมันจะค้นหาเว็บสำหรับข้อมูลที่ทันสมัยมากขึ้น!

สร้างทีมใหม่และเลือกเวิร์กโฟลว์ 'ลำดับ'

ลากและวางเพื่อสร้างสมาชิกในทีมอื่นด้านล่าง 'Worker0'

อัปเดตสมาชิกในทีมคนแรกตามที่แสดง ให้ทักษะ 'Wikipedia' แก่สมาชิกในทีมนี้

อัปเดตสมาชิกในทีมที่สองตามที่แสดง

ไปที่แท็บ 'แชท' และส่งคำถามให้ทีมของคุณเพื่อดูว่าพวกเขาตอบสนองอย่างไร ขอให้สังเกตว่านักวิจัยจะใช้วิกิพีเดียเพื่อทำการวิจัย เจ๋งมาก

คุณสามารถกำหนดให้สมาชิกในทีมของคุณรอการอนุมัติของคุณก่อนที่จะดำเนินการทักษะของพวกเขา เพิ่มทักษะ 'Duckduckgo-Search' และเลือก 'ต้องได้รับการอนุมัติ' ในนักวิจัย

ตอนนี้ก่อนที่นักวิจัยจะดำเนินการทักษะมันจะขอการอนุมัติจากคุณ หากการค้นหาของนักวิจัยไม่ใช่สิ่งที่คุณต้องการปฏิเสธการกระทำและรวมถึงข้อความเสริมเพื่อให้ทิศทาง

เมื่อนักวิจัยปรับการค้นหาเพื่อตอบสนองความต้องการของคุณคุณสามารถอนุมัติการกระทำได้ 
จากนั้นนักวิจัยจะดำเนินการเพื่อดำเนินการทักษะตามที่กำหนด 
Tribe เป็นแหล่งที่มาและยินดีต้อนรับการมีส่วนร่วมจากชุมชน! ตรวจสอบคู่มือการบริจาคของเราเพื่อเริ่มต้น
บางวิธีในการมีส่วนร่วม:
ตรวจสอบไฟล์ release-notes.md
เผ่าได้รับใบอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT