Chat Models
Forage supports multiple LLM providers. Select one with the model.kind property.
Available Providers
| Name | Description |
azure-openai | OpenAI models hosted on Microsoft Azure |
openai | OpenAI API-compatible models |
ollama | Locally-hosted models via Ollama (Llama, Mistral, etc.) |
google-gemini | Google Gemini models |
anthropic | Anthropic Claude models |
bedrock | Amazon Bedrock multi-model provider supporting Claude, Llama, Titan, Cohere, and Mistral |
dashscope | Alibaba Cloud Qwen models via DashScope (placeholder) |
hugging-face | Open-source models via HuggingFace Inference API |
local-ai | Self-hosted models via LocalAI (OpenAI-compatible) |
mistral-ai | Mistral AI models |
watsonx-ai | IBM Watsonx.ai models |
Ollama
Locally-hosted models via Ollama.
forage.myAgent.agent.model.kind=ollama
forage.myAgent.agent.model.name=granite4:3b
forage.myAgent.agent.base.url=http://localhost:11434
| Property | Description | Type | Default | Required |
forage.ollama.base.url | The base URL of the Ollama server | string | http://localhost:11434 | |
forage.ollama.model.name | The Ollama model to use | string | llama3 | |
forage.ollama.temperature | Temperature for response randomness (0.0-2.0) | double | | |
forage.ollama.num.ctx | Context window size | integer | | |
forage.ollama.timeout | Request timeout duration in ISO-8601 format (e.g. PT120S for 120 seconds) | string | | |
Advanced
| Property | Description | Type | Default | Required |
forage.ollama.top.k | Top-K sampling parameter | integer | | |
forage.ollama.top.p | Top-P (nucleus) sampling parameter (0.0-1.0) | double | | |
forage.ollama.min.p | Minimum probability threshold (0.0-1.0) | double | | |
forage.ollama.log.requests | Enable request logging | boolean | | |
forage.ollama.log.responses | Enable response logging | boolean | | |
OpenAI
OpenAI API and compatible endpoints.
forage.myAgent.agent.model.kind=openai
forage.myAgent.agent.model.name=gpt-4o
forage.myAgent.agent.api.key=${OPENAI_API_KEY}
| Property | Description | Type | Default | Required |
forage.openai.model.name | The specific OpenAI model to use | string | gpt-3.5-turbo | Yes |
forage.openai.base.url | Custom base URL for OpenAI API | string | | |
forage.openai.temperature | Temperature for response randomness (0.0-2.0) | double | | |
Security
| Property | Description | Type | Default | Required |
forage.openai.api.key | OpenAI API key for authentication | password | | Yes |
Advanced
| Property | Description | Type | Default | Required |
forage.openai.max.tokens | Maximum number of tokens to generate | integer | | |
forage.openai.top.p | Top-P (nucleus) sampling parameter (0.0-1.0) | double | | |
forage.openai.frequency.penalty | Frequency penalty (-2.0 to 2.0) | double | | |
forage.openai.presence.penalty | Presence penalty (-2.0 to 2.0) | double | | |
forage.openai.log.requests | Enable request logging | boolean | | |
forage.openai.log.responses | Enable response logging | boolean | | |
forage.openai.timeout | Request timeout duration | string | | |
forage.openai.http1 | Use HTTP/1.1 instead of HTTP/2 | boolean | | |
Google Gemini
Google's Gemini models.
forage.myAgent.agent.model.kind=google-gemini
forage.myAgent.agent.model.name=gemini-2.5-flash-lite
forage.myAgent.agent.api.key=${GOOGLE_API_KEY}
| Property | Description | Type | Default | Required |
forage.google.api.key | Google AI API key for authentication | password | | Yes |
forage.google.model.name | Google Gemini model name (e.g., gemini-pro, gemini-pro-vision, gemini-1.5-pro) | string | | Yes |
forage.google.temperature | Temperature for response randomness (0.0-2.0) | double | | |
Advanced
| Property | Description | Type | Default | Required |
forage.google.timeout | Request timeout in seconds | integer | | |
forage.google.log.requests | Enable request and response logging | boolean | | |
Anthropic
Anthropic's Claude models.
forage.myAgent.agent.model.kind=anthropic
forage.myAgent.agent.model.name=claude-sonnet-4-20250514
forage.myAgent.agent.api.key=${ANTHROPIC_API_KEY}
| Property | Description | Type | Default | Required |
forage.anthropic.api.key | Anthropic API key for authentication | password | | Yes |
forage.anthropic.model.name | Claude model name (e.g., claude-3-haiku-20240307, claude-3-sonnet-20240229, claude-3-opus-20240229) | string | claude-3-haiku-20240307 | |
forage.anthropic.temperature | Temperature for response generation (0.0-1.0): lower values are more deterministic, higher values are more creative | double | | |
forage.anthropic.max.tokens | Maximum number of tokens in the model's response | integer | | |
Advanced
| Property | Description | Type | Default | Required |
forage.anthropic.top.p | Top-p (nucleus sampling) probability threshold (0.0-1.0) | double | | |
forage.anthropic.top.k | Top-k sampling parameter: limits the model to consider only the top-k most probable tokens | integer | | |
forage.anthropic.stop.sequences | Comma-separated stop sequences that cause the model to stop generating further tokens | string | | |
forage.anthropic.timeout | Request timeout in seconds | integer | | |
forage.anthropic.max.retries | Maximum number of retry attempts for failed requests | integer | | |
forage.anthropic.log.requests.and.responses | Enable logging of requests and responses (warning: may log sensitive data) | boolean | | |
Azure OpenAI
Azure-hosted OpenAI models.
forage.myAgent.agent.model.kind=azure-openai
forage.myAgent.agent.endpoint=https://my-resource.openai.azure.com
forage.myAgent.agent.deployment.name=my-deployment
forage.myAgent.agent.api.key=${AZURE_OPENAI_KEY}
| Property | Description | Type | Default | Required |
forage.azure.openai.api.key | Azure OpenAI API key for authentication | password | | Yes |
forage.azure.openai.endpoint | Azure OpenAI resource endpoint URL (e.g., https://your-resource.openai.azure.com/) | string | | Yes |
forage.azure.openai.deployment.name | Azure OpenAI deployment name (e.g., gpt-35-turbo, gpt-4) | string | | Yes |
forage.azure.openai.service.version | Azure OpenAI API service version (e.g., 2024-02-01) | string | | |
forage.azure.openai.temperature | Temperature for response generation (0.0-2.0): lower values are more deterministic, higher values are more creative | double | | |
forage.azure.openai.max.tokens | Maximum number of tokens in the model's response | integer | | |
Advanced
| Property | Description | Type | Default | Required |
forage.azure.openai.top.p | Top-p (nucleus sampling) probability threshold (0.0-1.0) | double | | |
forage.azure.openai.presence.penalty | Presence penalty for discouraging new topic introduction (-2.0 to 2.0) | double | | |
forage.azure.openai.frequency.penalty | Frequency penalty for discouraging token repetition (-2.0 to 2.0) | double | | |
forage.azure.openai.seed | Seed for deterministic response generation (same seed + same input = similar output) | integer | | |
forage.azure.openai.user | User identifier for tracking and monitoring API usage | string | | |
forage.azure.openai.timeout | Request timeout in seconds | integer | | |
forage.azure.openai.max.retries | Maximum number of retry attempts for failed requests | integer | | |
forage.azure.openai.log.requests.and.responses | Enable logging of requests and responses (warning: may log sensitive data) | boolean | | |
Amazon Bedrock
AWS Bedrock models.
forage.myAgent.agent.model.kind=bedrock
forage.myAgent.agent.model.name=anthropic.claude-v2
| Property | Description | Type | Default | Required |
forage.bedrock.region | AWS region where Bedrock is available | string | us-east-1 | Yes |
forage.bedrock.model.id | Bedrock model identifier (e.g., anthropic.claude-3-5-sonnet-20240620-v1:0) | string | | |
forage.bedrock.temperature | Sampling temperature for response randomness (0.0-1.0) | double | | Yes |
Security
| Property | Description | Type | Default | Required |
forage.bedrock.access.key.id | AWS access key ID (optional, uses default credential chain if not provided) | password | | Yes |
forage.bedrock.secret.access.key | AWS secret access key (optional, uses default credential chain if not provided) | password | | Yes |
Advanced
| Property | Description | Type | Default | Required |
forage.bedrock.max.tokens | Maximum number of tokens to generate | integer | | Yes |
forage.bedrock.top.p | Top-P (nucleus) sampling parameter (0.0-1.0) | double | | Yes |
WatsonX AI
IBM WatsonX AI models.
forage.myAgent.agent.model.kind=watsonx-ai
forage.myAgent.agent.model.name=ibm/granite-34b-code-instruct
forage.myAgent.agent.api.key=${WATSONX_API_KEY}
| Property | Description | Type | Default | Required |
forage.watsonxai.api.key | IBM Cloud API key for authentication | password | | Yes |
forage.watsonxai.url | The Watsonx.ai service URL (e.g., https://us-south.ml.cloud.ibm.com) | string | | Yes |
forage.watsonxai.project.id | The Watsonx.ai project ID | string | | Yes |
forage.watsonxai.model.name | The foundation model to use | string | llama-3-405b-instruct | |
forage.watsonxai.temperature | Temperature for response generation (0.0-2.0) | double | | |
Advanced
| Property | Description | Type | Default | Required |
forage.watsonxai.max.new.tokens | Maximum number of new tokens in response | integer | | |
forage.watsonxai.top.p | Top-p (nucleus sampling) parameter (0.0-1.0) | double | | |
forage.watsonxai.top.k | Top-k sampling parameter | integer | | |
forage.watsonxai.random.seed | Random seed for reproducible results | integer | | |
forage.watsonxai.repetition.penalty | Penalty for repetition (1.0-2.0) | double | | |
forage.watsonxai.min.new.tokens | Minimum number of new tokens in response | integer | | |
forage.watsonxai.stop.sequences | Stop sequences for response generation (comma-separated) | string | | |
forage.watsonxai.timeout | Request timeout in seconds | integer | | |
forage.watsonxai.max.retries | Maximum number of retry attempts | integer | | |
forage.watsonxai.log.requests.and.responses | Enable request and response logging | boolean | | |
Mistral AI
forage.myAgent.agent.model.kind=mistral-ai
forage.myAgent.agent.model.name=mistral-large-latest
forage.myAgent.agent.api.key=${MISTRAL_API_KEY}
| Property | Description | Type | Default | Required |
forage.mistralai.api.key | MistralAI API key for authentication | password | | Yes |
forage.mistralai.model.name | The MistralAI model to use | string | mistral-large-latest | |
forage.mistralai.temperature | Temperature for response generation (0.0-1.0) | double | | |
Advanced
| Property | Description | Type | Default | Required |
forage.mistralai.max.tokens | Maximum number of tokens for model responses | integer | | |
forage.mistralai.top.p | Top-p (nucleus sampling) parameter (0.0-1.0) | double | | |
forage.mistralai.random.seed | Random seed for reproducible results | integer | | |
forage.mistralai.timeout | Request timeout in seconds | integer | | |
forage.mistralai.max.retries | Maximum number of retry attempts | integer | | |
forage.mistralai.log.requests.and.responses | Enable request and response logging | boolean | | |
Hugging Face
forage.myAgent.agent.model.kind=hugging-face
forage.myAgent.agent.model.name=meta-llama/Llama-2-7b-chat-hf
forage.myAgent.agent.api.key=${HF_API_KEY}
| Property | Description | Type | Default | Required |
forage.huggingface.api.key | HuggingFace API key for authentication | password | | Yes |
forage.huggingface.model.id | The HuggingFace model ID to use (e.g., microsoft/DialoGPT-medium) | string | | |
forage.huggingface.temperature | Temperature for response generation (0.0-2.0) | double | | |
forage.huggingface.max.new.tokens | Maximum number of new tokens to generate | integer | | |
Advanced
| Property | Description | Type | Default | Required |
forage.huggingface.top.k | Top-k sampling parameter | integer | | |
forage.huggingface.top.p | Top-p (nucleus) sampling parameter | double | | |
forage.huggingface.do.sample | Whether to use sampling for text generation | boolean | | |
forage.huggingface.repetition.penalty | Penalty for repeating tokens (1.0-2.0) | double | | |
forage.huggingface.return.full.text | Whether to return full text including input | boolean | | |
forage.huggingface.wait.for.model | Whether to wait for the model to load if it's not ready | boolean | | |
forage.huggingface.timeout | Request timeout in seconds | integer | | |
forage.huggingface.max.retries | Maximum number of retry attempts | integer | | |
forage.huggingface.log.requests.and.responses | Enable request and response logging | boolean | | |
DashScope
Alibaba Cloud's DashScope models.
forage.myAgent.agent.model.kind=dashscope
forage.myAgent.agent.model.name=qwen-turbo
forage.myAgent.agent.api.key=${DASHSCOPE_API_KEY}
| Property | Description | Type | Default | Required |
forage.dashscope.api.key | Alibaba Dashscope API key for authentication | password | | Yes |
forage.dashscope.model.name | Qwen model name (e.g., qwen-turbo, qwen-plus, qwen-max, qwen-max-longcontext) | string | qwen-turbo | |
forage.dashscope.temperature | Temperature for response generation (0.0-2.0): lower values are more deterministic, higher values are more creative | double | | |
forage.dashscope.max.tokens | Maximum number of tokens in the model's response | integer | | |
Advanced
| Property | Description | Type | Default | Required |
forage.dashscope.top.p | Top-p (nucleus sampling) probability threshold (0.0-1.0) | double | | |
forage.dashscope.top.k | Top-k sampling parameter: limits the model to consider only the top-k most probable tokens | integer | | |
forage.dashscope.repetition.penalty | Repetition penalty for discouraging token repetition (0.0-2.0) | double | | |
forage.dashscope.seed | Seed for deterministic response generation (same seed + same input = similar output) | integer | | |
forage.dashscope.enable.search | Enable web search functionality to provide more up-to-date information | boolean | | |
forage.dashscope.timeout | Request timeout in seconds | integer | | |
forage.dashscope.max.retries | Maximum number of retry attempts for failed requests | integer | | |
forage.dashscope.log.requests.and.responses | Enable logging of requests and responses (warning: may log sensitive data) | boolean | | |
LocalAI
Self-hosted models via LocalAI.
forage.myAgent.agent.model.kind=local-ai
forage.myAgent.agent.model.name=gpt-4
forage.myAgent.agent.base.url=http://localhost:8080
| Property | Description | Type | Default | Required |
forage.localai.base.url | The LocalAI server endpoint URL | string | | Yes |
forage.localai.model.name | The model to use (must be available on LocalAI server) | string | | |
forage.localai.temperature | Temperature for response generation (0.0-2.0) | double | | |
forage.localai.user | User identifier for tracking and monitoring | string | | |
Security
| Property | Description | Type | Default | Required |
forage.localai.api.key | LocalAI API key for authentication (optional) | password | | |
Advanced
| Property | Description | Type | Default | Required |
forage.localai.max.tokens | Maximum number of tokens for model responses | integer | | |
forage.localai.top.p | Top-p (nucleus sampling) probability threshold (0.0-1.0) | double | | |
forage.localai.presence.penalty | Presence penalty for discouraging new topic introduction (-2.0 to 2.0) | double | | |
forage.localai.frequency.penalty | Frequency penalty for discouraging token repetition (-2.0 to 2.0) | double | | |
forage.localai.seed | Seed for deterministic response generation | integer | | |
forage.localai.timeout | Request timeout in seconds | integer | | |
forage.localai.max.retries | Maximum number of retry attempts for failed requests | integer | | |
forage.localai.log.requests.and.responses | Enable request and response logging | boolean | | |