OpenAI Aracıları

Microsoft Agent Framework, hem C# hem de Python iki OpenAI istemci türünü destekler: Yanıtlar ve Sohbet Tamamlama. Yanıtlar önerilen birincil istemcidir: Daha yeni OpenAI Yanıtları API'sini hedefler ve barındırılan araçların tamamını destekler (kod yorumlayıcı, dosya arama, web araması, barındırılan MCP, görüntü oluşturma). Geniş model uyumluluğuna ihtiyaç duyduğunuzda veya korumak istediğiniz mevcut bir Sohbet Tamamlama entegrasyonunuz varsa Sohbet Tamamlama’yı kullanın.

İstemci Türü API En Uygun
Yanıtlar (önerilen) Yanıtlar API'si Barındırılan araçlarla (kod yorumlayıcı, dosya arama, web araması, barındırılan MCP) tam özellikli aracılar
Sohbet Tamamlama Sohbet Tamamlamaları API'si Basit aracılar, geniş model desteği

Uyarı

OpenAI Yardımcıları API'si OpenAI tarafından kullanım dışı bırakılmıştır. Yeni kod Yanıtlar istemcisini kullanmalıdır. Mevcut Yardımcılar tabanlı bir uygulamadan geçiş gerçekleştiriyorsanız Semantik Çekirdek geçiş kılavuzuna bakın.

Başlangıç Yapmak

Projenize gerekli NuGet paketlerini ekleyin.

dotnet add package Microsoft.Agents.AI.OpenAI --prerelease

Yanıt İstemcisi

Yanıtlar istemcisi önerilen birincil istemcidir ve kod yorumlayıcı, dosya arama, web araması ve barındırılan MCP gibi en zengin araç desteğini sağlar.

using Microsoft.Agents.AI;
using OpenAI;

OpenAIClient client = new OpenAIClient("<your_api_key>");
var responsesClient = client.GetResponseClient("gpt-4o-mini");

AIAgent agent = responsesClient.AsAIAgent(
    instructions: "You are a helpful coding assistant.",
    name: "CodeHelper");

Console.WriteLine(await agent.RunAsync("Write a Python function to sort a list."));

Desteklenen araçlar: İşlev araçları, araç onayı, kod yorumlayıcı, dosya arama, web araması, barındırılan MCP, yerel MCP araçları.

Sohbet Tamamlama İstemcisi

Sohbet Tamamlama istemcisi, Sohbet Tamamlamaları API'sini kullanarak aracılar oluşturmak için basit bir yol sağlar. Geniş model uyumluluğuna ihtiyaç duyduğunuzda veya mevcut bir Chat Completions entegrasyonunuz olduğunda bunu kullanın.

using Microsoft.Agents.AI;
using OpenAI;

OpenAIClient client = new OpenAIClient("<your_api_key>");
var chatClient = client.GetChatClient("gpt-4o-mini");

AIAgent agent = chatClient.AsAIAgent(
    instructions: "You are good at telling jokes.",
    name: "Joker");

Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));

Desteklenen araçlar: İşlev araçları, web araması, yerel MCP araçları.

Asistanlar İstemcisi

Uyarı

OpenAI Yardımcıları API'si OpenAI tarafından kullanım dışı bırakılmıştır. Agent Framework artık bir Asistanlar istemcisini belgelemiyor — yeni kodlar için yukarıdaki Yanıtlar istemcisini kullanın. Mevcut bir uygulamayı geçirmek için bkz. Semantik Çekirdek geçiş kılavuzu.

Ajanı Kullanma

Her iki istemci türü de aynı aracı işlemlerini (akış, iş parçacıkları, ara yazılım) destekleyen bir standart AIAgent oluşturur.

Daha fazla bilgi için Başlangıç öğreticilerine bakın.

Araçlar

OpenAI .NET istemcileri, hedefledikleri API'ye bağlı olarak farklı araç yüzeylerini kullanıma sunar. Aynı matris, Azure OpenAI sağlayıcı sayfasındaki eşleşen Azure OpenAI istemcileri için de geçerlidir.

Araç Yanıtlar Sohbet Tamamlama
İşlev Araçları
Araç Onayı
Kod Yorumlayıcısı
Dosya Arama
Web Araması
Barındırılan MCP Araçları
Yerel MCP Araçları

Uyarı

Araç Onayı , çerçevenin işlev çağrılı sohbet istemcisi tarafından sağlanır, bu nedenle temel alınan API'den bağımsız olarak herhangi bir işlev aracı çağrısıyla çalışır.

Uyarı

