Criação de um conjunto de dados imediato para trabalhos de avaliação do retrieve-and-generate RAG - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de um conjunto de dados imediato para trabalhos de avaliação do retrieve-and-generate RAG

Os trabalhos retrieve-and-generate de avaliação exigem um conjunto de dados imediato usando o formato de linhas JSON. Você pode ter até mil prompts no conjunto de dados.

Prepare um conjunto de dados para um trabalho de retrieve-and-generate avaliação em que o Amazon Bedrock invoca sua base de conhecimento

Para criar um trabalho de avaliação somente de recuperação em que o Amazon Bedrock invoque a base de conhecimento, o conjunto de dados de prompts deve conter os seguintes pares de chave-valor:

  • referenceResponses: esta chave principal é usada para especificar a resposta baseada em verdades de referência que você espera que RetrieveAndGenerate exiba. Especifique a verdade de referência na chave text. referenceResponses é necessária se você escolher a métrica de cobertura de contexto em seu trabalho de avaliação.

  • prompt: esta chave principal é usada para especificar o prompt (consulta do usuário) ao qual você deseja que o modelo responda enquanto o trabalho de avaliação está em execução.

Veja a seguir um exemplo de conjunto de dados personalizado que contém seis entradas e usa o formato de linha JSON.

{"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you want to use during inference"}]},"referenceResponses":[{"content":[{"text":"Specify a ground-truth response"}]}]}]}

O prompt a seguir foi expandido para aumentar a clareza. Em seu conjunto de dados de prompts real, cada linha (um prompt) deve ser um objeto JSON válido.

{ "conversationTurns": [ { "prompt": { "content": [ { "text": "What is the recommended service interval for your product?" } ] }, "referenceResponses": [ { "content": [ { "text": "The recommended service interval for our product is two years." } ] } ] } ] }

Prepare um conjunto de dados para um trabalho de retrieve-and-generate avaliação usando seus próprios dados de resposta de inferência

Para criar um trabalho de retrieve-and-generate avaliação em que você fornece seus próprios dados de resposta de inferência, seu conjunto de dados imediato é uma lista de turnos de conversa e contém o seguinte para cada turno. Você só pode avaliar uma fonte de RAG por trabalho.

  • prompt: o prompt que você forneceu ao modelo para gerar os resultados.

  • referenceResponses: esta chave principal é usada para especificar a resposta baseada em verdades de referência que você espera para a saída final do LLM depois que ele ingerir os resultados da recuperação e a consulta de entrada.

  • referenceContexts (opcional): esta chave principal opcional é usada para especificar os trechos da verdade de referência que você espera que sejam recuperados da fonte de RAG. Você só precisa incluir esta chave se quiser usá-la em suas próprias métricas de avaliação personalizadas. As métricas integradas que o Amazon Bedrock oferece não usam essa propriedade.

  • output: a saída da fonte de RAG, composta do seguinte:

    • text: a saída final do LLM em seu sistema de RAG.

    • retrievedPassages: esta chave principal é usada para especificar o conteúdo que a fonte de RAG recuperou.

Seus dados de output também devem incluir a string knowledgeBaseIdentifier que define a fonte de RAG que você usou para gerar as respostas de inferência. Você também pode incluir uma string modelIdentifier opcional que identifique o LLM usado. Para retrievalResults e retrievedReferences, você pode fornecer nomes e metadados opcionais.

Veja a seguir um exemplo de conjunto de dados personalizado que contém seis entradas e usa o formato de linha JSON.

{"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]} {"conversationTurns":[{"prompt":{"content":[{"text":"Provide the prompt you used to generate the response"}]},"referenceResponses":[{"content":[{"text":"A ground truth for the final response generated by the LLM"}]}],"referenceContexts":[{"content":[{"text":"A ground truth for a received passage"}]}],"output":{"text":"The output of the LLM","modelIdentifier":"(Optional) a string identifying your model","knowledgeBaseIdentifier":"A string identifying your RAG source","retrievedPassages":{"retrievalResults":[{"name":"(Optional) a name for your retrieval","content":{"text":"The retrieved content"},"metadata":{"(Optional) a key for your metadata":"(Optional) a value for your metadata"}}]}}}]}

Veja a seguir o formato de conjunto de dados de prompts expandido para aumentar a clareza. Em seu conjunto de dados de prompts real, cada linha (um prompt) deve ser um objeto JSON válido.

{ "conversationTurns": [ { "prompt": { "content": [ { "text": "Provide the prompt you used to generate the responses" } ] }, "referenceResponses": [ { "content": [ { "text": "A ground truth for the final response generated by the LLM" } ] } ], "referenceContexts": [ { "content": [ { "text": "A ground truth for a received passage" } ] } ], "output": { "text": "The output of the LLM", "modelIdentifier": "(Optional) a string identifying your model", "knowledgeBaseIdentifier": "A string identifying your RAG source", "retrievedPassages": { "retrievalResults": [ { "name": "(Optional) a name for your retrieval", "content": { "text": "The retrieved content" }, "metadata": { "(Optional) a key for your metadata": "(Optional) a value for your metadata" } } ] } } } ] }