Ollama

Met Ollama kunt u opensource-modellen lokaal uitvoeren en gebruiken met Agent Framework. Dit is ideaal voor ontwikkeling, testen en scenario's waarbij u gegevens on-premises moet bewaren.

In het volgende voorbeeld ziet u hoe u een agent maakt met behulp van Ollama:

using System;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;

// Create an Ollama agent using Microsoft.Extensions.AI.Ollama
// Requires: dotnet add package Microsoft.Extensions.AI.Ollama --prerelease
var chatClient = new OllamaChatClient(
    new Uri("http://localhost:11434"),
    modelId: "llama3.2");

AIAgent agent = chatClient.AsAIAgent(
    instructions: "You are a helpful assistant running locally via Ollama.");

Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));

Vereiste voorwaarden

Zorg ervoor dat Ollama lokaal wordt geïnstalleerd en uitgevoerd met een model dat is gedownload voordat u voorbeelden uitvoert:

ollama pull llama3.2

Opmerking

Niet alle modellen ondersteunen het aanroepen van functies. Probeer of llama3.2voor qwen3:4b het gebruik van hulpprogramma's.

Installation

pip install agent-framework-ollama --pre

Configuratie

OLLAMA_MODEL="llama3.2"

De systeemeigen client maakt standaard verbinding met http://localhost:11434 . U kunt dit overschrijven door deze door te geven host aan de client.

Ollama Agents maken

OllamaChatClient biedt systeemeigen Ollama-integratie met volledige ondersteuning voor functiehulpprogramma's en streaming.

import asyncio
from agent_framework.ollama import OllamaChatClient

async def main():
    agent = OllamaChatClient().as_agent(
        name="HelpfulAssistant",
        instructions="You are a helpful assistant running locally via Ollama.",
    )
    result = await agent.run("What is the largest city in France?")
    print(result)

asyncio.run(main())

Tools

De Python Ollama-clients (OllamaChatClient en OpenAIChatClient gericht op een eindpunt dat compatibel is met Ollama) ondersteunen lokaal aangeroepen hulpprogramma's. Gehoste hulpprogrammatypen bestaan niet omdat Ollama een lokale modelruntime is.

Tool Status Aantekeningen
Functiehulpmiddelen Standaard Python aanroepbare of @ai_function. Of het geselecteerde model deze daadwerkelijk kan aanroepen, is afhankelijk van het model zelf.
Goedkeuring van hulpprogramma Geleverd door de functie-aanroepen van de chatclient van het framework; werkt met een functiehulpmiddeloproep.
Code-interpreter Geen gehoste code-interpreter.
Zoeken naar bestanden Geen gehoste bestandszoekopdracht.
Zoeken op internet Geen gehoste zoekopdracht op internet.
Gehoste MCP-hulpprogramma's Ollama stelt gehoste MCP niet bloot.
Lokale MCP-hulpprogramma's Wordt uitgevoerd in uw proces en werkt met elke chatclient.

Functiehulpmiddelen

import asyncio
from datetime import datetime
from agent_framework.ollama import OllamaChatClient

def get_time(location: str) -> str:
    """Get the current time."""
    return f"The current time in {location} is {datetime.now().strftime('%I:%M %p')}."

async def main():
    agent = OllamaChatClient().as_agent(
        name="TimeAgent",
        instructions="You are a helpful time agent.",
        tools=get_time,
    )
    result = await agent.run("What time is it in Seattle?")
    print(result)

asyncio.run(main())

Streamen

async def streaming_example():
    agent = OllamaChatClient().as_agent(
        instructions="You are a helpful assistant.",
    )
    print("Agent: ", end="", flush=True)
    async for chunk in agent.run("Tell me about Python.", stream=True):
        if chunk.text:
            print(chunk.text, end="", flush=True)
    print()

Volgende stappen