Files
agent-framework/python/samples/getting_started/agents/ollama
T
Nico Möller 2f06fe557a Python : Ollama Connector for Agent Framework (#1104)
* Initial Commit for Olama Connector

* Added Olama Sample

* Add Sample & Fixed Open Telemetry

* Fixed Spelling from Olama to Ollama

* remove"opentelemetry-semantic-conventions-ai ~=0.4.13" since its handled in a different pr

* Added Tool Calling

* Finalizing test cases

* Adjust samples to be more reliable

* Update python/packages/ollama/agent_framework_ollama/_chat_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/ollama/pyproject.toml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/ollama/tests/test_ollama_chat_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/packages/ollama/agent_framework_ollama/_chat_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Improved Docstrings & Sample

* Update python/packages/ollama/agent_framework_ollama/_chat_client.py

Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>

* Integrate PR Feedback
- Divided Streaming and Non-Streaming into independent Methods
- Catch Ollama Validation Error
- Add OTEL Provider Name
- Checked Ollama Messages
- Add Usage Statistics

* Revert setting, so it can be none

* Validate Message formatting between AF and Ollama

* Catch Ollama Error and raise a ServiceResponse Error

* Fix mypy error

* remove .vscode comma

* Add Reasoning support & adjust to new structure

* Add Ollama Multimodality and Reasoning

* Add test cases for reasoning

* Add Tests for Error Handling in Ollama Client

* Update python/samples/getting_started/multimodal_input/ollama_chat_multimodal.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Integrated Copilot Feedback

* Implement first PR Feedback

* Adjust Readme files for examples

* Adjust argument passing via additional chat options

* Implemented PR Feedback

* Removing Ollama Package from Core and moving samples

* Fix Link & Adding Samples to Main Sample Readme

* Fixing Links in Readme

* Moved Multimodal and Chat Example

* Fixed Link in ChatClient to Ollama

* Fix AgentFramework Links in Ollama Project

* Fix observability breaking change

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
2f06fe557a · 2025-12-16 15:02:38 +00:00
History
..

Ollama Examples

This folder contains examples demonstrating how to use Ollama models with the Agent Framework.

Prerequisites

  1. Install Ollama: Download and install Ollama from ollama.com
  2. Start Ollama: Ensure Ollama is running on your local machine
  3. Pull a model: Run ollama pull mistral (or any other model you prefer)
    • For function calling examples, use models that support tool calling like mistral or qwen2.5
    • For reasoning examples, use models that support reasoning like qwen2.5:8b

Note

: Not all models support all features. Function calling and reasoning capabilities depend on the specific model you're using.

Examples

File Description
ollama_with_openai_chat_client.py Demonstrates how to configure OpenAI Chat Client to use local Ollama models. Shows both streaming and non-streaming responses with tool calling capabilities.

Configuration

The examples use environment variables for configuration. Set the appropriate variables based on which example you're running:

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/"
  • OLLAMA_MODEL: The model name to use

    • Example: export OLLAMA_MODEL="mistral"
    • Must be a model you have pulled with Ollama