İngilizce dilinde oku

Aracılığıyla paylaş


Azure AI Foundry SDK'sı

İstemci kitaplığı dillerinden birini seçin.

Azure AI Foundry SDK'sı, Azure'da yapay zeka uygulamalarının geliştirilmesini basitleştirmek için tasarlanmış kapsamlı bir araç zinciridir. Geliştiricilerin şunları sınar:

  • Tek bir arabirim aracılığıyla çeşitli model sağlayıcılarından popüler modellere erişme
  • Yapay zeka destekli uygulamalar oluşturmak için modelleri, verileri ve yapay zeka hizmetlerini kolayca bir araya getirin
  • Geliştirme, test ve üretim ortamlarında uygulama kalitesini ve güvenliğini değerlendirme, hata ayıklama ve geliştirme

AI Foundry SDK'sı, birlikte çalışacak şekilde tasarlanmış bir paket ve hizmet kümesidir. Tek bir proje istemcisi ve bağlantı dizesi aracılığıyla birden çok hizmeti kolayca kullanmak için Azure AI Projeleri istemci kitaplığını kullanabilirsiniz. Ayrıca hizmetleri ve SDK'ları kendi başlarına kullanabilir ve doğrudan hizmetlerinize bağlanabilirsiniz.

Hemen içeri atlamak ve uygulama oluşturmaya başlamak istiyorsanız şu göz atın:

Projeleri kullanmaya başlama

Azure AI Foundry SDK'sını kullanmaya başlamanın en iyi yolu proje kullanmaktır. Yapay zeka projeleri, yapay zeka uygulamaları oluşturmak için ihtiyacınız olan farklı verileri, varlıkları ve hizmetleri birbirine bağlar. Yapay zeka proje istemcisi, tek bir bağlantı dizesi kullanarak kodunuzdan bu proje bileşenlerine kolayca erişmenizi sağlar.

Henüz bir yapay zeka projeniz yoksa, ilk olarak adımları izleyerek yapay zeka projesi oluşturun.

AI Projenize erişmek için kullandığınız hesapla Azure CLI ile oturum açın:

az login

Azure AI projeleri istemci kitaplığını yükleyin:

pip install azure-ai-projects azure-identity

Kodda proje istemcisi oluşturma:

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

project_connection_string="your_connection_string"

project = AIProjectClient.from_connection_string(
  conn_str=project_connection_string,
  credential=DefaultAzureCredential())
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity

using deyimleri ekleyin:

using Azure.Identity;
using Azure.AI.Projects;

Kodda proje istemcisi oluşturma:

var connectionString = "<your_connection_string>";
var projectClient = new AIProjectClient(connectionString, new DefaultAzureCredential());

Projenin Genel Bakış sayfasından Project bağlantı dizesi kopyalayın ve yukarıdaki bağlantı dizesi değerini güncelleştirin.

Proje istemcisini oluşturduktan sonra, aşağıdaki bölümlerdeki özellikler için istemciyi kullanabilirsiniz.

Başvuruyu ve örnekleri gözden geçirmeyi unutmayın.

Başvuruyu ve örnekleri gözden geçirmeyi unutmayın.

Azure OpenAI Service

Azure OpenAI Hizmeti, Azure'ın veri yerleşimi, ölçeklenebilirliği, güvenliği, güvenliği ve kurumsal özellikleriyle GPT-4o, GPT-4o mini, GPT-4, Görüntü İşlemeli GPT-4 Turbo, DALLE-3, Whisper ve Embeddings model serisi gibi OpenAI modellerine erişim sağlar.

OpenAI SDK'sını kullanan kodunuz varsa kodunuzu Azure OpenAI hizmetini kullanacak şekilde kolayca hedefleyebilirsiniz. İlk olarak OpenAI SDK'sını yükleyin:

pip install openai

OpenAI SDK'sını kullanan mevcut kodunuz varsa proje istemcisini kullanarak projenizin Azure OpenAI bağlantısını kullanan bir AzureOpenAI istemci oluşturabilirsiniz:

openai = project.inference.get_azure_openai_client(api_version="2024-06-01")
response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful writing assistant"},
        {"role": "user", "content": "Write me a poem about flowers"},
    ]
)

print(response.choices[0].message.content)
dotnet add package Azure.AI.OpenAI

using deyimleri ekleyin:

using OpenAI.Chat;
using Azure.AI.OpenAI;

OpenAI SDK'sını kullanan mevcut kodunuz varsa proje istemcisini kullanarak projenizin Azure OpenAI bağlantısını kullanan bir AzureOpenAI istemci oluşturabilirsiniz:

var connections = projectClient.GetConnectionsClient();
ConnectionResponse connection = connections.GetDefaultConnection(ConnectionType.AzureOpenAI, withCredential: true);
var properties = connection.Properties as ConnectionPropertiesApiKeyAuth;

if (properties == null) {
    throw new Exception("Invalid auth type, expected API key auth");
}

// Create and use an Azure OpenAI client
AzureOpenAIClient azureOpenAIClient = new(
    new Uri(properties.Target),
    new AzureKeyCredential(properties.Credentials.Key));

