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.
Catatan
Dokumen ini mengacu pada portal Microsoft Foundry (klasik). Untuk secara berkelanjutan mengevaluasi menggunakan portal Microsoft Foundry (baru), lihat Pengaturan Evaluasi Berkelanjutan.
Penting
Item-item yang ditandai (pratinjau) dalam artikel ini saat ini dalam pratinjau publik. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan yang dibatasi. Untuk informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Evaluasi berkelanjutan untuk Agen memberikan observabilitas dan pemantauan hampir waktu nyata untuk aplikasi AI Anda. Setelah diaktifkan, fitur ini terus mengevaluasi interaksi agen pada laju pengambilan sampel yang ditetapkan untuk memberikan wawasan tentang kualitas, keamanan, dan performa dengan metrik yang muncul di dasbor Foundry Observability. Dengan menggunakan evaluasi berkelanjutan, Anda dapat mengidentifikasi dan memecahkan masalah lebih awal, mengoptimalkan performa agen, dan menjaga keamanan. Evaluasi juga terhubung ke jejak. untuk mengaktifkan penelusuran kesalahan terperinci dan analisis akar penyebab.
Prasyarat
Catatan
Anda harus menggunakan proyek Foundry untuk fitur ini. Proyek berbasis hub tidak didukung. Lihat Bagaimana cara mengetahui jenis proyek mana yang saya miliki? dan Membuat proyek Foundry. Untuk memigrasikan proyek berbasis hub Anda ke proyek Foundry, lihat Migrasi dari proyek berbasis hub ke Foundry.
- Agen yang dibuat dalam proyek
- Sumber daya Azure Monitor Application Insights
Langkah-langkah untuk menyambungkan Application Insights
-
Masuk ke Microsoft Foundry. Pastikan tombol New Foundry nonaktif. Langkah-langkah ini mengacu pada Foundry (klasik).
Pilih Pemantauan di menu sebelah kiri dan buka Analitik Aplikasi.
Sambungkan sumber daya Application Insights Anda ke proyek.
Menyiapkan evaluasi berkelanjutan dengan pustaka klien proyek AI Azure
pip install azure-ai-projects azure-identity
Membuat agen yang dijalankan
import os, json
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
project_client = AIProjectClient(
credential=DefaultAzureCredential(), endpoint=os.environ["PROJECT_ENDPOINT"]
)
agent = project_client.agents.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="my-assistant",
instructions="You are a helpful assistant",
tools=file_search_tool.definitions,
tool_resources=file_search_tool.resources,
)
# Create thread and process user message
thread = project_client.agents.threads.create()
project_client.agents.messages.create(thread_id=thread.id, role="user", content="Hello, what Contoso products do you know?")
run = project_client.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
# Handle run status
if run.status == "failed":
print(f"Run failed: {run.last_error}")
# Print thread messages
for message in project_client.agents.messages.list(thread_id=thread.id).text_messages:
print(message)
Pilih penilai
Selanjutnya, Anda ingin menentukan kumpulan evaluator yang ingin Anda jalankan terus menerus. Untuk mempelajari selengkapnya tentang evaluator yang didukung, lihat Evaluator bawaan.
from azure.ai.projects.models import EvaluatorIds
evaluators={
"Relevance": {"Id": EvaluatorIds.Relevance.value},
"Fluency": {"Id": EvaluatorIds.Fluency.value},
"Coherence": {"Id": EvaluatorIds.Coherence.value},
},
Terus mengevaluasi kinerja agen Anda dengan membuat AgentEvaluationRequest
project_client.evaluation.create_agent_evaluation(
AgentEvaluationRequest(
thread=thread.id,
run=run.id,
evaluators=evaluators,
appInsightsConnectionString = project_client.telemetry.get_application_insights_connection_string(),
)
)
Mendapatkan hasil evaluasi menggunakan Application Insights
from azure.core.exceptions import HttpResponseError
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient, LogsQueryStatus
import pandas as pd
credential = DefaultAzureCredential()
client = LogsQueryClient(credential)
query = f"""
traces
| where message == "gen_ai.evaluation.result"
| where customDimensions["gen_ai.thread.run.id"] == "{run.id}"
"""
try:
response = client.query_workspace(os.environ["LOGS_WORKSPACE_ID"], query, timespan=timedelta(days=1))
if response.status == LogsQueryStatus.SUCCESS:
data = response.tables
else:
# LogsQueryPartialResult - handle error here
error = response.partial_error
data = response.partial_data
print(error)
for table in data:
df = pd.DataFrame(data=table.rows, columns=table.columns)
key_value = df.to_dict(orient="records")
pprint(key_value)
except HttpResponseError as err:
print("something fatal happened")
print(err)
Menangkap penjelasan penalaran untuk hasil evaluasi Anda
Evaluator yang dibantu AI menggunakan penalaran rantai pemikiran untuk menghasilkan penjelasan untuk skor dalam hasil evaluasi Anda. Untuk mengaktifkan ini, atur redact_score_properties ke False di objek AgentEvaluationRedactionConfiguration dan kirimkan sebagai bagian dari permintaan Anda.
Ini membantu Anda memahami penalaran di balik skor untuk setiap metrik.
Catatan
Penjelasan penalaran mungkin menyebutkan informasi sensitif berdasarkan konten percakapan.
from azure.ai.projects.models import AgentEvaluationRedactionConfiguration
project_client.evaluation.create_agent_evaluation(
AgentEvaluationRequest(
thread=thread.id,
run=run.id,
evaluators=evaluators,
redaction_configuration=AgentEvaluationRedactionConfiguration(
redact_score_properties=False,
),
app_insights_connection_string=app_insights_connection_string,
)
)
Menyesuaikan konfigurasi pengambilan sampel Anda
Anda dapat menyesuaikan konfigurasi pengambilan sampel dengan menentukan AgentEvaluationSamplingConfiguration dan menentukan persentase pengambilan sampel pilihan Anda dan permintaan maksimum per jam dalam batas sistem 1000/jam.
from azure.ai.projects.models
sampling_config = AgentEvaluationSamplingConfiguration (
name = agent.id,
samplingPercent = 100, # Percentage of sampling per hour (0-100)
maxRequestRate = 250, # Maximum request rate per hour (0-1000)
)
project_client.evaluation.create_agent_evaluation(
AgentEvaluationRequest(
thread=thread.id,
run=run.id,
evaluators=evaluators,
samplingConfiguration = sampling_config,
appInsightsConnectionString = project_client.telemetry.get_application_insights_connection_string(),
)
)
Catatan
Jika beberapa aplikasi AI mengirim data evaluasi berkelanjutan ke sumber daya Application Insights yang sama, disarankan untuk menggunakan nama layanan untuk membedakan data aplikasi. Lihat Azure AI Tracing untuk informasi lebih lanjut.
Menampilkan hasil evaluasi berkelanjutan
Setelah menyebarkan aplikasi ke produksi dengan penyiapan evaluasi berkelanjutan, Anda dapat monitor kualitas dan keamanan agen Anda dengan Foundry dan Azure Monitor.