Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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()