// This must match the custom deployment name you chose for your model
ChatClient chatClient = azureOpenAIClient.GetChatClient("gpt-4o-mini");

ChatCompletion completion = chatClient.CompleteChat(
    [
        new SystemChatMessage("You are a helpful assistant that talks like a pirate."),
        new UserChatMessage("Does Azure OpenAI support customer managed keys?"),
        new AssistantChatMessage("Yes, customer managed keys are supported by Azure OpenAI"),
        new UserChatMessage("Do other Azure AI services support this too?")
    ]);

Console.WriteLine($"{completion.Role}: {completion.Content[0].Text}");

Azure OpenAI SDK'sını doğrudan Azure OpenAI Hizmeti'ne karşı kullanıyorsanız proje, Azure OpenAI Hizmeti özelliklerini ve diğer Yapay Zeka Dökümhanesi özelliklerini kullanmak için kullanışlı bir yol sağlar.

Azure AI model çıkarım hizmeti

Azure yapay zeka modeli çıkarım hizmeti OpenAI, Microsoft, Meta ve daha fazlası gibi önde gelen sağlayıcılardan güçlü modellere erişim sağlar. Bu modeller içerik oluşturma, özetleme ve kod oluşturma gibi görevleri destekler.

Model çıkarımı hizmetini kullanmak için öncelikle projenizin bir AI Services bağlantısı olduğundan emin olun (yönetim merkezinde).

İstemci kitaplığını azure-ai-inferencing yükleyin:

pip install azure-ai-inference

Yapılandırılmış ve kimliği doğrulanmış ChatCompletionsClient EmbeddingsClientveya almak için proje istemcisini kullanabilirsiniz:

# get an chat inferencing client using the project's default model inferencing endpoint
chat = project.inference.get_chat_completions_client()

# run a chat completion using the inferencing client
response = chat.complete(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful writing assistant"},
        {"role": "user", "content": "Write me a poem about flowers"},
    ]
)

print(response.choices[0].message.content)
dotnet add package Azure.AI.Inference

using deyimleri ekleyin:

using Azure.AI.Inference;

Yapılandırılmış ve kimliği doğrulanmış ChatCompletionsClient EmbeddingsClientveya almak için proje istemcisini kullanabilirsiniz:

var connectionString = Environment.GetEnvironmentVariable("AIPROJECT_CONNECTION_STRING");
var projectClient = new AIProjectClient(connectionString, new DefaultAzureCredential());

ChatCompletionsClient chatClient = projectClient.GetChatCompletionsClient();

var requestOptions = new ChatCompletionsOptions()
{
    Messages =
        {
            new ChatRequestSystemMessage("You are a helpful assistant."),
            new ChatRequestUserMessage("How many feet are in a mile?"),
        },
    Model = "gpt-4o-mini"
};

Response<ChatCompletions> response = chatClient.Complete(requestOptions);
Console.WriteLine(response.Value.Content);

Model adını çıkarım hizmetine veya Azure OpenAI hizmetine dağıttığınız herhangi bir modelle değiştirebilirsiniz.

Azure AI çıkarım istemcisini kullanma hakkında daha fazla bilgi edinmek için Azure yapay zeka modeli çıkarım başvurusuna göz atın.

İstem Şablonları

Çıkarım istemcisi şablonlardan istem iletileri oluşturmayı destekler. Şablon, çalışma zamanında kullanılabilen girişleri kullanarak dinamik olarak istemler oluşturmanıza olanak tanır.

İstem şablonlarını kullanmak için paketini yükleyin azure-ai-inferencing :

pip install azure-ai-inference

Satır içi dizeden bir istem şablonu işleyebilirsiniz:

from azure.ai.inference.prompts import PromptTemplate

# create a prompt template from an inline string (using mustache syntax)
prompt_template = PromptTemplate.from_string(prompt_template="""
    system:
    You are a helpful writing assistant.
    The user's first name is {{first_name}} and their last name is {{last_name}}.

    user:
    Write me a poem about flowers
    """)

# generate system message from the template, passing in the context as variables
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")
print(messages)

Not

Öndeki boşluk, giriş dizelerinden otomatik olarak kırpılır.

Bu kod, sohbet tamamlama çağrısına geçirebileceğiniz iletilerin çıkışını oluşturur:

[
  {'role': 'system', 'content': "You are a helpful writing assistant.\nThe user's first name is Jane and their last name is Doe."}
  {'role': 'user', 'content': 'Write me a poem about flowers'}
]

Ayrıca dosyadan Prompty istemleri yükleyerek model adını ve parametrelerini de dosyadan .prompty yükleyebilirsiniz:

from azure.ai.inference.prompts import PromptTemplate

prompt_template = PromptTemplate.from_prompty("myprompt.prompty")
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")

response = chat.complete(
    messages=messages,
    model=prompt_template.model_name,
    **prompt_template.parameters,
)

Projenize bağlı bir Azure AI Search kaynağınız varsa proje bağlantısını kullanarak bir Azure AI Search istemcisi oluşturmak için proje istemcisini de kullanabilirsiniz.

Azure AI Search istemci kitaplığını yükleyin:

