Вы можете запустить сервер API с помощью контейнеров Docker или вручную клонировать и создать этот репозиторий.
Ручная настройка: клонируйте этот репозиторий в вашей локальной машине и запустите API -сервер Python Fast. Необязательно, установите и настройте 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 в расширении VSCODE Mongo DB для просмотра данных хранения.
Выполните контейнеры F1> DEV: прикрепить к запущению контейнера. И выберите агент-Builder-Container .
Установите имя модели и ключ API в .env -файл
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " Пакеты зависимостей позволяют мелкозернистым установкам пакетов на основе ваших требований. Используйте переменную среды extra_deps в файле Docker-Compose для обновления.
Сценарий Install-Extra-DEPS.SH может использоваться в режиме контейнера DEV, если Docker-Compose недоступен.
Например, приведенная ниже конфигурация среды установит зависимости для модели Gemini, Mongo DB, Langchain Graph и Vectordb
EXTRA_DEPS : " gemini,mongodb,langgraph,vectordb " Кончик
Начните с базового пакета зависимостей, чтобы поддержать вашу модель и постепенно добавить другие функции
Следующие модели поддерживаются пакетом зависимостей
| Модель | Пакет зависимости | Env Key name |
|---|---|---|
| Открытый ИИ | Openai | Openai_api_key |
| БЛИЗНЕЦЫ | Близнецы | Google_api_key |
| Кожух | кожух | Cohere_api_key |
| Антроп | антроп | Anpropic_api_key |
Некоторые предварительно настроенные инструменты требуют дополнительных зависимостей или клавиш API для включения.
| Инструмент | Пакет зависимости | Env Key name |
|---|---|---|
| Internet_search | - | Tavily_api_key |
| Vectorstore_search | Vectordb | Inced_model_name |
Добавьте пользовательские инструменты или наборы инструментов с использованием модуля Tool Factory ( 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 Builder для агента с именем "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.cohere.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.anpropic.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 "