โลกของตัวแทน GenAI นั้นกระจัดกระจาย โดยเฟรมเวิร์กอย่าง LangGraph, AWS Bedrock และ Semantic Kernel ต่างก็ทำงานในไซโลของตัวเอง การขาดความสามารถในการทำงานร่วมกันนี้สร้างอุปสรรคสำหรับนักพัฒนาและองค์กรที่ต้องการบูรณาการตัวแทนข้ามแพลตฟอร์ม API หรือระบบเดิมที่แตกต่างกัน
AgenticDB กลายเป็นโซลูชันในการรวมภูมิทัศน์ที่กระจัดกระจายนี้ให้เป็นหนึ่งเดียว เป็นฐานข้อมูลที่ออกแบบมาเพื่อจัดเก็บและจัดการตัวแทน GenAI และรายการแอปพลิเคชันโดยเฉพาะ ด้วย AgenticDB คุณสามารถเพิ่ม ค้นหา เรียกใช้ และให้คะแนนเอเจนต์ได้อย่างง่ายดาย ทั้งหมดนี้จากพื้นที่เก็บข้อมูลแบบรวมศูนย์ คุณสมบัติขั้นสูง เช่น การจัดการเอเจนต์บน Docker และการดำเนินการจากระยะไกลช่วยเพิ่มความสามารถรอบด้าน ทำให้สามารถปรับให้เข้ากับเวิร์กโฟลว์ GenAI ที่หลากหลายได้
ด้วยการปรับปรุงวิธีที่เราจัดการกับตัวแทน AgenticDB ไม่เพียงแต่ช่วยประหยัดเวลา แต่ยังส่งเสริมนวัตกรรมด้วยการทำให้ค้นหาและใช้ตัวแทนที่เหมาะสมสำหรับงานต่างๆ ได้ง่ายขึ้น เป็นสะพานที่เชื่อมโยงเฟรมเวิร์กที่แตกต่างกัน ช่วยให้สามารถทำงานร่วมกันได้อย่างราบรื่นและเร่งความก้าวหน้าในระบบนิเวศ GenAI
ด้วย AgenticDB คุณสามารถ:
หากต้องการสตาร์ทเซิร์ฟเวอร์ AgenticDB แบบโลคัล ให้รันคำสั่งต่อไปนี้:
python server.py
API จะมีให้บริการที่ http://127.0.0.1:8000
นี่คือเวอร์ชันอัปเดตของส่วน Delete All Collections ใน README ซึ่งสะท้อนถึงรูปแบบการตอบสนอง JSON จริงจากโค้ด Python ที่ให้มา
คุณสามารถเพิ่มเอเจนต์ลงในฐานข้อมูลได้โดยใช้คำสั่ง curl
ต่อไปนี้ ตัวอย่างนี้ส่งคำขอ JSON เพื่อเพิ่มตัวแทนใหม่ที่เรียกว่า code-gen-chart-agent
curl -X POST " http://127.0.0.1:8000/agents "
-H " Content-Type: application/json "
-H " Accept: application/json "
-d ' [
{
"metadata": {
"name": "code-gen-chart-agent",
"namespace": "agents",
"description": "Requests for a javascript code generator to plot a chart with supplied free-form data."
},
"spec": {
"type": "agent",
"lifecycle": "dev",
"owner": "[email protected]",
"access_level": "Public",
"category": "Travel Agent",
"url": "https://api.example.com/code-gen-chart-agent/agent",
"parameters": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The request message for the chart code generator agent."
},
"thread": {
"type": "string",
"description": "The id to separate parallel message threads."
}
},
"required": ["message", "thread"],
"additionalProperties": false
},
"output": {
"type": "string",
"description": "The result of the request, including any generated image location."
}
}
}
] '
สิ่งนี้จะเพิ่มรายการตัวแทนไปยัง AgenticDB ทำให้พร้อมใช้งานสำหรับการค้นหาและการเรียกใช้ในอนาคต
หากต้องการค้นหาเอเจนต์ตามการสืบค้นภาษาธรรมชาติ ให้ใช้คำสั่ง curl
ต่อไปนี้ ตัวอย่างนี้ค้นหาตัวแทนที่เกี่ยวข้องกับ "ภาษาธรรมชาติ"
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
AgenticDB จะทำการค้นหาความคล้ายคลึงกันและส่งคืนรายการเอเจนต์ที่ตรงกันตามการสืบค้น
คุณยังสามารถเพิ่มแอปพลิเคชันเอเจนต์ให้กับ AgenticDB โดยใช้คำสั่ง curl
ที่คล้ายกัน นี่คือตัวอย่างสำหรับการเพิ่ม "แอปพลิเคชันการสร้างแผนภูมิราคาหุ้น" ที่ติดตามราคาหุ้นและสร้างแผนภูมิ
curl -X POST " http://127.0.0.1:8000/applications "
-H " Content-Type: application/json "
-H " Accept: application/json "
-d ' [
{
"metadata": {
"name": "Stock Price Charting Application",
"namespace": "production",
"description": "Provides access to daily open, high, low, close stock prices over time and the ability to generate charts for the requested data"
},
"spec": {
"type": "application",
"lifecycle": "dev",
"owner": "[email protected]",
"access_level": "PUBLIC",
"category": "Finance",
"setup": {
"compose": {
"compose_url": "https://ipfs.filebase.io/ipfs/somehash",
"run_command": "gunzip docker-compose.yml.gz && docker compose -f ./docker-compose.yml up -d"
}
},
"url": "http://localhost:3000/agent",
"method": "POST",
"example": "http://localhost:3000/agent ' Content-Type ' : ' application/json ' { ' input ' : ' what was the Nvidia close price on August 22nd 2024 ' , ' thread ' : ' nvidia ' }",
"parameters": {
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "natural language request for stock price data and charting of the data as required"
},
"thread": {
"type": "string",
"description": "thread context id for the request"
}
},
"required": ["input"],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "the natural language response and the Final Answer to the request with a chart location if requested"
}
},
"description": "the answer to the request"
}
}
}
] '
คุณสามารถลบเอเจนต์ แอปพลิเคชัน และคอลเลกชั่นการให้คะแนนทั้งหมดจาก AgenticDB ด้วยคำขอ DELETE
เดียว การดำเนินการนี้จะพยายามลบคอลเล็กชันที่เก็บไว้: agents
applications
และ ratings
การลบคอลเลกชันแต่ละรายการจะได้รับการจัดการแยกกัน และผลลัพธ์จะสะท้อนให้เห็นว่าแต่ละคอลเลกชันถูกลบสำเร็จหรือไม่
curl -X DELETE " http://127.0.0.1:8000/collections "
การตอบกลับจะแสดงสถานะของความพยายามในการลบแต่ละครั้งในรูปแบบของออบเจ็กต์ JSON หากลบคอลเลกชันสำเร็จ ค่าจะเป็น 0
หากมีข้อผิดพลาด ค่านี้จะมีข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง
{
"agents" : 0 ,
"applications" : 0 ,
"ratings" : " Failed to delete ratings collection: some_error_message "
}
0
บ่งชี้ว่าการลบคอลเลกชัน agents
สำเร็จแล้ว0
บ่งชี้ว่าลบคอลเลคชัน applications
สำเร็จแล้ว"some_error_message"
ด้วยข้อผิดพลาดจริงที่พบ) หลังจากโต้ตอบกับตัวแทน คุณสามารถส่งการจัดอันดับสำหรับตัวแทนโดยใช้คำสั่ง curl
นี้ แทนที่ placeholder_agent_id
และ placeholder_some_id
ด้วยตัวแทนจริงและ ID การให้คะแนน
curl -X POST " http://127.0.0.1:8000/ratings "
-H " Content-Type: application/json "
-d ' {
"ratings": {
"agent_id": "placeholder_agent_id",
"id": "placeholder_some_id",
"data": {
"score": 4
}
}
} '
คุณสามารถดึงข้อมูลการจัดอันดับเอเจนต์ได้โดยใช้คำสั่ง curl
นี้ แทนที่ <ratings_id>
ด้วยรหัสการให้คะแนนจริง
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
AgenticDB จะส่งคืนคะแนนและข้อเสนอแนะที่เกี่ยวข้องกับ ID การให้คะแนนที่ให้ไว้