Vous êtes ici :
Configuration d'une API Gateway pour la recherche de stockage externe
Exposer Amazon Bedrock ou Amazon Kendra via une API AWS qui accepte les requêtes de recherche Salesforce et renvoie les résultats de recherche pris en charge.
Avant de commencer, configurez et testez une base de connaissances Amazon Bedrock Knowledge ou un index Amazon Kendra.
- Créez une fonction Lambda qui accepte la requête Recherche de stockage externe.
- Configurez la fonction pour accepter une requête en langage naturel, des ID de Salesforce ContentDocument, des filtres supplémentaires, un nombre maximal de résultats et une poignée de recherche, selon le cas.
- Configurez la fonction pour interroger le service de recherche AWS sélectionné et appliquer les filtres pris en charge.
-
Transformez chaque résultat en champs de réponse attendus par Salesforce.
La réponse doit inclure les valeurs suivantes, selon le cas :
Champ Type Description contentDocumentIds Tableau de chaînes ID normalisés du champ de métadonnées contentDocumentId contentType Chaîne ou nul Type de fichier excerpt Chaîne Correspondance de chunk content.text externalDocumentInfo2 Chaîne URI Amazon S3 relevanceScore Numérique Score de pertinence renvoyé par le service de recherche sourceUrl Chaîne URI Amazon S3 title Chaîne Nom de fichier dérivé de l'URI Amazon S3 pageNumber Chaîne ou nul Numéro de page des métadonnées fragmentées startTimeMs Numérique ou nul Heure de début du média pertinente en millisecondes endTimeMs Numérique ou nul Heure de fin du média pertinente en millisecondes Consultez Exemple de réponse d'entrée et de sortie.
- Accordez l'autorisation de rôle d'exécution Lambda pour interroger le service de recherche sélectionné.
- Dans Passerelle d'API, créez une API REST.
-
Créez une ressource de recherche, par exemple
/search. - Créez une méthode POST qui utilise la fonction Lambda comme cible d'intégration.
- Activez l'intégration de proxy Lambda.
- Définissez l'autorisation de la méthode sur AWS_IAM.
-
Déployez l'API à une étape, par exemple
prod. - Enregistrez l'URL d'invocation.
- Créez un principal IAM avec l'autorisation d'invoquer l'API de la passerelle.
- Envoyez une demande de test.
- Vérifiez le schéma de réponse, les ID de fichier Salesforce, les scores de pertinence, les extraits et les emplacements sources.
- L'API de la passerelle est prête à se connecter à Salesforce.
Exemple de réponse d'entrée et de sortie
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
}
]
}
Pour des instructions détaillées sur le service Bedrock, consultez les références suivantes à la documentation AWS :
Pour des instructions détaillées sur le service Kendra, consultez les références suivantes à la documentation AWS :
- Exemple de réponse d'entrée et de sortie
Examinez des exemples de charges de travail de requête et de réponse pour l'API de passerelle External Storage Search.
