يمكنك بدء تشغيل خادم API باستخدام حاويات Docker أو استنساخ وإنشاء هذا المستودع يدويًا.
الإعداد اليدوي: استنساخ هذا المستودع في جهازك المحلي وابدأ خادم Python Fast API. اختياريا ، تثبيت وإعداد mongo db.
إعداد حاوية DEV: تتيح لك حاويات DEV أتمتة إعداد البيئة. استخدم هذا الإعداد لتثبيت وتشغيل خدمات الحاويات في بيئة معزولة مع امتدادات تم تثبيتها مسبقًا. يمكنك أيضًا فتح مساحات GitHub في بيئة/متصفح عن بُعد باستخدام أسرار لتمرير مفاتيح API النموذجية.
قم بإعداد Python VirtualEnv وتثبيت التبعيات
python -m venv --prompt agent-builder-api venv
source venv/bin/activate
# venv/Scripts/activate (Windows)
pip install -r requirements.txtاضبط اسم النموذج ومفتاح API في ملف .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "ابدأ الخادم في المحطة الجديدة
python -m agentbuilder.mainبالنسبة لإدارة التبعية الدقيقة ، استخدم الشعر لاختيار واختيار حزم التبعية بناءً على مزود موديل LLM وميزات الأداة.
اتبع دليل التعليمات الخارجة لتثبيت الشعر.
اختر واختر حزم التبعية للتثبيت.
poetry install --extras " openai gemini cohere anthropic mongodb vectordb langgraph "اضبط اسم النموذج ومفتاح API في ملف .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "ابدأ الخادم في المحطة الجديدة
poetry run start-serverملحوظة
سوف يخلق الشعر بيئة افتراضية بالنسبة لنا.
بشكل افتراضي ، يتم تخزين البيانات كملفات JSON. تمكين التخزين في Mongo DB عن طريق تعيين عنوان URL باستخدام متغير البيئة.
MONGODB_URL = " mongodb://localhost:27017/llmdb "تمكين حاويات DEV في VSCODE باتباع الخطوات الواردة في الوثائق الرسمية.
انقر على الشارة أدناه لتشغيل الخدمات في بيئة حاوية معزولة في آلة محلية.
سيؤدي ذلك إلى استنساخ ريبو وبدء خدمات حاوية API و Mongo DB.
نصيحة
استخدم url mongodb: // mongodb: 27017/llmdb في ملحق mongo db vscode لعرض بيانات التخزين.
قم بتنفيذ حاويات D1> DEV: إرفاق حاوية تشغيل .. وحدد الوكيل بكر .
اضبط اسم النموذج ومفتاح API في ملف .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " تسمح حزم التبعية بتثبيتات الحزمة ذات الحبيبات الدقيقة بناءً على متطلباتك. استخدم متغير البيئة extra_deps في ملف Docker-Cormse للتحديث.
يمكن استخدام البرنامج النصي للتثبيت-extra-deps.sh في وضع حاوية Dev إذا لم يكن Docker-Cormpose متاحًا.
على سبيل المثال ، سيقوم تكوين البيئة أدناه بتثبيت تبعيات لنموذج Gemini و Mongo DB و Langchain Graph و Vectordb
EXTRA_DEPS : " gemini,mongodb,langgraph,vectordb " نصيحة
ابدأ بحزمة التبعية الأساسية لدعم النموذج الخاص بك وإضافة ميزات أخرى بشكل تدريجي
يتم دعم النماذج التالية من خلال حزمة التبعية الخاصة بها
| نموذج | حزمة التبعية | env اسم مفتاح |
|---|---|---|
| افتح منظمة العفو الدولية | Openai | openai_api_key |
| تَوأَم | تَوأَم | google_api_key |
| التحم | التحم | cohere_api_key |
| الإنسان | الإنسان | أنثروبريك _api_key |
تتطلب بعض الأدوات التي تم تكوينها مسبقًا تبعيات إضافية أو مفاتيح API للحصول على تمكين.
| أداة | حزمة التبعية | env اسم مفتاح |
|---|---|---|
| internet_search | - | tavily_api_key |
| VectorStore_Search | Vectordb | inmbed_model_name |
أضف أدوات أو مجموعات أدوات مخصصة باستخدام وحدة مصنع الأدوات ( AgentBuilder/Factory/Tool_Factory ).
قم بإنشاء أداتك
AgentBuilder/tools/my_custom_tool.py
from pathlib import Path
from langchain_core . tools import tool
from pydantic import BaseModel , Field
@ tool
def my_custom_tool ( a : int , b : int ):
"""Custom Tool Description"""
return a + b
my_custom_tool . name = "custom_tool_name"
my_custom_tool . description = "Custom Tool Description"
class field_inputs ( BaseModel ):
a : int = Field ( description = "First input" )
b : int = Field ( description = "Second input" )
my_custom_tool . args_schema = sum_inputs
my_custom_tool . metadata = { "file_path" : str ( Path ( __file__ ). absolute ())}أضف الأداة الخاصة بك في طريقة get_all_tools في وحدة tool_factory.
AgentBuilder/Factory/tool_factory.py
def get_all_tools()->Sequence[BaseTool]:
return get_vectordb_tools()+ get_websearch_tools() + json_tools + [
directly_answer_tool,
weather_clothing_tool,
temperature_tool,
temperature_sensor_tool,
sum_tool,greeting_tool,
git_diff_tool,
repl_tool,
+ my_custom_tool
]يمكن إنشاء الوكلاء باستخدام Extension UI أو إعلانه في الكود. أضف وكلامك باستخدام وحدة مصنع الوكيل ( AgentBuilder/Factory/Agent_Factory ).
أنشئ وكيلك
def my_agent ():
return AgentParams (
name = "my_agent" ,
preamble = "You are a powerful agent that uses tools to answer Human questions" ,
tools = [ "my_custom_tool" ],
agent_type = 'tool_calling'
)أضف وكيلك بطريقة get_all_agents .
def get_all_agents():
return [
default_agent(),
weather_agent(),
python_agent(),
git_agent(),
+ my_agent()
]تخصيص سير عمل الوكيل الخاص بك باستخدام مطالبات مخصصة والرسوم البيانية. تصفية الوكيل باستخدام اسم الوكيل لتطبيق التخصيصات.
على سبيل المثال ، يطبق الرمز التالي سير عمل منشئ الرسوم البيانية للوكيل المسمى "Graph_agent"
def get_agent_builder ( params : AgentBuilderParams ):
agent_name = params . name
match agent_name :
case "graph_agent" :
from agentbuilder . agents . BaseGraphAgentBuilder import BaseGraphAgentBuilder
return BaseGraphAgentBuilder ( params )
case _ :
return BaseAgentBuilder ( params )مهم
يجب تثبيت حزمة التبعية "Langgraph" لـ BaseGraphagentBuilder.
تحديث تكوين النموذج باستخدام متغيرات البيئة.
يدعم تنسيق {Provider}/{modelName}
تَوأَم
إنشاء مفاتيح API https://aistudio.google.com/app/apikey
MODEL_NAME = " gemini/gemini-pro "
EMBED_MODEL_NAME = " gemini/embedding-001 "
GOOGLE_API_KEY = <GOOGLE_API_KEY>التحم
إنشاء مفاتيح API https://dashboard.coery.com/api- keys
MODEL_NAME = " cohere/command "
EMBED_MODEL_NAME = " cohere/embed-english-v3.0 "
COHERE_API_KEY = <COHERE_API_KEY>افتح منظمة العفو الدولية
إنشاء مفاتيح API https://platform.openai.com/docs/quickstart/account-setup
MODEL_NAME = " openai/gpt-4o "
EMBED_MODEL_NAME = " openai/text-embedding-3-large "
OPENAI_API_KEY = <OPENAI_API_KEY>الإنسان
إنشاء مفاتيح API https://www.anthropic.com/ و https://www.voyageai.com/
MODEL_NAME = " anthropic/claude-3-opus-20240229 "
EMBED_MODEL_NAME = " voyageai/voyage-2 "
ANTHROPIC_API_KEY = <ANTHROPIC_API_KEY>
VOYAGE_API_KEY = <VOYAGE_API_KEY>أولاما
استخدم النماذج المحلية لمكالمات الوظائف.
نصيحة
استخدم نوع وكيل الدردشة JSON لتحسين التوافق مع النماذج المحلية.
تثبيت Ollama وسحب النموذج.
ollama pull mistral:v0.3تعيين متغير البيئة.
MODEL_NAME = " ollama/mistral:v0.3 "