Skip to content

model

The model block configures an LLM provider and model.

Syntax

orca
model <name> {
  provider    = <string>
  model_name  = <string>
  api_key     = <string>  // optional
  base_url    = <string>  // optional
  temperature = <float>   // optional
}

Fields

FieldTypeRequiredDescription
providerstrYesLLM provider: "openai", "anthropic", or "google"
model_namestr | modelYesThe model identifier (e.g., "gpt-4o", "claude-sonnet")
api_keystr | nullNoAPI key for the provider (overrides environment variable)
base_urlstr | nullNoCustom base URL for the provider endpoint
temperaturefloat | nullNoSampling temperature (0.0 – 1.0)

Supported providers

ProviderGenerated classPython package
"openai"ChatOpenAIlangchain-openai
"anthropic"ChatAnthropiclangchain-anthropic
"google"ChatGoogleGenerativeAIlangchain-google-genai

The compiler automatically adds the correct package to pyproject.toml based on which providers you use.

Examples

OpenAI

orca
model gpt4 {
  provider    = "openai"
  model_name  = "gpt-4o"
  temperature = 0.7
}

Anthropic

orca
model claude {
  provider    = "anthropic"
  model_name  = "claude-sonnet-4-20250514"
  temperature = 0.5
}

Google

orca
model gemini {
  provider    = "google"
  model_name  = "gemini-2.0-flash"
}

Generated output

orca
model gpt4 {
  provider    = "openai"
  model_name  = "gpt-4o"
  temperature = 0.7
}

Compiles to:

python
from langchain_openai import ChatOpenAI

gpt4 = ChatOpenAI(model="gpt-4o", temperature=0.7)  # main.oc:1

Released under the MIT License.