Ollama

Ollama, açık kaynak modelleri yerel olarak çalıştırmanıza ve bunları Agent Framework ile kullanmanıza olanak tanır. Bu, verileri şirket içinde tutmanız gereken geliştirme, test ve senaryolar için idealdir.

Aşağıdaki örnekte Ollama kullanarak aracı oluşturma gösterilmektedir:

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?"));

Önkoşullar

Örnek çalıştırmadan önce Ollama'nın yerel olarak yüklendiğinden ve model indirildiğinden emin olun:

ollama pull llama3.2

Uyarı

Tüm modeller işlev çağrılarını desteklemez. Araç kullanımı için veya llama3.2öğesini deneyinqwen3:4b.

Installation

pip install agent-framework-ollama --pre

Konfigürasyon

OLLAMA_MODEL="llama3.2"

Yerel istemci varsayılan olarak öğesine http://localhost:11434 bağlanır. İstemciye geçirerek host bunu geçersiz kılabilirsiniz.

Ollama Aracıları Oluşturma

OllamaChatClient işlev araçları ve akış için tam destek ile yerel Ollama tümleştirmesi sağlar.

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())

İşlev Araçları

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())

Yayı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()

Sonraki Adımlar