Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de 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.
Prerequisites
- Installeer en start Ollama.
- Download een model, zoals
ollama pull llama3.2.
Installation
dotnet add package OllamaSharp
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
OLLAMA_ENDPOINT="http://localhost:11434"
OLLAMA_MODEL_NAME="llama3.2"
Een Ollama-agent maken
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using OllamaSharp;
var endpoint = Environment.GetEnvironmentVariable("OLLAMA_ENDPOINT") ?? throw new InvalidOperationException("OLLAMA_ENDPOINT is not set.");
var modelName = Environment.GetEnvironmentVariable("OLLAMA_MODEL_NAME") ?? throw new InvalidOperationException("OLLAMA_MODEL_NAME is not set.");
// Get a chat client for Ollama and use it to construct an AIAgent.
AIAgent agent = new OllamaApiClient(new Uri(endpoint), modelName)
.AsAIAgent(instructions: "You are good at telling jokes.", name: "Joker");
// Invoke the agent and output the text result.
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));
Prerequisites
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
Configuration
OLLAMA_MODEL="llama3.2"
De systeemeigen client maakt standaard verbinding met http://localhost:11434 . Overschrijven met de OLLAMA_HOST omgevingsvariabele of het host constructorargument.
Ollama Agents maken
OllamaChatClient biedt systeemeigen Ollama-integratie met volledige ondersteuning voor functiehulpprogramma's en streaming.
import asyncio
from agent_framework import Agent
from agent_framework.ollama import OllamaChatClient
async def main():
agent = Agent(
client=OllamaChatClient(),
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 | Opmerkingen |
|---|---|---|
| Functiehulpmiddelen | ✅ | Standaard Python-aanroepbare objecten of @ai_function. Of het geselecteerde model deze daadwerkelijk kan aanroepen, is afhankelijk van het model zelf. |
| Goedkeuring van hulpprogramma | ✅ | Geleverd door de functie-aanroepende chatclient van het framework; werkt met elke aanroep van een functiehulpmiddel. |
| Code-interpreter | ❌ | Geen gehoste code-interpreter. |
| Zoeken naar bestanden | ❌ | Geen gehoste bestandszoekopdracht. |
| Zoeken op internet | ❌ | Geen gehoste zoekopdracht op internet. |
| Gehoste MCP-tools | ❌ | 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 import Agent
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 = Agent(
client=OllamaChatClient(),
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())
Streaming
from agent_framework import Agent
from agent_framework.ollama import OllamaChatClient
async def streaming_example():
agent = Agent(
client=OllamaChatClient(),
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()
Opmerking
Ondersteuning voor deze functie is binnenkort beschikbaar. Zie de opslagplaats Agent Framework Go voor de meest recente status.