Sie können den API -Server mit Docker -Containern starten oder manuell klonen und dieses Repository erstellen.
Manuelles Setup: Klonen Sie dieses Repository in Ihrer lokalen Maschine und starten Sie den Python Fast API -Server. Optional installieren und richten Sie Mongo DB ein.
Dev Container Setup: Dev Container ermöglichen es Ihnen, das Umgebungs -Setup zu automatisieren. Verwenden Sie dieses Setup, um Containerdienste in einer isolierten Umgebung mit vorinstallierten Erweiterungen zu installieren und auszuführen. Sie können Github -Codenspaces auch in einer Remote -Umgebung/in einem Browser mit Geheimnissen öffnen, um Modell -API -Schlüssel zu übergeben.
Richten Sie eine Python Virtualenv ein und installieren Sie Abhängigkeiten
python -m venv --prompt agent-builder-api venv
source venv/bin/activate
# venv/Scripts/activate (Windows)
pip install -r requirements.txtLegen Sie den Modellnamen und den API -Schlüssel in .Env -Datei fest
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "Starten Sie den Server im neuen Terminal
python -m agentbuilder.mainVerwenden Sie für das feinkörnige Abhängigkeitsmanagement die Poesie, um Abhängigkeitspakete basierend auf Ihrem LLM-Modellanbieter und Toolfunktionen auszuwählen.
Befolgen Sie die Offical -Anweisungshandbuch zur Installation von Gedichten.
Wählen Sie Abhängigkeitspakete für die Installation aus.
poetry install --extras " openai gemini cohere anthropic mongodb vectordb langgraph "Legen Sie den Modellnamen und den API -Schlüssel in .Env -Datei fest
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "Starten Sie den Server im neuen Terminal
poetry run start-serverNotiz
Poesie schafft eine virtuelle Umgebung für uns.
Standardmäßig werden Daten als JSON -Dateien gespeichert. Aktivieren Sie die Speicherung in Mongo DB, indem Sie die URL mithilfe der Umgebungsvariablen einstellen.
MONGODB_URL = " mongodb://localhost:27017/llmdb "Aktivieren Sie Dev Container in VSCODE, indem Sie die Schritte in der offiziellen Dokumentation befolgen.
Klicken Sie auf das Abzeichen unten, um die Dienste in einer isolierten Containerumgebung in einer lokalen Maschine auszuführen.
Dadurch wird das Repo klonen und die API- und Mongo -DB -Containerdienste starten.
Tipp
Verwenden Sie URL MongoDB: // MongoDB: 27017/LLMDB in der Mongo DB VSCODE -Erweiterung, um Speicherdaten anzuzeigen.
F1> Dev Container ausführen: Anhängen am Auslauf von Container .. und wählen Sie Agent-Builder-Container .
Legen Sie den Modellnamen und den API -Schlüssel in .Env -Datei fest
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " Abhängigkeitspakete ermöglichen feinkörnige Paketinstallationen basierend auf Ihren Anforderungen. Verwenden Sie die Umgebungsvariable excon_deps in der Docker-Compose-Datei, um zu aktualisieren.
Install-extra-deps.sh Skript kann im Dev-Containermodus verwendet werden, wenn Docker-Compose nicht verfügbar ist.
Beispielsweise installiert die folgende Umgebungskonfiguration Abhängigkeiten für das Gemini -Modell, Mongo DB, Langchain Graph und VectordB
EXTRA_DEPS : " gemini,mongodb,langgraph,vectordb " Tipp
Beginnen Sie mit einem grundlegenden Abhängigkeitspaket, um Ihr Modell zu unterstützen und inkrementell andere Funktionen hinzuzufügen
Die folgenden Modelle werden durch sein Abhängigkeitspaket unterstützt
| Modell | Abhängigkeitspaket | Envschlüsselname |
|---|---|---|
| Offene AI | Openai | Openai_api_key |
| ZWILLINGE | Zwillinge | Google_api_key |
| ZUSAMMENHÄNGEN | zusammenhängen | Cohere_api_key |
| Anthropisch | anthropisch | Anthropic_api_key |
Einige vorkonfigurierte Tools erfordern zusätzliche Abhängigkeiten oder API-Schlüssel, um aktiviert zu werden.
| Werkzeug | Abhängigkeitspaket | Envschlüsselname |
|---|---|---|
| Internet_search | - - | Tavily_api_key |
| vectorStore_search | Vektordb | Einbetten_Model_Name |
Fügen Sie benutzerdefinierte Tools oder Toolkits mit dem Tool Factory -Modul ( AgentBuilder/Factory/Tool_Factory ) hinzu.
Erstellen Sie Ihr Tool
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 ())}Fügen Sie Ihr Tool in die Methode Get_all_tools im molo_factory -Modul hinzu.
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
]Agenten können mit der Erweiterungs -Benutzeroberfläche erstellt oder in Code deklariert werden. Fügen Sie Ihre Agenten mit dem Agent Factory -Modul ( AgentBuilder/Factory/Agent_Factory ) hinzu.
Erstellen Sie Ihren Agenten
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'
)Fügen Sie Ihren Agenten in der Methode get_all_agents hinzu.
def get_all_agents():
return [
default_agent(),
weather_agent(),
python_agent(),
git_agent(),
+ my_agent()
]Passen Sie Ihren Agent -Workflow mit benutzerdefinierten Eingabeaufforderungen und Grafiken an. Filtern Sie den Agenten mit dem Namen des Agenten, um Anpassungen anzuwenden.
Der folgende Code wendet beispielsweise den Workflow des Graph Builders für den Agenten mit dem Namen "Graph_agent" an
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 )Wichtig
Das Abhängigkeitspaket "Langgraph" muss für Basegraphagentbuilder installiert werden.
Aktualisieren Sie die Modellkonfiguration mit Umgebungsvariablen.
Unterstützt {Provider}/{Modellname} Format
Zwillinge
Erstellen Sie API -Schlüssel https://aistudio.google.com/app/apikeyy
MODEL_NAME = " gemini/gemini-pro "
EMBED_MODEL_NAME = " gemini/embedding-001 "
GOOGLE_API_KEY = <GOOGLE_API_KEY>Zusammenhängen
Erstellen Sie API-Schlüssel https://dashboard.cohere.com/api-keys
MODEL_NAME = " cohere/command "
EMBED_MODEL_NAME = " cohere/embed-english-v3.0 "
COHERE_API_KEY = <COHERE_API_KEY>Offene AI
Erstellen Sie API-Tasten 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>Anthropisch
Erstellen Sie API -Schlüssel https://www.anthropic.com/ und 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>Ollama
Verwenden Sie lokale Modelle für Funktionsaufrufe.
Tipp
Verwenden Sie den JSON -Chat -Agenten -Typ für eine bessere Kompatibilität mit lokalen Modellen.
Installieren Sie Ollama und ziehen Sie das Modell.
ollama pull mistral:v0.3Setzen Sie die Umgebungsvariable.
MODEL_NAME = " ollama/mistral:v0.3 "