Chattare con il modello usando i propri dati
Rag con Azure OpenAI sui propri dati può essere usato in Azure AI Studio con il playground chat o usando l'API.
Considerazioni sui token e impostazioni consigliate
Poiché RAG con Azure OpenAI sui dati include i risultati della ricerca sull'indice nella richiesta, è importante comprenderne l'impatto sull'allocazione dei token. Ogni chiamata al modello include token per il messaggio di sistema, la richiesta utente, la cronologia delle conversazioni, i documenti di ricerca recuperati, le richieste interne e la risposta del modello.
Il messaggio di sistema, ad esempio, è un riferimento utile per le istruzioni per il modello ed è incluso in ogni chiamata. Anche se non esiste alcun limite di token per il messaggio di sistema, quando si usano i propri dati, il messaggio di sistema viene troncato se supera il limite di token del modello (che varia per modello, da 400 a 4000 token). Anche la risposta del modello viene limitata a 1500 token quando si usano i propri dati.
A causa di queste limitazioni dei token, è consigliabile limitare sia la lunghezza della domanda che la lunghezza della cronologia delle conversazioni nella chiamata. Le tecniche di progettazione delle richieste, ad esempio la suddivisione dell'attività e della catena di richieste, possono essere utili per consentire al modello di rispondere in modo più efficace.
Uso dell'API
Usando l'API con i propri dati, è necessario specificare l'origine dati in cui vengono archiviati i dati. Con ogni chiamata è necessario includere endpoint
, key
e indexName
per la risorsa di Al Search.
Il corpo della richiesta è simile al codice JSON seguente.
{
"dataSources": [
{
"type": "AzureCognitiveSearch",
"parameters": {
"endpoint": "<your_search_endpoint>",
"key": "<your_search_endpoint>",
"indexName": "<your_search_index>"
}
}
],
"messages":[
{
"role": "system",
"content": "You are a helpful assistant assisting users with travel recommendations."
},
{
"role": "user",
"content": "I want to go to New York. Where should I stay?"
}
]
}
La chiamata quando si usano dati personalizzati deve essere inviata a un endpoint diverso da quello usato quando si chiama un modello di base, che include extensions
. La chiamata verrà inviata a un URL simile al seguente.
<your_azure_openai_resource>/openai/deployments/<deployment_name>/chat/completions?api-version=<version>
La richiesta dovrà includere anche Content-Type
e api-key
.