Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ollama umožňuje spouštět opensourcové modely místně a používat je s architekturou Agent Framework. To je ideální pro vývoj, testování a scénáře, ve kterých potřebujete uchovávat data místně.
Následující příklad ukazuje, jak vytvořit agenta pomocí 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?"));
Předpoklady
Před spuštěním příkladů se ujistěte, že je Ollama nainstalovaný a spuštěný místně s modelem staženým:
ollama pull llama3.2
Poznámka:
Ne všechny modely podporují volání funkcí. Pro použití nástroje zkuste llama3.2 nebo qwen3:4b.
Installation
pip install agent-framework-ollama --pre
Konfigurace
OLLAMA_MODEL="llama3.2"
Nativní klient se http://localhost:11434 ve výchozím nastavení připojuje. Můžete to přepsat předáním host klientovi.
Vytvoření agentů Ollama
OllamaChatClient poskytuje nativní integraci Ollama s plnou podporou pro nástroje funkcí a streamování.
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())
Funkční nástroje
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())
Streamování
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()