Discuter avec votre modèle en utilisant vos propres données

Effectué

RAG avec Azure OpenAI sur vos propres données peut être utilisé dans Azure AI Studio avec le terrain de jeu Conversation, ou en utilisant l’API.

Étant donné que RAG avec Azure OpenAI sur vos données inclut des résultats de recherche sur votre index dans le prompt, il est important de comprendre comment cela a un impact sur votre allocation de jetons. Chaque appel au modèle comprend des tokens pour le message système, le prompt utilisateur, l’historique des conversations, les documents de recherche extraits, les prompts internes et la réponse du modèle.

Le message système, par exemple, est une référence utile pour les instructions à destination du modèle. Il est inclus avec chaque appel. Bien qu’il n’existe aucune limite de jeton pour le message système, lorsque vous utilisez vos propres données, le message système est tronqué s’il dépasse la limite de jeton du modèle (qui varie selon le modèle, de 400 à 4 000 jetons). La réponse du modèle est également limitée à 1 500 tokens lorsque vous utilisez vos propres données.

En raison de ces limitations de tokens, il est recommandé de limiter à la fois la longueur des questions et la longueur de l’historique des conversations dans votre appel. techniques d’ingénierie Prompt telles que la décomposition de la tâche et la chaîne d’invite de pensées peuvent aider le modèle à répondre plus efficacement.

Utilisation de l’API

En utilisant l’API avec vos propres données, vous devez spécifier la source de données où vos données sont stockées. Avec chaque appel, vous devez inclure endpoint, key et indexName pour votre ressource de recherche IA.

Le corps de votre demande est similaire au JSON suivant.

{
    "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?"
        }
    ]
}

L’appel lors de l’utilisation de vos propres données doit être envoyé à un point de terminaison différent de celui utilisé lors de l’appel d’un modèle de base, qui inclut extensions. Votre appel sera envoyé à une URL similaire à celle qui suit.

<your_azure_openai_resource>/openai/deployments/<deployment_name>/chat/completions?api-version=<version>

La demande doit également inclure Content-Type et api-key.