Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
Genera singole query di test, inviale a un modello o agente target e valuta le risposte del target.
Prerequisiti
- Completare i prerequisiti di valutazione cloud e la configurazione del client.
- Una distribuzione del modello che supporta la Responses API per la generazione di query.
- Destinazione di un modello o di un agente da valutare.
Gli esempi usano il client SDK configurato in Configurare il client SDK.
Generare query sintetiche
Usare il azure_ai_synthetic_data_gen_preview tipo di origine dati per generare query di test sintetiche, inviarle a un modello distribuito o a un agente Foundry e valutare le risposte. Usare questo scenario quando non si ha un set di dati di test. Il servizio genera query in base a un prompt che fornisci (e/o in base alle istruzioni dell'agente), le esegue sul target e ne valuta le risposte.
Importante
Prima di iniziare, completare la configurazione del client.
Funzionamento della valutazione dei dati sintetici
- Il servizio genera query sintetiche basate su
prompte si file di dati iniziali facoltativi. - Ogni query viene inviata alla destinazione specificata (modello o agente) per generare una risposta.
- I valutatori valutano ciascuna risposta utilizzando la query generata e la risposta.
- Le query generate vengono archiviate come set di dati nel progetto per il riutilizzo.
Parametri
| Parametro | Obbligatorio | Description |
|---|---|---|
samples_count |
Yes | Numero massimo di query di test sintetiche da generare. |
model_deployment_name |
Yes | Implementazione del modello da utilizzare per la generazione di query sintetiche. Sono supportati solo i modelli con funzionalità API Risposte. Per la disponibilità, vedere Disponibilità dell'area dell'API Risposte. Il model router non è supportato qui; può essere usato solo come target di valutazione. |
prompt |
No | Istruzioni che descrivono il tipo di query da generare. Facoltativo quando l'obiettivo dell'agente ha le istruzioni configurate. |
output_dataset_name |
No | Nome del set di dati di output in cui vengono archiviate le query generate. Se non si specifica un nome, il servizio ne genera uno automaticamente. |
sources |
No | Eseguire il seeding dei file di dati (in base all'ID file) per migliorare la pertinenza delle query generate. Attualmente è supportato un solo file. |
Configurare valutatori e mappature dei dati
Il generatore di dati sintetici produce query nel {{item.query}} campo . L'obiettivo produce risposte che sono disponibili in {{sample.output_text}}. Mappare questi campi ai tuoi valutatori:
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
data_source_config = {"type": "azure_ai_source", "scenario": "synthetic_data_gen_preview"}
testing_criteria = [
TestingCriterionAzureAIEvaluator(
type="azure_ai_evaluator",
name="coherence",
evaluator_name="builtin.coherence",
initialization_parameters={"model": model_deployment_name},
data_mapping={
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
),
TestingCriterionAzureAIEvaluator(
type="azure_ai_evaluator",
name="violence",
evaluator_name="builtin.violence",
data_mapping={
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
),
]
Creare una valutazione ed eseguire
Destinazione del modello
Generare query sintetiche e valutare un modello:
eval_object = openai_client.evals.create(
name="Synthetic Data Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
"output_dataset_name": "my-synthetic-dataset",
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-data-evaluation",
data_source=data_source,
)
Facoltativamente, è possibile aggiungere un prompt di sistema per modellare il comportamento del modello di destinazione. Quando usi input_messages con la generazione di dati sintetici, includi solo i messaggi con ruolo system: il servizio fornisce automaticamente le query generate come messaggi dell'utente.
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
"input_messages": {
"type": "template",
"template": [
{
"type": "message",
"role": "system",
"content": {
"type": "input_text",
"text": "You are a helpful customer service agent. Be empathetic and solution-oriented."
}
}
]
},
}
Destinazione dell'agente
Creare interrogazioni sintetiche e valutare un agente di Foundry.
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_agent",
"name": agent_name,
"version": agent_version,
},
}
eval_run = openai_client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-agent-evaluation",
data_source=data_source,
)
Per eseguire il polling per il completamento e interpretare i risultati, vedere Ottenere i risultati della valutazione cloud. La risposta include una output_dataset_id proprietà che contiene l'ID del set di dati generato, che è possibile usare per recuperare o riutilizzare i dati sintetici.
Per esempi eseguibili completi, vedere sample_synthetic_data_agent_evaluation.py e sample_synthetic_data_model_evaluation.py su GitHub.