Griptape เป็นเฟรมเวิร์ก Python แบบแยกส่วนสำหรับการสร้างแอพพลิเคชั่น AI ที่เชื่อมต่อกับข้อมูลองค์กรและ API ของคุณอย่างปลอดภัย มันให้ความสามารถของนักพัฒนาซอฟต์แวร์ในการควบคุมและความยืดหยุ่นในทุกขั้นตอน
งานเป็นหน่วยการสร้างหลักภายในโครงสร้างช่วยให้มีปฏิสัมพันธ์กับเครื่องยนต์เครื่องมือและส่วนประกอบกริปเป้อื่น ๆ
เครื่องมือให้ความสามารถสำหรับ LLMs ในการโต้ตอบกับข้อมูลและบริการ Griptape มีเครื่องมือในตัวที่หลากหลายและทำให้ง่ายต่อการสร้างเครื่องมือที่กำหนดเอง
ผู้ขับขี่อำนวยความสะดวกในการโต้ตอบกับทรัพยากรและบริการภายนอก:
เครื่องยนต์ห่อไดรเวอร์และให้ฟังก์ชันการใช้งานเฉพาะกรณี:
โปรดดูเอกสาร Griptape สำหรับ:
โปรดตรวจสอบโรงเรียนการค้า Griptape สำหรับหลักสูตรออนไลน์ฟรี
ก่อนอื่นติดตั้ง กริปเป้ :
pip install "griptape[all]" -U
ประการที่สองกำหนดค่าไคลเอนต์ OpenAI โดยรับคีย์ API และเพิ่มลงในสภาพแวดล้อมของคุณเป็น OPENAI_API_KEY โดยค่าเริ่มต้น Griptape ใช้ OpenAI Chat Completions API เพื่อดำเนินการตามพรอมต์ LLM
ด้วย griptape คุณสามารถสร้างโครงสร้างเช่นตัวแทนท่อและเวิร์กโฟลว์ประกอบด้วยงานประเภทต่าง ๆ มาสร้างเอเจนต์สร้างสรรค์อย่างง่ายที่ใช้เครื่องมือสามอย่างแบบไดนามิกและย้ายข้อมูลไปรอบ ๆ ในหน่วยความจำงาน
from griptape . structures import Agent
from griptape . tools import WebScraperTool , FileManagerTool , PromptSummaryTool
agent = Agent (
input = "Load {{ args[0] }}, summarize it, and store it in a file called {{ args[1] }}." ,
tools = [
WebScraperTool ( off_prompt = True ),
PromptSummaryTool ( off_prompt = True ),
FileManagerTool ()
]
)
agent . run ( "https://griptape.ai" , "griptape.txt" )และนี่คือผลลัพธ์:
[08/12/24 14:48:15] INFO ToolkitTask c90d263ec69046e8b30323c131ae4ba0
Input: Load https://griptape.ai, summarize it, and store it in a file called griptape.txt.
[08/12/24 14:48:16] INFO Subtask ebe23832cbe2464fb9ecde9fcee7c30f
Actions: [
{
"tag": "call_62kBnkswnk9Y6GH6kn1GIKk6",
"name": "WebScraperTool",
"path": "get_content",
"input": {
"values": {
"url": "https://griptape.ai"
}
}
}
]
[08/12/24 14:48:17] INFO Subtask ebe23832cbe2464fb9ecde9fcee7c30f
Response: Output of "WebScraperTool.get_content" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"cecca28eb0c74bcd8c7119ed7f790c95"
[08/12/24 14:48:18] INFO Subtask dca04901436d49d2ade86cd6b4e1038a
Actions: [
{
"tag": "call_o9F1taIxHty0mDlWLcAjTAAu",
"name": "PromptSummaryTool",
"path": "summarize",
"input": {
"values": {
"summary": {
"memory_name": "TaskMemory",
"artifact_namespace": "cecca28eb0c74bcd8c7119ed7f790c95"
}
}
}
}
]
[08/12/24 14:48:21] INFO Subtask dca04901436d49d2ade86cd6b4e1038a
Response: Output of "PromptSummaryTool.summarize" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"73765e32b8404e32927822250dc2ae8b"
[08/12/24 14:48:22] INFO Subtask c233853450fb4fd6a3e9c04c52b33bf6
Actions: [
{
"tag": "call_eKvIUIw45aRYKDBpT1gGKc9b",
"name": "FileManagerTool",
"path": "save_memory_artifacts_to_disk",
"input": {
"values": {
"dir_name": ".",
"file_name": "griptape.txt",
"memory_name": "TaskMemory",
"artifact_namespace": "73765e32b8404e32927822250dc2ae8b"
}
}
}
]
INFO Subtask c233853450fb4fd6a3e9c04c52b33bf6
Response: Successfully saved memory artifacts to disk
[08/12/24 14:48:23] INFO ToolkitTask c90d263ec69046e8b30323c131ae4ba0
Output: The content from https://griptape.ai has been summarized and stored in a file called `griptape.txt`.
ในระหว่างการรันเอเจนต์ Griptape โหลดเว็บเพจด้วยเครื่องมือเก็บเนื้อหาทั้งหมดไว้ในหน่วยความจำงานสอบถามเพื่อตอบคำถามต้นฉบับและในที่สุดก็บันทึกคำตอบของไฟล์
สิ่งสำคัญที่ควรทราบที่นี่คือไม่ว่าหน้าเว็บจะใหญ่แค่ไหนมันไม่สามารถระเบิดโทเค็น จำกัด ได้เนื่องจากเนื้อหาทั้งหมดของหน้าไม่เคยกลับไปที่ LLM นอกจากนี้ไม่มีข้อมูลจากงานย่อยที่ตามมาจะถูกส่งคืนกลับไปที่พรอมต์เช่นกัน แล้วมันทำงานอย่างไร?
ในตัวอย่างข้างต้นเราตั้งค่า Off_prompt เป็น True ซึ่งหมายความว่า LLM ไม่สามารถเห็นข้อมูลที่จัดการได้ แต่สามารถส่งไปยังเครื่องมืออื่น ๆ ได้
สำคัญ
ตัวอย่างนี้ใช้ Toolkittask ของ Griptape ซึ่งต้องการ LLM ที่มีความสามารถสูงในการทำงานได้อย่างถูกต้อง โดยค่าเริ่มต้น Griptape ใช้ OpenAichatPromptDriver; สำหรับ LLM ที่ทรงพลังอีกครั้งลองเปลี่ยนไปที่ ManthropicPromptDriver! หากคุณใช้ LLM ที่ทรงพลังน้อยกว่าให้พิจารณาใช้ ToolTask แทนเนื่องจาก ToolkitTask อาจทำงานไม่ถูกต้องหรือเลย
ตรวจสอบเอกสารของเราเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการใช้ griptape กับผู้ให้บริการ LLM อื่น ๆ เช่นมานุษยวิทยา Claude ใบหน้ากอดและ Azure
Griptape อยู่ในระหว่างการพัฒนาอย่างต่อเนื่องและ API และเอกสารประกอบอาจมีการเปลี่ยนแปลง จนกว่าเราจะทำให้ API มีความเสถียรและเปิดตัวเวอร์ชัน 1.0.0 เราจะใช้รุ่นรอง (เช่น XYZ) เพื่อแนะนำคุณสมบัติและคุณสมบัติการทำลายและเวอร์ชันแพทช์ (เช่น XYZ) สำหรับการแก้ไขข้อผิดพลาด
ขอบคุณที่พิจารณามีส่วนร่วมใน Griptape! ก่อนที่คุณจะเริ่มโปรดอ่านแนวทางต่อไปนี้
หากคุณระบุข้อผิดพลาดต้องการเสนอคุณสมบัติใหม่หรือมีคำถามโปรดส่งปัญหาผ่านตัวติดตามปัญหาสาธารณะของเรา ก่อนที่จะส่งปัญหาใหม่โปรดตรวจสอบปัญหาที่มีอยู่เพื่อให้แน่ใจว่ายังไม่ได้รับการรายงานหรือพูดคุยก่อนหน้านี้
เรายินดีต้อนรับและสนับสนุนคำขอดึง เพื่อปรับปรุงกระบวนการโปรดปฏิบัติตามแนวทางเหล่านี้:
ปัญหาที่มีอยู่: โปรดส่งคำขอดึงสำหรับปัญหาที่มีอยู่เท่านั้น หากคุณต้องการทำงานกับฟังก์ชั่นใหม่หรือแก้ไขข้อผิดพลาดที่ยังไม่ได้รับการแก้ไขโปรดส่งปัญหาก่อน สิ่งนี้ช่วยให้ทีม Griptape สามารถดำเนินการตามคำขอภายในและให้การตอบกลับสาธารณะ
สาขา: ส่งคำขอดึงทั้งหมดไปยังสาขา dev สิ่งนี้ช่วยให้เราจัดการการเปลี่ยนแปลงและรวมเข้าด้วยกันอย่างราบรื่น
การทดสอบหน่วย: ตรวจสอบ ให้แน่ใจว่าคำขอดึงของคุณผ่านการทดสอบหน่วยที่มีอยู่ทั้งหมด นอกจากนี้หากคุณกำลังแนะนำรหัสใหม่โปรดรวมการทดสอบหน่วยใหม่เพื่อตรวจสอบการทำงานของมัน
เรียกใช้ make test/unit เพื่อดำเนินการชุดทดสอบในเครื่อง
เรียกใช้ make docs เพื่อสร้างเอกสารในพื้นที่
เรียก make check เพื่อเรียกใช้การตรวจสอบรหัสทั้งหมดในเครื่อง
การขยายความสามารถของ Griptape ช่วยให้ทุกคนสามารถพัฒนาและแจกจ่ายฟังก์ชั่นได้อย่างอิสระ การบูรณาการใหม่ทั้งหมดรวมถึงเครื่องมือไดรเวอร์งาน ฯลฯ ควรได้รับการพัฒนาในขั้นต้นว่าเป็นส่วนขยายและสามารถนำไปสู่แกนกลาง Griptape ได้หากกล่าวถึงและอนุมัติ
เทมเพลตส่วนขยาย Griptape ให้โครงสร้างที่แนะนำคำแนะนำทีละขั้นตอนระบบอัตโนมัติพื้นฐานและตัวอย่างการใช้งานสำหรับการรวมใหม่
ติดตั้งการพึ่งพาทั้งหมดผ่าน Make:
make installหรือติดตั้งโดยเรียกบทกวีโดยตรง:
poetry install --all-extras --with dev --with test --with docsกำหนดค่าล่วงหน้าเพื่อให้แน่ใจว่ารหัสของคุณถูกจัดรูปแบบอย่างถูกต้องและผ่านการตรวจสอบทั้งหมด:
poetry run pre-commit installGriptape สามารถใช้ได้ภายใต้ใบอนุญาต Apache 2.0