Criação de um experimento RAG (caminho rápido)
Crie um experimento RAG (Retrieval-augmented generation) usando AutoAI. Faça upload de uma coleção de documentos e transforme-os em vetores que podem ser usados para melhorar a saída de um modelo de linguagem grande. Compare pipelines otimizados para selecionar o melhor padrão RAG para sua aplicação.
Preparação de suas fontes de dados
Antes de criar um experimento RAG, prepare a coleta de documentos e os ativos de dados de avaliação. A coleção de documentos fornece contexto para as respostas à entrada do prompt. Os dados de avaliação são um arquivo com exemplos de perguntas e respostas a serem usadas para medir o desempenho dos padrões RAG.
Coleção de documentos
- Formatos compatíveis para a coleção de documentos: PDF, HTML, DOCX, MD, PPTX, JSON, YAML, XML ou texto simples
Dados de avaliação
- Formato suportado para o arquivo de dados de avaliação: JSON
O upload dos dados de avaliação é opcional se você tiver um modelo de idioma grande mistral ou llama com a função autoai_rag instalada em seu ambiente. Você pode carregar seu próprio arquivo JSON ou selecionar Generate with LLM para que o LLM gere um máximo de 10 pares de perguntas de amostra e respostas corretas. Você pode visualizar os dados de avaliação gerados após a conclusão do experimento nos resultados da avaliação do padrão RAG.
- O uso de um LLM para gerar os dados de avaliação usa tokens adicionais.
- O LLM que gera dados de benchmark suporta apenas o inglês.
Modelo para o arquivo de avaliação JSON
O arquivo de dados de avaliação fornece uma série de exemplos de perguntas e respostas corretas para avaliar o desempenho do padrão RAG. Use esse formato para o arquivo JSON:
[
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
},
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
},
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
}
]
Para adicionar várias respostas corretas a uma pergunta, forneça o texto da resposta e o ID do documento para cada resposta correta. Use esse formato para várias respostas corretas:
[
{
"question": "Question 1",
"correct_answer": "Correct answer 1 for question 1.",
"correct_answer_document_ids": ["id1a1q1", "id2a1q1"]
},
{
"question": "Question 1",
"correct_answer": "Correct answer 2 for question 1.",
"correct_answer_document_ids": ["id1a2q1", "id2a2q1"]
},
{
"question": "Question 2",
"correct_answer": "Correct answer 1 for question 2.",
"correct_answer_document_ids": ["id1a1q2", "id2a1q2"]
}
]
Por exemplo, a seguir estão exemplos de perguntas e respostas para o padrão que é treinado com a documentação da biblioteca Python watsonx.ai.
[
{
"question": "What foundation models are available in watsonx.ai?",
"correct_answer": "The following models are available in watsonx.ai: \nflan-t5-xl-3b\nFlan-t5-xxl-11b\nflan-ul2-20b\ngpt-neox-20b\ngranite-13b-chat-v2\ngranite-13b-chat-v1\ngranite-13b-instruct-v2\ngranite-13b-instruct-v1\nllama-2-13b-chat\nllama-2-70b-chat\nmpt-7b-instruct2\nmt0-xxl-13b\nstarcoder-15.5b",
"correct_answer_document_ids": [
"5B37710FE7BBD6EFB842FEB7B49B036302E18F81_0.txt"
]
},
{
"question": "What foundation models are available on Watsonx, and which of these has IBM built?",
"correct_answer": "The following foundation models are available on Watsonx:\n\n1. flan-t5-xl-3b\n2. flan-t5-xxl-11b\n3. flan-ul2-20b\n4. gpt-neox-20b\n5. granite-13b-chat-v2 (IBM built)\n6. granite-13b-chat-v1 (IBM built)\n7. granite-13b-instruct-v2 (IBM built)\n8. granite-13b-instruct-v1 (IBM built)\n9. llama-2-13b-chat\n10. llama-2-70b-chat\n11. mpt-7b-instruct2\n12. mt0-xxl-13b\n13. starcoder-15.5b\n\n The Granite family of foundation models, including granite-13b-chat-v2, granite-13b-chat-v1, and granite-13b-instruct-v2 has been build by IBM.",
"correct_answer_document_ids": [
"5B37710FE7BBD6EFB842FEB7B49B036302E18F81_0.txt",
"B2593108FA446C4B4B0EF5ADC2CD5D9585B0B63C_0.txt"
]
},
{
"question": "What is greedy decoding?",
"correct_answer": "Greedy decoding produces output that closely matches the most common language in the model's pretraining data and in your prompt text, which is desirable in less creative or fact-based use cases. A weakness of greedy decoding is that it can cause repetitive loops in the generated output.",
"correct_answer_document_ids": [
"42AE491240EF740E6A8C5CF32B817E606F554E49_1.txt"
]
},
{
"question": "When to tune a foundation model?",
"correct_answer": "Tune a foundation model when you want to do the following things:\n\nReduce the cost of inferencing at scale\nGet the model's output to use a certain style or format\nImprove the model's performance by teaching the model a specialized task\nGenerate output in a reliable form in response to zero-shot prompts\"",
"correct_answer_document_ids": [
"FBC3C5F81D060CD996489B772ABAC886F12130A3_0.txt"
]
},
{
"question": "What tuning parameters are available for IBM foundation models?",
"correct_answer": "Tuning parameter values for IBM foundation models:\nInitialization method\ninitialization text\nbatch_size\naccumulate_steps\nlearning_rate\nnum_epochs\"",
"correct_answer_document_ids": [
"51747F17F413F1F34CFD73D170DE392D874D03DD_2.txt"
]
},
{
"question": "How do I avoid generating personal information with foundation models?",
"correct_answer": "To exclude personal information, try these techniques:\n- In your prompt, instruct the model to refrain from mentioning names, contact details, or personal information.\n- In your larger application, pipeline, or solution, post-process the content that is generated by the foundation model to find and remove personal information.\"",
"correct_answer_document_ids": [
"E59B59312D1EB3B2BA78D7E78993883BB3784C2B_4.txt"
]
},
{
"question": "What is Watson OpenScale?",
"correct_answer": "Watson OpenScale is a tool that helps organizations evaluate and monitor the performance of their AI models. It tracks and measures outcomes from AI models, and helps ensure that they remain fair, explainable, and compliant no matter where the models were built or are running. Watson OpenScale also detects and helps correct the drift in accuracy when an AI model is in production.",
"correct_answer_document_ids": [
"777F72F32FD20E96C4A5F0CCA461FE9A79334E96_0.txt"
]
}
]
Escolha de uma loja de vetores
Você deve fornecer um local para armazenar os documentos vetorizados em um banco de dados usado para armazenar e recuperar conteúdo para o processo de perguntas e respostas. Para obter detalhes sobre as opções de banco de dados disponíveis, consulte Escolha de um armazenamento de vetores.
- O banco de dados padrão do Chroma na memória é um armazenamento temporário de vetores para a execução do experimento. O índice não persiste além do experimento, portanto, não é uma boa opção para uso na produção.
- Conecte-se ou configure um banco de dados Milvus se quiser um armazenamento permanente de vetores. Use essa opção se você planeja implantar seu padrão RAG. Para obter detalhes, consulte Configuração de um armazenamento de vetores watsonx.data Milvus
Para se conectar a um repositório de vetores Milvus, escolha o tipo de conector genérico Milvus e não o conector watsonx.data Milvus, mesmo que você tenha configurado o armazenamento de vetores Milvus usando watsonx.data.
Assista a este vídeo para ver como criar um experimento AutoAI RAG.
Este vídeo oferece um método visual para aprender os conceitos e as tarefas desta documentação.
Criação do experimento AutoAI RAG
Siga estas etapas para definir e executar um experimento para procurar o padrão RAG ideal para seu caso de uso, usando as definições de configuração padrão como o fastpath.
Na página de boas-vindas watsonx.ai ou na página Novos ativos de um projeto, clique em Criar soluções de IA automaticamente.
Digite um nome e uma descrição opcional para o experimento, selecione um tamanho de configuração e clique em Create (Criar).
Selecione Construir uma solução RAG como o tipo de experimento.
Faça upload ou conecte-se à coleta de documentos e aos dados de avaliação. Selecione até 20 pastas e arquivos de documentos para a coleção de documentos. O arquivo de dados de avaliação deve ser um único arquivo JSON. Você também pode usar uma base de conhecimento pré-existente em vez de fazer upload de documentos. Para obter detalhes, consulte Usando bases de conhecimento em experimentos AutoAI RAG.