pip install azure-search-documents

Arama ve/veya arama dizini istemcisinin örneğini istediğiniz gibi oluşturun:

from azure.core.credentials import AzureKeyCredential
from azure.ai.projects.models import ConnectionType
from azure.search.documents import SearchClient
from azure.search.documents.indexes import SearchIndexClient

# use the project client to get the default search connection
search_connection = project.connections.get_default(
    connection_type=ConnectionType.AZURE_AI_SEARCH,
    with_credentials=True)

# Create a client to create and manage search indexes
index_client = SearchIndexClient(
    endpoint=search_connection.endpoint_url,
    credential=AzureKeyCredential(key=search_connection.key)
)

# Create a client to run search queries
search_client = SearchClient(
    index_name="your_index_name",
    endpoint=search_connection.endpoint_url,
    credential=AzureKeyCredential(key=search_connection.key)
)
dotnet add package Azure.Search.Documents

using deyimleri ekleyin:

using Azure.Search.Documents;
using Azure.Search.Documents.Models;

Arama ve/veya arama dizini istemcisinin örneğini istediğiniz gibi oluşturun:

var connections = projectClient.GetConnectionsClient();
var connection = connections.GetDefaultConnection(ConnectionType.AzureAISearch, withCredential: true).Value;

var properties = connection.Properties as ConnectionPropertiesApiKeyAuth;
if (properties == null) {
    throw new Exception("Invalid auth type, expected API key auth");
}

SearchClient searchClient = new SearchClient(
    new Uri(properties.Target),
    "products",
    new AzureKeyCredential(properties.Credentials.Key));

Azure AI Search'ün kullanımı hakkında daha fazla bilgi edinmek için Azure AI Search belgelerine bakın.

Azure AI Aracısı Hizmeti

Azure AI Agent Service, geliştiricilerin yüksek kaliteli ve genişletilebilir yapay zeka aracılarını güvenli bir şekilde oluşturmasını, dağıtmasını ve ölçeklendirmesini sağlamak için tasarlanmış tam olarak yönetilen bir hizmettir. OpenAI, Microsoft ve üçüncü taraf sağlayıcılardan oluşan geniş bir model, araç ve özellik ekosistemini kullanan Azure AI Agent Service, çok çeşitli üretken yapay zeka kullanım örnekleri için aracılar oluşturmanızı sağlar.

Aracılara erişmek için önizlemeye kaydolun.

Değerlendirme

Proje istemcisini kullanarak Azure AI değerlendirme hizmetine ve değerlendiricilerinizi çalıştırmak için gereken modellere kolayca bağlanabilirsiniz.

pip install azure-ai-evaluation

parametresini project.scope kullanarak bir ViolenceEvaluatorörneği oluşturabiliriz:

from azure.ai.evaluation import ViolenceEvaluator
from azure.identity import DefaultAzureCredential

# Initializing Violence Evaluator with project information
violence_eval = ViolenceEvaluator(
    azure_ai_project=project.scope,
    credential=DefaultAzureCredential())

# Running Violence Evaluator on single input row
violence_score = violence_eval(query="what's the capital of france", response="Paris")
print(violence_score)

NOT: Şiddet değerlendiricilerini çalıştırmak için projenizin Doğu ABD 2, İsveç Orta, ABD Orta Kuzey, Orta Fransa'da olması gerekir.

Daha fazla bilgi edinmek için SDK kullanarak değerlendirme bölümüne bakın.

Azure AI değerlendirme paketi henüz C# için kullanılamıyor. Değerlendirme için Prompty ve Semantic Kernel kullanma hakkında bir örnek için contoso-chat-csharp-prompty örneğine bakın.

İzleme

İzlemeyi etkinleştirmek için önce projenizin bağlı bir Application Insights kaynağı olduğundan emin olun. Projenizin İzleme sayfasına gidin ve Application Insights oluşturmak veya eklemek için yönergeleri izleyin.

Azure İzleyici OpenTelemetry paketini yükleyin:

pip install azure-monitor-opentelemetry

Azure AI Çıkarım SDK'sının izlemesini etkinleştirmek ve yapay zeka projenizde günlüğe kaydetmeyi etkinleştirmek için aşağıdaki kodu kullanın:

# Enable instrumentation of AI packages (inference, agents, openai, langchain)
project.telemetry.enable()

# Log traces to the project's application insights resource
application_insights_connection_string = project.telemetry.get_connection_string()
if application_insights_connection_string:
    configure_azure_monitor(connection_string=application_insights_connection_string)

İzleme henüz proje paketiyle tümleştirilmemiştir. Azure AI Çıkarım paketinden izlemeleri izleme ve günlüğe kaydetme yönergeleri için bkz . azure-sdk-for-dotnet.

Aşağıda, Azure AI Foundry SDK'sı ile kullanabileceğiniz diğer hizmetlere ve çerçevelere yönelik bazı yararlı bağlantılar yer almaktadır.

Azure Yapay Zeka Hizmetleri

İstemci kitaplıkları:

Yönetim kitaplıkları:

Çerçeveler

Azure Machine Learning

İstem akışı

Semantik Çekirdek