您可以使用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 "