OpenAI Yardımcıları API'si OpenAI tarafından kullanım dışı bırakılmıştır ve Python artık Yardımcılar uyumluluk istemcisi/sağlayıcısını iletmez. Yanıtlar için OpenAIChatClient veya Sohbet Tamamlamaları için OpenAIChatCompletionClient kullanın. Önceki bir Agent Framework Python sürümünden geçiş gerçekleştiriyorsanız bkz. Python önemli değişiklikler kılavuzu. Semantik Çekirdek’dan geçiş yapıyorsanız Semantik Çekirdek geçiş kılavuzuna bakın.

Tip

Python'da Azure OpenAI artık burada gösterilen istemcilerin aynısını agent_framework.openai kullanıyor. Azure yönlendirmesi istediğinizde credential veya azure_endpoint gibi açık Azure yönlendirme girişlerini geçirin, ardından kullanmak istediğiniz Azure API yüzeyini ayarlamak için api_version ayarlayın. Eğer OPENAI_API_KEY yapılandırıldıysa, AZURE_OPENAI_* değişkenlerinin olmasına rağmen genel istemciler OpenAI'de kalır. Zaten tam bir .../openai/v1 URL'niz varsa, base_url yerine azure_endpoint kullanın. Microsoft Foundry proje uç noktaları ve Foundry Aracısı Hizmeti için Microsoft Foundry sağlayıcısı sayfasına bakın. Yerel çalışma zamanları için bkz. Foundry Local.

Kurulum

pip install agent-framework-openai

agent-framework-openai hem doğrudan OpenAI hem de Azure OpenAI kullanımı için isteğe bağlı Python sağlayıcı paketidir.

Konfigürasyon

Python OpenAI sohbet istemcileri şu ortam değişkeni desenlerini kullanır:

OPENAI_API_KEY="your-openai-api-key"
OPENAI_CHAT_MODEL="gpt-4o-mini"
# Optional shared fallback:
# OPENAI_MODEL="gpt-4o-mini"

Ortak Özellikler

Bu istemci türleri şu standart aracı özelliklerini destekler:

İşlev Araçları

from agent_framework import tool

@tool
def get_weather(location: str) -> str:
    """Get the weather for a given location."""
    return f"The weather in {location} is sunny, 25°C."

async def example():
    agent = OpenAIChatClient().as_agent(
        instructions="You are a weather assistant.",
        tools=get_weather,
    )
    result = await agent.run("What's the weather in Tokyo?")
    print(result)

Çok Aşamalı Konuşmalar

async def thread_example():
    agent = OpenAIChatClient().as_agent(
        instructions="You are a helpful assistant.",
    )
    session = await agent.create_session()

    result1 = await agent.run("My name is Alice", session=session)
    print(result1)
    result2 = await agent.run("What's my name?", session=session)
    print(result2)  # Remembers "Alice"

Yayın

async def streaming_example():
    agent = OpenAIChatClient().as_agent(
        instructions="You are a creative storyteller.",
    )
    print("Agent: ", end="", flush=True)
    async for chunk in agent.run("Tell me a short story about AI.", stream=True):
        if chunk.text:
            print(chunk.text, end="", flush=True)
    print()

Ajanı Kullanma

Tüm istemci türleri aynı işlemleri destekleyen bir standart Agent oluşturur.

Daha fazla bilgi için Başlangıç öğreticilerine bakın.

Araçlar

Python OpenAI istemcileri, temel alınan API'ye bağlı olarak farklı araç yüzeylerini kullanıma sunar. OpenAIChatClient (Yanıtlar), client.get_*_tool(...) üzerinden barındırılan araç fabrikaları sunar — get_code_interpreter_tool, get_file_search_tool, get_web_search_tool, get_image_generation_tool, get_shell_tool ve get_mcp_tool. OpenAIChatCompletionClient yalnızca get_web_search_tool öğesini sunar. Her ikisi de işlev araçları ve yerel MCP sunucularıyla çalışır.

Aynı matris, bu istemcileri Azure OpenAI'ye işaret ettiğinizde de geçerlidir; bkz. Azure OpenAI.

Araç OpenAIChatClient (Yanıtlar) OpenAIChatCompletionClient (Sohbet Tamamlama)
İşlev Araçları
Araç Onayı
Kod Yorumlayıcısı
Dosya Arama
Web Araması
Görüntü Üretimi ✅ (get_image_generation_tool)
Barındırılan Kabuk ✅ (get_shell_tool)
Barındırılan MCP Araçları
Yerel MCP Araçları

Uyarı

Araç Onayı , çerçevenin işlev çağrılı sohbet istemcisi tarafından işlenir, bu nedenle temel alınan API'den bağımsız olarak herhangi bir işlev aracı çağrısıyla çalışır.

Sonraki Adımlar