141 lines
3.0 KiB
Python
141 lines
3.0 KiB
Python
"""Template files for agentkit init"""
|
|
|
|
AGENTKIT_YAML = """\
|
|
# AgentKit Configuration
|
|
# See https://github.com/fischer/agentkit for documentation
|
|
|
|
server:
|
|
host: "0.0.0.0"
|
|
port: 8001
|
|
workers: 1
|
|
api_key: null # Set to enable API key authentication
|
|
rate_limit: 60 # Requests per minute
|
|
|
|
llm:
|
|
default_provider: "openai"
|
|
providers:
|
|
openai:
|
|
api_key: "${OPENAI_API_KEY}"
|
|
base_url: "https://api.openai.com/v1"
|
|
models:
|
|
gpt-4o:
|
|
alias: "default"
|
|
gpt-4o-mini:
|
|
alias: "fast"
|
|
deepseek:
|
|
api_key: "${DEEPSEEK_API_KEY}"
|
|
base_url: "https://api.deepseek.com/v1"
|
|
models:
|
|
deepseek-chat:
|
|
alias: "deepseek"
|
|
|
|
memory:
|
|
semantic:
|
|
backend: "pgvector"
|
|
connection: "${DATABASE_URL:-postgresql+asyncpg://agentkit:agentkit@localhost:5432/agentkit}"
|
|
episodic:
|
|
backend: "redis"
|
|
connection: "${REDIS_URL:-redis://localhost:6379/0}"
|
|
working:
|
|
backend: "redis"
|
|
connection: "${REDIS_URL:-redis://localhost:6379/1}"
|
|
|
|
skills:
|
|
auto_discover: true
|
|
paths:
|
|
- "./skills"
|
|
|
|
logging:
|
|
level: "INFO"
|
|
format: "text" # "text" or "json"
|
|
"""
|
|
|
|
ENV_EXAMPLE = """\
|
|
# AgentKit Environment Variables
|
|
# Copy this file to .env and fill in your values
|
|
|
|
# LLM API Keys (at least one required)
|
|
OPENAI_API_KEY=sk-your-openai-key
|
|
DEEPSEEK_API_KEY=sk-your-deepseek-key
|
|
|
|
# Database (required for semantic memory)
|
|
DATABASE_URL=postgresql+asyncpg://agentkit:agentkit@localhost:5432/agentkit
|
|
|
|
# Redis (required for episodic/working memory)
|
|
REDIS_URL=redis://localhost:6379/0
|
|
|
|
# Server (optional)
|
|
AGENTKIT_API_KEY= # Set to enable API key authentication
|
|
"""
|
|
|
|
DOCKER_COMPOSE = """\
|
|
version: "3.8"
|
|
|
|
services:
|
|
agentkit:
|
|
build: .
|
|
command: serve --host 0.0.0.0 --port 8001
|
|
ports:
|
|
- "8001:8001"
|
|
env_file: .env
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
postgres:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8001/api/v1/health')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
postgres:
|
|
image: pgvector/pgvector:pg15
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_USER: agentkit
|
|
POSTGRES_PASSWORD: agentkit
|
|
POSTGRES_DB: agentkit
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U agentkit"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
pgdata:
|
|
"""
|
|
|
|
EXAMPLE_SKILL = """\
|
|
# Example Skill Configuration
|
|
name: example_skill
|
|
description: "An example skill for demonstration"
|
|
agent_type: assistant
|
|
mode: llm_generate
|
|
version: "1.0"
|
|
|
|
prompt: |
|
|
You are a helpful assistant. Respond to the user's request clearly and concisely.
|
|
|
|
tools: []
|
|
|
|
quality_gate:
|
|
enabled: false
|
|
|
|
evolution:
|
|
enabled: false
|
|
"""
|