ข้อกำหนดโปรโตคอล Universal Tool Calling (UTCP)
ที่เก็บนี้ประกอบด้วยเอกสารข้อกำหนดอย่างเป็นทางการสำหรับ Universal Tool Calling Protocol (UTCP) ซึ่งเป็นมาตรฐานที่ทันสมัย มีความยืดหยุ่น และสามารถขยายได้ สำหรับการกำหนดและโต้ตอบกับเครื่องมือผ่านโปรโตคอลการสื่อสารต่าง ๆ
UTCP คืออะไร?
UTCP มอบวิธีมาตรฐานสำหรับระบบ AI และไคลเอนต์อื่น ๆ ในการค้นหาและเรียกใช้เครื่องมือจากผู้ให้บริการต่าง ๆ โดยไม่คำนึงถึงโปรโตคอลพื้นฐานที่ใช้ (HTTP, WebSocket, CLI ฯลฯ) ข้อกำหนดนี้นิยาม:
- กลไกการค้นหาเครื่องมือ
- รูปแบบการเรียกใช้เครื่องมือ
- การกำหนดค่าผู้ให้บริการ
- วิธีการตรวจสอบสิทธิ์
- การจัดการการตอบกลับ
การมีส่วนร่วมกับข้อกำหนด
เรายินดีรับการมีส่วนร่วมกับข้อกำหนดของ UTCP! นี่คือวิธีที่คุณสามารถมีส่วนร่วมได้:
- Fork ที่เก็บนี้: สร้าง fork ของที่เก็บข้อกำหนดเป็นของคุณเอง
- ทำการเปลี่ยนแปลงของคุณ: อัปเดตหรือเพิ่มเอกสารตามความจำเป็น
- ส่ง pull request: เปิด PR พร้อมการเปลี่ยนแปลงของคุณเพื่อขอรีวิว
- เข้าร่วมการอภิปราย: เข้าร่วมสนทนาเกี่ยวกับการเปลี่ยนแปลงที่เสนอ
- ตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงของคุณสอดคล้องกับวิสัยทัศน์และเป้าหมายโดยรวมของ UTCP
- ปฏิบัติตามโครงสร้างเอกสารและรูปแบบที่กำหนดไว้
- ใส่ตัวอย่างเมื่อเพิ่มฟีเจอร์หรือแนวคิดใหม่ ๆ
- อัปเดตส่วนที่เกี่ยวข้องเพื่อรักษาความสอดคล้องของเอกสารทั้งหมด
การสร้างเอกสารในเครื่อง
ข้อกำหนดเบื้องต้น
หากต้องการสร้างและดูตัวอย่างเว็บไซต์เอกสารในเครื่อง คุณจะต้องมี:
- Ruby เวอร์ชัน 2.5.0 หรือสูงกว่า
- RubyGems
- Bundler
การตั้งค่า
- โคลนที่เก็บนี้:
git clone https://github.com/universal-tool-calling-protocol/utcp-specification.git
cd utcp-specification
``
- ติดตั้ง dependencies:
`bash
bundle install
`
การใช้งานเว็บไซต์เอกสาร
เพื่อสร้างและให้บริการเว็บไซต์นี้ในเครื่อง:
bash
bundle exec jekyll serve
`
สิ่งนี้จะเริ่มต้นเว็บเซิร์ฟเวอร์ภายในเครื่องที่ http://localhost:4000 ซึ่งคุณสามารถดูตัวอย่างเอกสารได้โครงสร้างเอกสาร
เอกสาร UTCP ถูกจัดระเบียบดังนี้:
index.md: หน้าแรกและแนะนำ UTCP
docs/
introduction.md: แนะนำโดยละเอียดและแนวคิดหลัก
for-tool-providers.md: คู่มือสำหรับผู้พัฒนาเครื่องมือ
for-tool-callers.md: คู่มือสำหรับผู้เรียกใช้งานเครื่องมือ
providers/: เอกสารสำหรับแต่ละประเภทผู้ให้บริการ
http.md: ผู้ให้บริการ HTTP
websocket.md: ผู้ให้บริการ WebSocket
cli.md: ผู้ให้บริการ CLI
sse.md: ผู้ให้บริการ Server-Sent Events
ฯลฯ
implementation.md: แนวทางปฏิบัติและคำแนะนำในการนำไปใช้งานการทำงานกับข้อกำหนด
การแก้ไขเอกสาร
เอกสารถูกเขียนด้วยรูปแบบ Markdown พร้อม Jekyll front matter เมื่อมีการเปลี่ยนแปลง:
- ตรวจสอบให้แน่ใจว่า Markdown ของคุณเป็นไปตามรูปแบบที่กำหนดไว้
- ดูตัวอย่างการเปลี่ยนแปลงในเครื่องก่อนส่ง PRs
- รักษาตัวอย่างให้ทันสมัยกับข้อกำหนดล่าสุด
- อัปเดตรายการนำทางใน
_config.yml หากเพิ่มหน้าใหม่การจัดระเบียบไฟล์
เมื่อเพิ่มเอกสารใหม่:
- วางเอกสารเฉพาะผู้ให้บริการไว้ใน
docs/providers/`
การควบคุมเวอร์ชัน
ข้อกำหนด UTCP ใช้ semantic versioning:
- เวอร์ชันหลัก (1.0, 2.0): การเปลี่ยนแปลงที่ทำให้ใช้งานร่วมกับเวอร์ชันก่อนหน้าไม่ได้
- เวอร์ชันรอง (1.1, 1.2): ฟีเจอร์ใหม่ที่ยังคงใช้งานร่วมกับเวอร์ชันก่อนหน้าได้
- เวอร์ชันแก้ไข (1.0.1, 1.0.2): การแก้บั๊กหรือชี้แจงที่ยังคงใช้งานร่วมกับเวอร์ชันก่อนหน้าได้
สัญญาอนุญาต
ข้อกำหนดนี้เผยแพร่ภายใต้สัญญาอนุญาต Mozilla Public License 2.0 (MPL-2.0)