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:
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.
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).
Yapılandırılmış ve kimliği doğrulanmış ChatCompletionsClientEmbeddingsClientveya 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ış ChatCompletionsClientEmbeddingsClientveya 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:
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.
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.
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.
İlgili içerik
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.
Erfahren Sie, wie Sie mithilfe von Semantic Kernel SDK intelligente Anwendungen erstellen, die Aufgaben automatisieren und eine linguistische Datenverarbeitung ausführen. (AZ-2005)