Docker 컨테이너를 사용하여 API 서버를 시작 하거나이 저장소를 수동으로 복제하고 구축 할 수 있습니다.
수동 설정 :이 저장소를 로컬 컴퓨터에서 복제하고 Python Fast API 서버를 시작하십시오. 선택적으로 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.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 컨테이너 서비스를 시작합니다.
팁
Mongo DB VSCODE 확장에서 URL MONGODB : // mongodb : 27017/llmdb를 사용하여 스토리지 데이터를보십시오.
f1> dev 컨테이너 실행 : 런닝 컨테이너에 부착하고 에이전트 빌더 컨테이너를 선택하십시오.
.env 파일에서 모델 이름과 API 키 설정
OPENAI_API_KEY = " sk---- "
MODEL_NAME = " openai " 종속성 팩은 요구 사항에 따라 세밀한 패키지 설치를 허용합니다. Docker-Compose 파일에서 환경 변수 extra_deps를 사용하여 업데이트하십시오.
Docker-Compose를 사용할 수없는 경우 Dev 컨테이너 모드에서 Sulest-Extra-Deps.sh 스크립트를 사용할 수 있습니다.
예를 들어, 아래 환경 구성은 Gemini 모델, Mongo DB, Langchain Graph 및 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 ())}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
]에이전트는 Extension UI를 사용하여 작성하거나 코드로 선언 할 수 있습니다. 에이전트 공장 모듈 ( AgentBuilder/Factory/Agent_fackory )을 사용하여 에이전트를 추가하십시오.
에이전트를 만듭니다
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를 위해 설치해야합니다.
환경 변수를 사용하여 모델 구성을 업데이트합니다.
지원 {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>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.anthropic.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 "