Model Providers
Configure OrchaJS with OpenAI, Anthropic, DeepSeek, Gemini, Vertex AI, or Amazon Bedrock.
Configure providers once in orcha/index.ts, then select one in each agent's index.json.
API-key providers
OpenAI, Anthropic, DeepSeek, and Google GenAI accept an API key string:
import { orcha } from "orchajs";
orcha.init({
providers: {
openai: process.env.OPENAI_API_KEY ?? "",
anthropic: process.env.ANTHROPIC_API_KEY ?? "",
deepseek: process.env.DEEPSEEK_API_KEY ?? "",
googlegenai: process.env.GOOGLE_API_KEY ?? "",
},
agents: {
assistant: "./assistant",
},
});Use an object when you need a custom endpoint:
providers: {
openai: {
apiKey: process.env.OPENAI_API_KEY ?? "",
baseUrl: "https://api.openai.com/v1",
},
}Google Vertex AI
providers: {
vertexai: {
project: process.env.GOOGLE_CLOUD_PROJECT ?? "",
location: process.env.GOOGLE_CLOUD_LOCATION ?? "us-central1",
},
}When credentials is omitted, the Google SDK uses Application Default Credentials.
For an explicit service account:
providers: {
vertexai: {
project: process.env.GOOGLE_CLOUD_PROJECT ?? "",
location: process.env.GOOGLE_CLOUD_LOCATION ?? "us-central1",
credentials: {
clientEmail: process.env.GOOGLE_CLIENT_EMAIL ?? "",
privateKey: process.env.GOOGLE_PRIVATE_KEY ?? "",
},
},
}Amazon Bedrock
providers: {
bedrock: {
region: process.env.AWS_REGION ?? "us-east-1",
},
}When credentials is omitted, the AWS SDK uses its normal credential chain. Explicit credentials are also supported:
providers: {
bedrock: {
region: process.env.AWS_REGION ?? "us-east-1",
credentials: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID ?? "",
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY ?? "",
sessionToken: process.env.AWS_SESSION_TOKEN,
},
},
}Select a provider and model
In the agent's index.json:
{
"name": "Assistant",
"provider": "openai",
"model": "gpt-5-mini",
"outputType": "text"
}model is the exact provider model identifier. Orcha does not rename models or translate reasoningLevel values between providers.
Different agents and evaluations may use different configured providers:
assistant → OpenAI
policyReviewer → Anthropic
qualityJudge → Google GeminiEnvironment variables
The Orcha library reads the host application's existing process.env. Standalone CLI commands also load .env from the project root without overriding variables already present.
OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
DEEPSEEK_API_KEY=...
GOOGLE_API_KEY=...Never place credentials in agent JSON, instructions, run metadata, prompt variables, tests, or session logs.
Provider capabilities
Text is broadly supported. Structured output, reasoning controls, multimodal input, caching, and replay behavior vary by provider and model. Orcha normalizes supported behavior and returns a clear capability error instead of silently dropping unsupported input.