* Refactor Anthropic model option and provider clients Rename the Anthropic client model option from model_id to model, add provider-specific Anthropic wrappers for Foundry, Bedrock, and Vertex, and expose them through the Anthropic, Foundry, Amazon, and Google namespaces. Update core option handling, docs, samples, and tests accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix Anthropic skills sample typing Cast the Anthropic beta client to Any in the skills sample so the pre-commit sample pyright check no longer fails on beta skills and files endpoints that are not exposed by the current SDK stubs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * undo sample mypy * Retry CI after transient external failures Retrigger PR validation after an unrelated Copilot review workflow SAML failure and a transient external tau2 git fetch failure in the Windows Python test setup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review feedback on model option merging Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address Anthropic compatibility review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * moved all to `model` * fixes for azure ai search * Python: standardize remaining sample env var names Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Python: fix foundry-local pyright compatibility Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * updated env vars in cicd --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2.8 KiB
Ollama Examples
This folder contains examples demonstrating how to use Ollama models with the Agent Framework.
Prerequisites
- Install Ollama: Download and install Ollama from ollama.com
- Start Ollama: Ensure Ollama is running on your local machine
- Pull a model: Run
ollama pull mistral(or any other model you prefer)- For function calling examples, use models that support tool calling like
mistralorqwen2.5 - For reasoning examples, use models that support reasoning like
qwen3:8b - For multimodal examples, use models like
gemma3:4b
- For function calling examples, use models that support tool calling like
Note
: Not all models support all features. Function calling, reasoning, and multimodal capabilities depend on the specific model you're using.
Recommended Approach
The recommended way to use Ollama with Agent Framework is via the native OllamaChatClient from the agent-framework-ollama package. This provides full support for Ollama-specific features like reasoning mode.
Alternatively, you can use the OpenAIChatClient configured to point to your local Ollama server, which may be useful if you're already familiar with the OpenAI client interface.
Examples
| File | Description |
|---|---|
ollama_agent_basic.py |
Basic Ollama agent with tool calling using native Ollama Chat Client. Shows both streaming and non-streaming responses. |
ollama_agent_reasoning.py |
Ollama agent with reasoning capabilities using native Ollama Chat Client. Shows how to enable thinking/reasoning mode. |
ollama_chat_client.py |
Direct usage of the native Ollama Chat Client with tool calling. |
ollama_chat_multimodal.py |
Ollama Chat Client with multimodal (image) input capabilities. |
ollama_with_openai_chat_client.py |
Alternative approach using OpenAI Chat Client configured to use local Ollama models. |
Configuration
The examples use environment variables for configuration. Set the appropriate variables based on which example you're running:
For Native Ollama Examples
Set the following environment variables:
-
OLLAMA_HOST: The base URL for your Ollama server (optional, defaults tohttp://localhost:11434)- Example:
export OLLAMA_HOST="http://localhost:11434"
- Example:
-
OLLAMA_MODEL: The model name to use- Example:
export OLLAMA_MODEL="qwen2.5:8b" - Must be a model you have pulled with Ollama
- Example:
For OpenAI Client with Ollama (ollama_with_openai_chat_client.py)
Set the following environment variables:
-
OLLAMA_ENDPOINT: The base URL for your Ollama server with/v1/suffix- Example:
export OLLAMA_ENDPOINT="http://localhost:11434/v1/"
- Example:
-
OLLAMA_MODEL: The model name to use- Example:
export OLLAMA_MODEL="mistral" - Must be a model you have pulled with Ollama
- Example: