Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Hanya berlaku untuk:Portal Foundry (klasik). Artikel ini tidak tersedia untuk portal Foundry baru.
Pelajari selengkapnya tentang portal baru.
Catatan
Tautan dalam artikel ini mungkin membuka konten dalam dokumentasi Microsoft Foundry baru alih-alih dokumentasi Foundry (klasik) yang Anda lihat sekarang.
Dalam artikel ini, Anda mempelajari cara menggunakan Kernel Semantik dengan model yang disebarkan dari katalog model Foundry di portal Microsoft Foundry.
Penting
Azure AI Inference beta SDK dihentikan pada 26 Agustus 2026. Beralih ke OPENAI/v1 API yang tersedia secara umum dengan OpenAI SDK yang stabil. Ikuti panduan migrasi untuk beralih ke OpenAI/v1, menggunakan SDK untuk bahasa pemrograman pilihan Anda.
Prasyarat
-
Akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, buat akun Azure free, yang menyertakan langganan uji coba gratis.
Proyek Foundry seperti yang dijelaskan di Membuat proyek di portal Foundry.
Model yang sudah diterapkan yang mendukung Azure AI Model Inference API. Artikel ini menggunakan
Mistral-Largeimplementasi. Anda dapat menggunakan model apa pun. Untuk menggunakan kemampuan penyematan di LlamaIndex, Anda memerlukan model penyematan seperticohere-embed-v3-multilingual.- Ikuti instruksi di Menyebarkan model sebagai penyebaran API tanpa server.
Python 3.10 atau yang lebih baru terinstal, termasuk pip.
Kernel Semantik terinstal. Anda dapat menggunakan perintah berikut:
pip install semantic-kernelArtikel ini menggunakan API Inferensi Model, jadi instal dependensi Azure yang relevan. Anda dapat menggunakan perintah berikut:
pip install semantic-kernel[azure]
Mengonfigurasi lingkungan
Untuk menggunakan model bahasa yang disebarkan di portal Foundry, Anda memerlukan titik akhir dan kredensial untuk menyambungkan ke proyek Anda. Ikuti langkah-langkah ini untuk mendapatkan informasi yang Anda butuhkan dari model:
Tips
Karena Anda dapat kustomisasi panel kiri di portal Microsoft Foundry, Anda mungkin melihat item yang berbeda dari yang diperlihatkan dalam langkah-langkah ini. Jika Anda tidak melihat apa yang Anda cari, pilih ... Lainnya di bagian bawah panel kiri.
Masuk ke Microsoft Foundry.
Buka proyek di mana model ditempatkan, jika belum dibuka.
Buka Model + titik akhir dan pilih model yang Anda sebarkan seperti yang ditunjukkan dalam prasyarat.
Salin URL titik akhir dan kunci.
Tips
Jika Anda menyebarkan model dengan dukungan Microsoft Entra ID, Anda tidak memerlukan kunci.
Contoh ini menggunakan variabel lingkungan untuk URL titik akhir dan kunci:
export AZURE_AI_INFERENCE_ENDPOINT="<your-model-endpoint-goes-here>"
export AZURE_AI_INFERENCE_API_KEY="<your-key-goes-here>"
Setelah Anda mengonfigurasi titik akhir dan kunci, buat klien untuk menyambungkan ke titik akhir:
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
chat_completion_service = AzureAIInferenceChatCompletion(ai_model_id="<deployment-name>")
Tips
Klien secara otomatis membaca variabel AZURE_AI_INFERENCE_ENDPOINT lingkungan dan AZURE_AI_INFERENCE_API_KEY untuk terhubung ke model. Anda dapat meneruskan endpoint dan kunci langsung ke klien dengan menggunakan parameter endpoint dan api_key pada konstruktor.
Atau, jika titik akhir Anda mendukung Microsoft Entra ID, Anda dapat menggunakan kode berikut untuk membuat klien:
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>")
Catatan
Jika Anda menggunakan Microsoft Entra ID, pastikan titik akhir disebarkan dengan metode autentikasi tersebut dan Anda memiliki izin yang diperlukan untuk memanggilnya.
Azure OpenAI model
Jika Anda menggunakan model OpenAI Azure, gunakan kode berikut untuk membuat klien:
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"],
),
)
Parameter inferensi
Anda dapat mengonfigurasi cara melakukan inferensi dengan menggunakan AzureAIInferenceChatPromptExecutionSettings kelas :
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
)
Memanggil layanan
Pertama, panggil layanan penyelesaian obrolan dengan riwayat obrolan sederhana:
Tips
Kernel Semantik adalah pustaka asinkron, jadi Anda perlu menggunakan pustaka asinkron untuk menjalankan kode.
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)
Atau, Anda dapat melakukan streaming respons dari layanan:
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])
Membuat percakapan yang berjalan lama
Anda dapat membuat percakapan yang berjalan lama dengan menggunakan perulangan:
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:> "))
Jika Anda melakukan streaming respons, Anda dapat menggunakan kode berikut:
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:> "))
Menggunakan model embedding
Konfigurasikan lingkungan Anda mirip dengan langkah-langkah sebelumnya, tetapi gunakan AzureAIInferenceEmbeddings kelas :
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceTextEmbedding
embedding_generation_service = AzureAIInferenceTextEmbedding(ai_model_id="<deployment-name>")
Kode berikut adalah contoh bagaimana mendapatkan embedding dari layanan.
embeddings = await embedding_generation_service.generate_embeddings(
texts=["My favorite color is blue.", "I love to eat pizza."],
)
for embedding in embeddings:
print(embedding)