您可以使用Docker容器或手动克隆和构建此存储库来启动API服务器。
手动设置:在本地计算机中克隆此存储库,然后启动Python快速API服务器。可选,安装并设置Mongo DB。
DEV容器设置:DEV容器允许您自动化环境设置。使用此设置在隔离环境中安装和运行容器服务,并预装了扩展名。您还可以使用秘密通过模型API键在远程环境/浏览器中打开GitHub代码。
设置Python Virtualenv并安装依赖项
python -m venv --prompt agent-builder-api venv
source venv/bin/activate
# venv/Scripts/activate (Windows)
pip install -r requirements.txt在.env文件中设置模型名称和API键
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "在新终端启动服务器
python -m agentbuilder.main为了获得细粒度的依赖管理,请使用诗歌根据您的LLM模型提供商和工具功能选择依赖项。
遵循“官方教学指南”的安装诗歌。
选择要安装的依赖项。
poetry install --extras " openai gemini cohere anthropic mongodb vectordb langgraph "在.env文件中设置模型名称和API键
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "在新终端启动服务器
poetry run start-server笔记
诗歌将为我们创造虚拟环境。
默认情况下,数据存储为JSON文件。使用环境变量设置URL,启用Mongo DB中的存储。
MONGODB_URL = " mongodb://localhost:27017/llmdb "通过遵循官方文档中的步骤,在VScode中启用DEV容器。
单击下面的徽章以在本地机器中的隔离容器环境中运行服务。
这将克隆回购并启动API和Mongo DB容器服务。
提示
使用mongodb:// mongodb:27017/llmdb中的mongo db vscode扩展程序中查看存储数据。
执行F1> DEV容器:连接到运行容器..并选择Agent-Builder-container 。
在.env文件中设置模型名称和API键
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " 依赖项包允许根据您的要求进行细粒度的软件包安装。使用docker-compose文件中的环境变量extra_deps进行更新。
如果docker-compose不可用,则可以在DEV容器模式下使用install-extra-deps.sh脚本。
例如,以下环境配置将安装双子座模型,mongo db,langchain图和vectordb的依赖项
EXTRA_DEPS : " gemini,mongodb,langgraph,vectordb " 提示
从基本的依赖项包开始,以支持您的模型并逐步添加其他功能
以下模型由其依赖项包支持
| 模型 | 依赖包 | env关键名称 |
|---|---|---|
| 打开AI | Openai | OpenAI_API_KEY |
| 双子座 | 双子座 | Google_api_key |
| 共同 | 共同 | cohere_api_key |
| 人类 | 人类 | Anthropic_api_key |
一些预先配置的工具需要额外的依赖项或API键才能启用。
| 工具 | 依赖包 | env关键名称 |
|---|---|---|
| Internet_search | - | tavily_api_key |
| vectorstore_search | vectordb | embed_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 ())}在tool_factory模块中将工具添加到get_all_tools方法中。
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
]可以使用扩展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。
使用环境变量更新模型配置。
支持{提供商}/{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>打开AI
创建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.anththropic.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 "