Synsema docsENES

Config de proveedor

El proveedor lo selecciona y configura el runtime, no el programa — el .syn nunca nombra un host ni una clave, así que no puede redirigir la llamada ni filtrar la clave. Cada knob resuelve environ del proceso > .env > default.

.env (gitignoreado)

SYNSEMA_LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-...

La clave llega al runtime sin entrar al environ del proceso — ningún proceso hijo ni programa puede leerla (el programa necesitaría require secret, y aun así la ve redactada). No hace falta export/source.

Knobs

Env var / entrada .envPropósitoDefault
ANTHROPIC_API_KEY / OPENAI_API_KEY / MINIMAX_API_KEY / DEEPSEEK_API_KEYAPI key; su presencia auto-selecciona el proveedor— (offline si falta)
SYNSEMA_LLM_PROVIDERForzar anthropic / openai / minimax / deepseekauto
SYNSEMA_LLM_MODELId de modeloclaude-sonnet-4-6 / gpt-4o / MiniMax-M3 / deepseek-chat
SYNSEMA_LLM_MAX_TOKENSTope de salida4096
SYNSEMA_LLM_BASE_URLBase del endpoint (apuntar a un server local/compatible)oficial

También podés forzar el proveedor por corrida: synsema run app.syn --provider anthropic (flag > env > .env).

Local / on-prem (100% privado)

Cualquier server compatible con OpenAI (Ollama, LM Studio, vLLM):

SYNSEMA_LLM_PROVIDER=openai
SYNSEMA_LLM_BASE_URL=http://localhost:11434/v1   # Ollama
SYNSEMA_LLM_MODEL=llama3.1
OPENAI_API_KEY=ollama                            # cualquier valor no vacío

El egress al host configurado es parte de require llmno un grant net aparte. Offline (sin clave), las ops devuelven placeholders; ramificá con llm_available(). Para saltarte las ops integradas y pegarle a la API vos mismo, mirá API del proveedor directa.