Você está aqui:
Configurar uma API de gateway para pesquisa de armazenamento externo
Exponha o Amazon Bedrock ou o Amazon Kendra por meio de uma API da AWS que aceita solicitações de pesquisa do Salesforce e retorna resultados de pesquisa com suporte.
Antes de começar, configure e teste uma base de Knowledge da Amazon Bedrock ou um índice do Amazon Kendra.
- Crie uma função Lambda que aceite a solicitação Pesquisa de armazenamento externo.
- Configure a função para aceitar uma consulta em idioma natural, IDs de ContentDocument do Salesforce, filtros adicionais, uma contagem máxima de resultados e um apelido de pesquisa, conforme aplicável.
- Configure a função para consultar o serviço de pesquisa da AWS selecionado e aplicar filtros com suporte.
-
Transforme cada resultado nos campos de resposta esperados pelo Salesforce.
A resposta deve incluir estes valores, conforme aplicável:
Campo Tipo Descrição contentDocumentIds Matriz de string IDs normalizados do campo de metadados contentDocumentId contentType String ou null Tipo de arquivo excerpt String content.text do bloco correspondente externalDocumentInfo2 String URI do Amazon S3 relevanceScore Número Pontuação de relevância retornada pelo serviço de pesquisa sourceUrl String URI do Amazon S3 título String Nome do arquivo derivado do URI do Amazon S3 pageNumber String ou null Número da página de metadados de bloco startTimeMs Número ou nulo Hora de início de mídia relevante em milissegundos endTimeMs Número ou nulo Hora de término de mídia relevante em milissegundos Consulte Exemplo de resposta de entrada e saída.
- Conceda a permissão de papel de execução Lambda para consultar o serviço de pesquisa selecionado.
- No Gateway de API, crie uma API REST.
-
Crie um recurso de pesquisa, como
/search. - Crie um método POST que use a função Lambda como destino da integração.
- Habilite a integração de proxy Lambda.
- Defina a autorização do método como AWS_IAM.
-
Implemente a API em um estágio, como
prod. - Registre o URL de invocação.
- Crie uma entidade de segurança do IAM com permissão para invocar a API do gateway.
- Envie uma solicitação de teste.
- Verifique o esquema de resposta, os IDs de arquivo do Salesforce, as pontuações de relevância, os fragmentos e os locais de origem.
- A API do gateway está pronta para se conectar ao Salesforce.
Amostra de resposta de entrada e saída
Here is a sample input:
{
"searchQuery": "Jason image",
"contentDocumentIds": [
"069xx0000004Dea",
"069LT000001BuuL",
"069xx0000004Deb",
"069LT000001Bv41"
],
"additionalFilters": {},
"maxResults": 100,
"searchHandle": null
}
Here is a sample output:
{
"executionTimeMs": 1720,
"hasMore": false,
"nextSearchHandle": null,
"results": [
{
"contentDocumentIds": [
"069xx0000004Dea",
"069xx0000004CIi"
],
"contentType": "PDF",
"excerpt": "Jason...",
"externalDocumentInfo2": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
"relevanceScore": 0.3837699,
"sourceUrl": "s3://my-bucket/Stockholm-Resume-Template-Simple.pdf",
"title": "Stockholm-Resume-Template-Simple.pdf",
"pageNumber": "1",
"startTimeMs": null,
"endTimeMs": null
},
{
"contentDocumentIds": [
"069LT000001BuuL"
],
"contentType": "MP3",
"excerpt": "",
"externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
"relevanceScore": 0.3344161,
"sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/Hyde_1783590525379.mp3",
"title": "Hyde_1783590525379.mp3",
"pageNumber": null,
"startTimeMs": 730,
"endTimeMs": 55110
},
{
"contentDocumentIds": [
"069xx0000004Deb"
],
"contentType": "MP4",
"excerpt": "",
"externalDocumentInfo2": "s3://my-bucket/Multi-File Edit.mp4",
"relevanceScore": 0.34692305,
"sourceUrl": "s3://my-bucket/Multi-File Edit.mp4",
"title": "Multi-File Edit.mp4",
"pageNumber": null,
"startTimeMs": 0,
"endTimeMs": 27849
},
{
"contentDocumentIds": [
"069LT000001Bv41"
],
"contentType": "PNG",
"excerpt": "The image describes...",
"externalDocumentInfo2": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
"relevanceScore": 0.3374139,
"sourceUrl": "s3://my-bucket/__sfdcroot__/Case/500LT00000K5Ty5YAF/image_1783590602375.png",
"title": "image_1783590602375.png",
"pageNumber": null,
"startTimeMs": null,
"endTimeMs": null
}
]
}
Para obter instruções detalhadas sobre o serviço Bedrock, consulte estas referências da documentação da AWS:
Para obter instruções detalhadas sobre o serviço do Kendra, consulte estas referências da documentação da AWS:
- Amostra de resposta de entrada e saída
Revise as cargas úteis de resposta e solicitação de amostra para a API do gateway Pesquisa de armazenamento externo.
