Griptape هو إطار Python Modular لبناء تطبيقات تعمل بالطاقة الذكاء الاصطناعى والتي تتصل بشكل آمن ببيانات المؤسسة وواجهة برمجة التطبيقات. إنه يوفر للمطورين القدرة على الحفاظ على السيطرة والمرونة في كل خطوة.
المهام هي لبنات البناء الأساسية داخل الهياكل ، وتمكين التفاعل مع المحركات والأدوات ومكونات Griptape الأخرى.
توفر الأدوات إمكانات لـ LLMs للتفاعل مع البيانات والخدمات. يتضمن Griptape مجموعة متنوعة من الأدوات المدمجة ، ويسهل إنشاء أدوات مخصصة.
يسهل برامج التشغيل التفاعلات مع الموارد والخدمات الخارجية:
محركات التفاف برامج التشغيل وتوفر وظائف خاصة بالاستخدام:
يرجى الرجوع إلى مستندات Gripte ل:
يرجى مراجعة مدرسة Griptape Trade للحصول على دورات مجانية عبر الإنترنت.
أولاً ، قم بتثبيت Griptape :
pip install "griptape[all]" -U
ثانياً ، قم بتكوين عميل Openai عن طريق الحصول على مفتاح API وإضافته إلى بيئتك كـ OPENAI_API_KEY . بشكل افتراضي ، يستخدم Griptape API Openai Chat 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`.
أثناء التشغيل ، قام Agent Griptape بتحميل صفحة ويب باستخدام أداة ، وتخزين المحتوى الكامل في ذاكرة المهمة ، واستفسر عنها للإجابة على السؤال الأصلي ، وأخيراً حفظ الإجابة على ملف.
الشيء المهم الذي يجب ملاحظته هنا هو أنه بغض النظر عن حجم صفحة الويب التي لا يمكنها أبدًا تفجير حد الرمز المميز المذهل لأن المحتوى الكامل للصفحة لا يعود إلى LLM. بالإضافة إلى ذلك ، لم يتم إرجاع أي بيانات من المهام الفرعية اللاحقة إلى المطالبة أيضًا. لذا ، كيف يعمل؟
في المثال أعلاه ، قمنا بتعيين OFF_PROMPT على True ، مما يعني أن LLM لا يمكن أن يرى البيانات التي تتلاعب بها أبدًا ، ولكن يمكننا إرسالها إلى أدوات أخرى.
مهم
يستخدم هذا المثال Gripte's Toolkittask ، والذي يتطلب LLM قادرًا للغاية على العمل بشكل صحيح. بشكل افتراضي ، يستخدم Griptape OpenaichatPromptDriver ؛ بالنسبة إلى LLM آخر قوي ، حاول التبديل إلى HOREMPICPROMPTDRIVER! إذا كنت تستخدم LLM أقل قوة ، ففكر في استخدام ToolTask بدلاً من ذلك ، لأن ToolkitTask قد لا تعمل بشكل صحيح أو على الإطلاق.
تحقق من مستنداتنا لمعرفة المزيد حول كيفية استخدام Griptape مع مقدمي LLM الآخرين مثل الأنثروبور ، كلود ، وجه معانقة ، و Azure.
Griptape في تطور مستمر وتغيير واجهات برمجة التطبيقات والوثائق الخاصة به للتغيير. إلى أن نستقر في API وإصدار الإصدار 1.0.0 ، سنستخدم إصدارات بسيطة (IE ، XYZ) لتقديم الميزات وميزات كسر ، وإصدارات التصحيح (IE ، XYZ) لإصلاحات الأخطاء.
شكرا لك على النظر في المساهمة في Griptape! قبل البدء ، يرجى قراءة الإرشادات التالية.
إذا قمت بتحديد خطأ ، أو تريد اقتراح ميزة جديدة ، أو لديك سؤال ، فيرجى تقديم مشكلة من خلال متتبع الإصدار العام. قبل تقديم مشكلة جديدة ، يرجى التحقق من المشكلات الحالية للتأكد من عدم الإبلاغ عنها أو مناقشتها من قبل.
نرحب ونشجع طلبات السحب. لتبسيط العملية ، يرجى اتباع هذه الإرشادات:
المشكلات الحالية: يرجى تقديم طلبات السحب فقط للمشكلات الحالية. إذا كنت ترغب في العمل على وظائف جديدة أو إصلاح خطأ لم يتم معالجته بعد ، فيرجى أولاً إرسال مشكلة. هذا يسمح لفريق Griptape بمعالجة الطلب داخليًا وتوفير استجابة عامة.
الفرع: إرسال جميع طلبات السحب إلى فرع dev . هذا يساعدنا على إدارة التغييرات ودمجها بسلاسة.
اختبارات الوحدة: تأكد من اجتياز طلب السحب على جميع اختبارات الوحدة الحالية. بالإضافة إلى ذلك ، إذا كنت تقدم رمزًا جديدًا ، فيرجى تضمين اختبارات وحدة جديدة للتحقق من صحة وظائفها.
قم make test/unit لتنفيذ مجموعة الاختبار محليًا.
قم بتشغيل make docs لبناء الوثائق محليًا.
قم بتشغيل make check لتشغيل جميع عمليات فحص التعليمات البرمجية محليًا.
يسمح قابلية Griptape لأي شخص بتطوير الوظائف وتوزيعها بشكل مستقل. يجب في البداية تطوير جميع عمليات التكامل الجديدة ، بما في ذلك الأدوات ، والسائقين ، والمهام ، وما إلى ذلك ، كملحقات ثم يمكن أن يتم تنفيذها في Gript Core إذا تمت مناقشتها والموافقة عليها.
يوفر قالب امتداد Griptape الهيكل الموصى به ، وتعليمات خطوة بخطوة ، والأتمتة الأساسية ، وأمثلة الاستخدام للتكامل الجديد.
تثبيت جميع التبعيات عبر جعل:
make installأو التثبيت عن طريق الاتصال بالشعر مباشرة:
poetry install --all-extras --with dev --with test --with docsقم بتكوين ما قبل الالتزام للتأكد من تنسيق الرمز الخاص بك بشكل صحيح ويمرر جميع الشيكات:
poetry run pre-commit installGriptape متاح بموجب ترخيص Apache 2.0.