Conversar com seu modelo usando seus próprios dados

Concluído

O RAG com o OpenAI do Azure em seus próprios dados pode ser usado no Estúdio de IA do Azure com o playground de Chat ou usando a API.

Como o RAG com o OpenAI do Azure em seus dados inclui os resultados de pesquisa do índice no prompt, é importante entender como isso afeta sua alocação de tokens. Cada chamada feita ao modelo inclui os tokens para a mensagem do sistema, o prompt do usuário, o histórico de conversas, os documentos de pesquisa recuperados, os prompts internos e a resposta do modelo.

A mensagem do sistema, por exemplo, é uma referência útil de instruções para o modelo que está incluída em todas as chamadas. Embora não haja um limite de tokens para a mensagem do sistema, ao usar seus próprios dados, a mensagem do sistema é truncada se exceder o limite de tokens do modelo (que varia de 400 a 4000 tokens, dependendo do modelo). A resposta do modelo também é limitada a 1500 tokens ao usar seus próprios dados.

Devido a essas limitações de token, é recomendável limitar a duração da pergunta e a duração do histórico da conversa na chamada. Técnicas de engenharia de prompt, como dividir a tarefa e os prompts de cadeia de pensamento, podem ajudar o modelo a responder com mais eficiência.

Usando a API

Ao usar a API com seus próprios dados, é necessário especificar a fonte de dados em que eles estão armazenados. Com cada chamada, é necessário incluir endpoint, key e indexName para o recurso da Pesquisa de IA.

O corpo da solicitação será semelhante ao JSON a seguir.

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

Ao usar seus próprios dados, a chamada precisa ser enviada para um ponto de extremidade diferente daquele usado ao chamar um modelo base, que inclui extensions. A chamada será enviada para um URL semelhante ao mostrado a seguir.

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

A solicitação também deverá incluir Content-Type e api-key.