Anda dapat memulai server API menggunakan wadah Docker atau mengkloning secara manual dan membangun repositori ini.
Pengaturan Manual: Kloning repositori ini di mesin lokal Anda dan mulai server API Python Fast. Secara opsional, instal dan atur Mongo DB.
Pengaturan Kontainer Dev: Kontainer dev memungkinkan Anda untuk mengotomatisasi pengaturan lingkungan. Gunakan pengaturan ini untuk menginstal dan menjalankan layanan kontainer di lingkungan yang terisolasi dengan ekstensi yang diinstal. Anda juga dapat membuka Codespace GitHub di lingkungan/browser jarak jauh menggunakan Secrets to Pass Model API Keys.
Siapkan Python VirtualEnv dan instal dependensi
python -m venv --prompt agent-builder-api venv
source venv/bin/activate
# venv/Scripts/activate (Windows)
pip install -r requirements.txtAtur nama model dan kunci API di file .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "Mulai server di terminal baru
python -m agentbuilder.mainUntuk manajemen ketergantungan berbutir halus, gunakan puisi untuk memilih dan memilih paket ketergantungan berdasarkan fitur penyedia dan alat LLM Model Anda.
Ikuti panduan instruksi resmi untuk menginstal puisi.
Pilih dan pilih paket ketergantungan untuk dipasang.
poetry install --extras " openai gemini cohere anthropic mongodb vectordb langgraph "Atur nama model dan kunci API di file .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai "Mulai server di terminal baru
poetry run start-serverCatatan
Puisi akan menciptakan lingkungan virtual bagi kita.
Secara default, data disimpan sebagai file JSON. Aktifkan penyimpanan di Mongo DB dengan mengatur URL menggunakan variabel lingkungan.
MONGODB_URL = " mongodb://localhost:27017/llmdb "Aktifkan wadah dev di vScode dengan mengikuti langkah -langkah dalam dokumentasi resmi.
Klik lencana di bawah ini untuk menjalankan layanan di lingkungan kontainer yang terisolasi di mesin lokal.
Ini akan mengkloning repo dan memulai Layanan Kontainer API dan DB Mongo.
Tip
Gunakan URL MongoDB: // MongoDB: 27017/LLMDB dalam Mongo DB Ekstensi VScode untuk melihat data penyimpanan.
Jalankan F1> Dev Containers: Lampirkan ke Container yang Berlari .. dan pilih Agen-Builder-Container .
Atur nama model dan kunci API di file .env
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " Paket ketergantungan memungkinkan instalasi paket berbutir halus berdasarkan kebutuhan Anda. Gunakan variabel lingkungan extra_deps dalam file compose Docker untuk diperbarui.
Install-Extra-Deps.sh Script dapat digunakan dalam mode wadah dev jika komposisi Docker tidak tersedia.
Misalnya, konfigurasi lingkungan di bawah ini akan menginstal dependensi untuk model Gemini, Mongo DB, Langchain Graph, dan VectordB
EXTRA_DEPS : " gemini,mongodb,langgraph,vectordb " Tip
Mulailah dengan paket ketergantungan dasar untuk mendukung model Anda dan menambahkan fitur lainnya secara bertahap
Model berikut didukung oleh paket ketergantungannya
| Model | Paket ketergantungan | Nama kunci Env |
|---|---|---|
| Buka AI | Openai | Openai_api_key |
| GEMINI | Gemini | Google_api_key |
| BERPADU | berpadu | Cohere_api_key |
| Antropik | Antropik | Antropic_api_key |
Beberapa alat yang dikonfigurasi sebelumnya memerlukan ketergantungan tambahan atau kunci API untuk diaktifkan.
| Alat | Paket ketergantungan | Nama kunci Env |
|---|---|---|
| internet_search | - | Tavily_api_key |
| vectorstore_search | Vectorbb | Embed_model_name |
Tambahkan Alat Kustom atau Toolkit Menggunakan Modul Pabrik Alat ( AgenBuilder/Factory/Tool_Factory ).
Buat alat Anda
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 ())}Tambahkan alat Anda di metode get_all_tools dalam modul 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
]Agen dapat dibuat menggunakan Extension UI atau dinyatakan dalam kode. Tambahkan agen Anda menggunakan modul agen pabrik ( AgentBuilder/Factory/Agent_Factory ).
Buat agen Anda
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'
)Tambahkan agen Anda dalam metode get_all_agents .
def get_all_agents():
return [
default_agent(),
weather_agent(),
python_agent(),
git_agent(),
+ my_agent()
]Kustomisasi alur kerja agen Anda menggunakan prompt dan grafik khusus. Saring agen menggunakan nama agen untuk menerapkan kustomisasi.
Misalnya, kode berikut menerapkan alur kerja grafik pembangun untuk agen bernama "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 )Penting
Paket Ketergantungan "Langgraph" perlu dipasang untuk BasegraphagentBuilder.
Perbarui konfigurasi model menggunakan variabel lingkungan.
Mendukung format {penyedia}/{ModelName}
Gemini
Buat tombol API https://aistudio.google.com/app/apikey
MODEL_NAME = " gemini/gemini-pro "
EMBED_MODEL_NAME = " gemini/embedding-001 "
GOOGLE_API_KEY = <GOOGLE_API_KEY>Berpadu
Buat tombol 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>Buka AI
Buat tombol 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>Antropik
Buat tombol API https://www.anthropic.com/ dan 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
Gunakan model lokal untuk panggilan fungsi.
Tip
Gunakan jenis agen obrolan JSON untuk kompatibilitas yang lebih baik dengan model lokal.
Instal ollama dan tarik modelnya.
ollama pull mistral:v0.3Atur variabel lingkungan.
MODEL_NAME = " ollama/mistral:v0.3 "