Chat con el modelo usando sus propios datos
RAG con Azure OpenAI en datos propios se puede usar en Inteligencia artificial de Azure Studio con el área de juegos de chat o mediante la API.
Consideraciones de token y configuración recomendada
Dado que RAG con Azure OpenAI en los datos incluye resultados de la búsqueda en el índice en el mensaje, es importante comprender cómo afecta a la asignación de tokens. Cada llamada al modelo incluye tokens para el mensaje del sistema, el mensaje del usuario, el historial de conversaciones, los documentos de búsqueda recuperados, los mensajes internos y la respuesta del modelo.
El mensaje del sistema, por ejemplo, es una referencia útil para obtener instrucciones para el modelo y se incluye con cada llamada. Aunque no hay ningún límite de tokens para el mensaje del sistema, cuando se usan datos propios, el mensaje del sistema se trunca si supera el límite de tokens del modelo (que varía en función de cada modelo, entre 400 y 4000 tokens). La respuesta del modelo también está limitada cuando se usan sus propios datos a 1500 tokens.
Debido a estas limitaciones de token, se recomienda limitar la longitud de la pregunta y la longitud del historial de conversaciones en la llamada. Las técnicas de ingeniería de solicitud, como la división de tareas y la solicitud de cadenas de pensamiento, ayudan al modelo a responder de manera más eficaz.
Uso de la API
Al usar la API con sus propios datos, debe especificar el origen de datos donde se almacenan los datos. En cada llamada, debe incluir endpoint
, key
y indexName
de su recurso de Búsqueda de Azure AI.
El cuerpo de la solicitud será similar al siguiente JSON.
{
"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 llamada al usar sus propios datos debe enviarse a un punto de conexión diferente al que se usa al llamar a un modelo base, que incluye extensions
. La llamada se enviará a una dirección URL similar a la siguiente.
<your_azure_openai_resource>/openai/deployments/<deployment_name>/chat/completions?api-version=<version>
La solicitud también tendrá que incluir Content-Type
y api-key
.