Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yalnızca şunlar için geçerlidir:Dökümhane (klasik) portalı. Bu makale yeni Dökümhane portalında kullanılamaz.
Yeni portal hakkında daha fazla bilgi edinin.
Not
Bu makaledeki bağlantılar, şu anda görüntülediğiniz Dökümhane (klasik) belgeleri yerine yeni Microsoft Foundry belgelerinde içerik açabilir.
Bu makalede, Microsoft Foundry portalındaki Foundry model kataloğundan dağıtılan modellerle Semantik Çekirdek'i nasıl kullanacağınızı öğreneceksiniz.
Önemli
Azure AI Inference beta SDK’sı 26 Ağustos 2026'da kullanımdan kaldırıldı. Kararlı bir OpenAI SDK'sı ile genel kullanıma açık OpenAI/v1 API'sine geçin. Tercih ettiğiniz programlama dili için SDK'yı kullanarak OpenAI/v1'e geçmek için geçiş kılavuzunu izleyin.
Önkoşullar
-
Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa ücretsiz deneme aboneliği içeren bir
free Azure hesabı oluşturun. Foundry portalında proje oluşturma bölümünde açıklandığı gibi bir Foundry projesi.
Azure AI Model Çıkarım API'sini destekleyen dağıtılmış bir model. Bu makalede
Mistral-Largedağıtımı kullanılıyor. Herhangi bir modeli kullanabilirsiniz. LlamaIndex'te ekleme özelliklerini kullanmak için gibicohere-embed-v3-multilingualbir ekleme modeline ihtiyacınız vardır.- Modelleri sunucusuz API dağıtımları olarak dağıtma başlığındaki yönergeleri izleyin.
pip dahil olmak üzere Python 3.10 veya üzeri yüklü.
Semantik Çekirdek yüklendi. Aşağıdaki komutu kullanabilirsiniz:
pip install semantic-kernelBu makalede Model Çıkarımı API'sini kullandığından ilgili Azure bağımlılıklarını yükleyin. Aşağıdaki komutu kullanabilirsiniz:
pip install semantic-kernel[azure]
Ortamı yapılandırma
Foundry portalında dağıtılan dil modellerini kullanmak için projenize bağlanmak için uç nokta ve kimlik bilgileri gerekir. Modelden ihtiyacınız olan bilgileri almak için şu adımları izleyin:
Ipucu
Microsoft Foundry portalında sol bölmeyi
Microsoft Foundry oturum açın.
Henüz açık değilse modelin dağıtıldığı projeyi açın.
Modeller + uç noktalar'a gidin ve önkoşullarda belirtildiği gibi dağıtmış olduğunuz modeli seçin.
Uç nokta URL'sini ve anahtarı kopyalayın.
Ipucu
Modelinizi Microsoft Entra ID destekle dağıttıysanız anahtara ihtiyacınız yoktur.
Bu örnekte hem uç nokta URL'si hem de anahtarı için ortam değişkenleri kullanılır:
export AZURE_AI_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
export AZURE_AI_INFERENCE_API_KEY="<your-key-goes-here>"
Uç noktayı ve anahtarı yapılandırdıktan sonra uç noktaya bağlanmak için bir istemci oluşturun:
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
chat_completion_service = AzureAIInferenceChatCompletion(ai_model_id="<deployment-name>")
Ipucu
İstemci, ortam değişkenlerini AZURE_AI_INFERENCE_ENDPOINT otomatik olarak okur ve AZURE_AI_INFERENCE_API_KEY modele bağlanır. Bunun yerine, oluşturucuda endpoint ve api_key parametrelerini kullanarak uç noktayı ve anahtarı doğrudan istemciye iletebilirsiniz.
Alternatif olarak, uç noktanız Microsoft Entra ID destekliyorsa istemciyi oluşturmak için aşağıdaki kodu kullanabilirsiniz:
export AZURE_AI_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
chat_completion_service = AzureAIInferenceChatCompletion(ai_model_id="<deployment-name>")
Not
Microsoft Entra ID kullanıyorsanız, uç noktanın bu kimlik doğrulama yöntemiyle dağıtıldığından ve bunu çağırmak için gerekli izinlere sahip olduğunuzdan emin olun.
Azure OpenAI modelleri
Azure OpenAI modeli kullanıyorsanız istemciyi oluşturmak için aşağıdaki kodu kullanın:
from azure.ai.inference.aio import ChatCompletionsClient
from azure.identity.aio import DefaultAzureCredential
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
chat_completion_service = AzureAIInferenceChatCompletion(
ai_model_id="<deployment-name>",
client=ChatCompletionsClient(
endpoint=f"{str(<your-azure-open-ai-endpoint>).strip('/')}/openai/deployments/{<deployment_name>}",
credential=DefaultAzureCredential(),
credential_scopes=["https://cognitiveservices.azure.com/.default"],
),
)
Çıkarım parametreleri
Çıkarım işlemini AzureAIInferenceChatPromptExecutionSettings sınıfını kullanarak yapılandırabilirsiniz.
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatPromptExecutionSettings
execution_settings = AzureAIInferenceChatPromptExecutionSettings(
max_tokens=100,
temperature=0.5,
top_p=0.9,
# extra_parameters={...}, # model-specific parameters
)
Hizmeti çağırma işlemi
İlk olarak, basit bir sohbet geçmişiyle sohbet tamamlama hizmetini çağırın:
Ipucu
Semantik Çekirdek zaman uyumsuz bir kitaplık olduğundan kodu çalıştırmak için asyncio kitaplığını kullanmanız gerekir.
import asyncio
async def main():
...
if __name__ == "__main__":
asyncio.run(main())
from semantic_kernel.contents.chat_history import ChatHistory
chat_history = ChatHistory()
chat_history.add_user_message("Hello, how are you?")
response = await chat_completion_service.get_chat_message_content(
chat_history=chat_history,
settings=execution_settings,
)
print(response)
Alternatif olarak, yanıtı hizmetten akışla aktarabilirsiniz:
chat_history = ChatHistory()
chat_history.add_user_message("Hello, how are you?")
response = chat_completion_service.get_streaming_chat_message_content(
chat_history=chat_history,
settings=execution_settings,
)
chunks = []
async for chunk in response:
chunks.append(chunk)
print(chunk, end="")
full_response = sum(chunks[1:], chunks[0])
Uzun süren bir konuşma oluşturma
Döngü kullanarak uzun süre çalışan bir konuşma oluşturabilirsiniz:
while True:
response = await chat_completion_service.get_chat_message_content(
chat_history=chat_history,
settings=execution_settings,
)
print(response)
chat_history.add_message(response)
chat_history.add_user_message(user_input = input("User:> "))
Yanıtı akışla aktarıyorsanız aşağıdaki kodu kullanabilirsiniz:
while True:
response = chat_completion_service.get_streaming_chat_message_content(
chat_history=chat_history,
settings=execution_settings,
)
chunks = []
async for chunk in response:
chunks.append(chunk)
print(chunk, end="")
full_response = sum(chunks[1:], chunks[0])
chat_history.add_message(full_response)
chat_history.add_user_message(user_input = input("User:> "))
Ekleme modellerini kullanma
Ortamınızı önceki adımlara benzer şekilde yapılandırın, ancak sınıfını AzureAIInferenceEmbeddings kullanın:
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceTextEmbedding
embedding_generation_service = AzureAIInferenceTextEmbedding(ai_model_id="<deployment-name>")
Aşağıdaki kod, hizmetten eklemelerin nasıl alınıyor olduğunu gösterir:
embeddings = await embedding_generation_service.generate_embeddings(
texts=["My favorite color is blue.", "I love to eat pizza."],
)
for embedding in embeddings:
print(embedding)
İlgili içerik
- Azure AI SDK'larını kullanmaya başlama
- Semantik Çekirdek model tümleştirmesi için Referans