Escolha onde armazenar o índice baseado em vetor para a coleção de documentos.
Especifique o arquivo JSON que você deseja usar como dados de referência para avaliar os resultados do experimento.
Opcional: selecione ou crie um espaço de implantação onde os padrões serão implantados após a conclusão do experimento. Se você não definir um espaço de destino, AutoAI criará automaticamente um espaço para os padrões.
Opcional: alterne a opção Implantar automaticamente o padrão superior após a execução para implantar automaticamente o padrão superior após a conclusão do experimento. Se você definir um espaço de implantação de destino, o padrão superior será automaticamente implantado nesse local.
Clique em Run experiment (Executar experimento ) para criar os pipelines RAG usando as configurações padrão:
- Métrica otimizada: Otimiza a criação dos padrões RAG para a métrica de fidelidade da resposta.
- Modelos a serem considerados: O padrão de Todos os tipos de modelo considera todos os modelos de fundação disponíveis para gerar os padrões RAG.
As configurações do experimento são configuráveis se você quiser personalizar o experimento para o seu caso de uso. Consulte Personalização das configurações do experimento RAG.
Exibição dos resultados
Use as seguintes ferramentas para visualizar o progresso e revisar os resultados.
À medida que o experimento é executado, um mapa de progresso fornece uma visualização de como os pipelines são criados e otimizados. Passe o mouse sobre qualquer nó para obter mais detalhes.

Quando o experimento for concluído, clique em Importância da configuração para revisar a importância de cada configuração para criar e classificar os padrões otimizados.

Revise a tabela de classificação que mostra os pipelines de experimentos, classificados de acordo com os resultados da métrica otimizada.

Quando o experimento for concluído, examine a tabela de classificação que mostra os pipelines de experimentos, classificados de acordo com os resultados da métrica otimizada.

Clique no nome de um pipeline para revisar os detalhes. Analise a pontuação do pipeline para as várias métricas, conforme avaliado em relação à pergunta e resposta de amostra.

Quando a análise estiver concluída, clique em Salvar para gerar automaticamente ativos de notebook que você pode usar para testar e usar o padrão RAG.

Revise e execute o notebook ou notebooks resultantes para testar ou usar seu padrão RAG. Para obter detalhes, consulte Salvando um padrão RAG.
Próximas etapas
- Para editar as opções de configuração, consulte Personalização das configurações do experimento RAG.
- Para analisar um padrão, consulte Detalhes do padrãoAutoAI RAG.
- Para salvar e usar um padrão RAG, consulte Salvando um padrão RAG.