Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí jenom pro:Portál Foundry (Classic). Tento článek není k dispozici pro nový portál Foundry.
Přečtěte si další informace o novém portálu.
Poznámka
Odkazy v tomto článku můžou otevírat obsah v nové dokumentaci Microsoft Foundry místo dokumentace Foundry (classic), kterou si právě prohlížíte.
V tomto článku se dozvíte, jak používat Sémantické jádro s modely nasazenými z katalogu modelů Foundry na portálu Microsoft Foundry.
Důležité
Beta verze sady Azure AI Inference SDK byla ukončena dne 26. srpna 2026. Přepněte na obecně dostupné rozhraní API OpenAI/v1 se stabilní sadou OpenAI SDK. Podle průvodce migrací přepněte na OpenAI/v1 pomocí sady SDK pro váš preferovaný programovací jazyk.
Požadavky
-
Účet Azure s aktivním předplatným. Pokud ho nemáte, vytvořte si účet free Azure, který zahrnuje bezplatné zkušební předplatné.
Projekt Foundry, jak je vysvětleno v tématu Vytvoření projektu na portálu Foundry.
Nasazený model, který podporuje rozhraní API pro odvozování modelů AI Azure Tento článek používá
Mistral-Largeprovozní prostředí. Můžete použít libovolný model. Pokud chcete použít možnosti vkládání v llamaIndex, potřebujete model vložení, jako jecohere-embed-v3-multilingual.- Postupujte podle pokynů v tématu Nasazení modelů jako nasazení bezserverového rozhraní API.
Nainstalovaný Python 3.10 nebo novější, včetně pipu.
Sémantické jádro nainstalován. Můžete použít následující příkaz:
pip install semantic-kernelTento článek používá rozhraní API pro inferenci modelů, proto nainstalujte relevantní Azure závislosti. Můžete použít následující příkaz:
pip install semantic-kernel[azure]
Konfigurace prostředí
Pokud chcete používat jazykové modely nasazené na portálu Foundry, potřebujete koncový bod a přihlašovací údaje pro připojení k projektu. Pokud chcete získat potřebné informace z modelu, postupujte takto:
Tip
Vzhledem k tomu, že na portálu Microsoft Foundry můžete usouložit levé podokno, může se zobrazit jiné položky, než je znázorněno v tomto postupu. Pokud nevidíte, co hledáte, vyberte ... Další v dolní části levého podokna.
Přihlaste se k Microsoft Foundry.
Otevřete projekt, ve kterém je model nasazený, pokud ještě není otevřený.
Přejděte na Modely + koncové body a vyberte model, který jste nasadili, jak je uvedeno v předpokladech.
Zkopírujte adresu URL koncového bodu a klíč.
Tip
Pokud jste model nasadili s podporou Microsoft Entra ID, nepotřebujete klíč.
Tento příklad používá proměnné prostředí pro adresu URL koncového bodu i klíč:
export AZURE_AI_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
export AZURE_AI_INFERENCE_API_KEY="<your-key-goes-here>"
Po nakonfigurování koncového bodu a klíče vytvořte klienta pro připojení ke koncovému bodu:
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
chat_completion_service = AzureAIInferenceChatCompletion(ai_model_id="<deployment-name>")
Tip
Klient automaticky přečte proměnné prostředí AZURE_AI_INFERENCE_ENDPOINT a AZURE_AI_INFERENCE_API_KEY a poté se připojí k modelu. Místo toho můžete předat koncový bod a klíč přímo klientovi pomocí parametrů endpoint a api_key na konstruktoru.
Pokud váš koncový bod podporuje Microsoft Entra ID, můžete k vytvoření klienta použít následující kód:
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>")
Poznámka
Pokud používáte Microsoft Entra ID, ujistěte se, že se koncový bod nasadil s danou metodou ověřování a že máte požadovaná oprávnění k jeho vyvolání.
modely Azure OpenAI
Pokud používáte model Azure OpenAI, vytvořte klienta pomocí následujícího kódu:
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"],
),
)
Parametry odvození
Způsob odvozování můžete nakonfigurovat pomocí AzureAIInferenceChatPromptExecutionSettings třídy:
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
)
Volání služby
Nejprve zavolejte službu dokončování chatu s jednoduchou historií chatu:
Tip
Sémantické jádro je asynchronní knihovna, takže ke spuštění kódu je potřeba použít knihovnu asyncio.
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)
Alternativně můžete streamovat odpověď ze služby:
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])
Vytvoření dlouhotrvající konverzace
Dlouhou konverzaci můžete vytvořit pomocí smyčky:
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:> "))
Pokud streamujete odpověď, můžete použít následující kód:
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:> "))
Použití modelů vkládání
Nakonfigurujte prostředí podobně jako v předchozích krocích, ale použijte třídu AzureAIInferenceEmbeddings :
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceTextEmbedding
embedding_generation_service = AzureAIInferenceTextEmbedding(ai_model_id="<deployment-name>")
Následující kód ukazuje, jak získat embeddingy ze služby:
embeddings = await embedding_generation_service.generate_embeddings(
texts=["My favorite color is blue.", "I love to eat pizza."],
)
for embedding in embeddings:
print(embedding)