Utilisation des modèles Amazon Nova dans Elasticsearch
Découvrez comment utiliser les modèles Amazon Nova dans Elasticsearch pour extraire automatiquement le sentiment, l'authenticité, les résumés et les mots-clés des avis produits dans Elasticsearch.
Dans cet article, nous aborderons la famille de modèles d'IA d'Amazon, Amazon Nova, et apprendrons à l'utiliser avec Elasticsearch.
À propos d'Amazon Nova
Amazon Nova est une famille de modèles d'intelligence artificielle d'Amazon, disponibles sur Amazon Bedrock et conçus pour offrir de hautes performances et un bon rapport coût-efficacité. Ces modèles fonctionnent avec des entrées texte, image et vidéo, génèrent des sorties textuelles et sont optimisés pour répondre à différents besoins en termes de précision, de vitesse et de coût.
Principaux modèles de l'Amazon Nova
Amazon Nova Micro : Axé exclusivement sur le texte, ce modèle rapide et économique est idéal pour la traduction, le raisonnement, la complétion de codes et la résolution de problèmes mathématiques. Sa production dépasse les 200 jetons par seconde, ce qui en fait un outil idéal pour les applications nécessitant des réponses instantanées.
Amazon Nova Lite : un modèle multimodal économique capable de traiter rapidement des images, des vidéos et du texte. Il se distingue par sa rapidité et sa précision, et convient plus particulièrement aux applications interactives et à fort volume où le coût est un facteur déterminant.
Amazon Nova Pro : L'option la plus avancée, combinant haute précision, vitesse et rentabilité. Idéal pour les tâches complexes telles que le résumé de vidéos, les questions et réponses, le développement de logiciels et les agents d'intelligence artificielle. Les avis d'experts attestent de son excellence en matière de compréhension textuelle et visuelle, ainsi que de sa capacité à suivre des instructions et à exécuter des flux de travail automatisés.
Les modèles Amazon Nova sont adaptés à une variété d'applications, de la création de contenu et de l'analyse de données au développement de logiciels et à l'automatisation des processus alimentés par l'IA.
Ci-dessous, nous allons montrer comment utiliser les modèles Amazon Nova en conjonction avec Elasticsearch pour l'analyse automatisée des avis sur les produits.
Ce que nous ferons :
Créer un point de terminaison via Inference API, intégrant Amazon Bedrock avec Elasticsearch.
Créer un pipeline à l'aide du processeur d'inférence, qui fera des appels au point d'extrémité de l'API d'inférence.
Indexer les avis sur les produits et générer automatiquement une analyse des avis à l'aide du pipeline.
Analyser les résultats de l'intégration.
Création d'un point de terminaison dans l'API d'inférence avec Amazon Nova Lite
Tout d'abord, nous configurons l'API Inference pour intégrer Amazon Bedrock à Elasticsearch. Nous définissons Amazon Nova Lite, id amazon.nova-lite-v1:0, comme le modèle à utiliser, car il offre un équilibre entre la vitesse, la précision et le coût.
Remarque : vous devez disposer d'informations d'identification valides pour utiliser Amazon Bedrock. Vous pouvez consulter la documentation relative à l'obtention des clés d'accès ici :
PUT _inference/completion/bedrock_completion_amazon_nova-lite
{
"service": "amazonbedrock",
"service_settings": {
"access_key": "#access_key#",
"secret_key": "#secret_key#",
"region": "us-east-1",
"provider": "amazontitan",
"model": "amazon.nova-lite-v1:0"
}
}Création du pipeline d'analyse de l'examen
Nous allons maintenant créer un pipeline de traitement qui utilisera le processeur d'inférence pour exécuter une invite d'analyse de révision. Cette invite enverra les données d'évaluation à Amazon Nova Lite, qui les exécutera :
Classification du sentiment (positif, négatif ou neutre).
Résumé de l'examen.
Génération de mots-clés.
Mesure de l'authenticité (authentique | suspecte | générique).
PUT /_ingest/pipeline/review_analyzer_ai
{
"processors": [
{
"script":
{
"source": """ctx.prompt = "Analyze the following product review and return a structured JSON. Task: - Summarize the review concisely. - Detect and classify the sentiment as positive, neutral, or negative.- Generate relevant tags (keywords) based on the review content and detected sentiment. - Evaluate the authenticity of the review (authentic, suspicious, or generic). Review: " + ctx.review + " Respond in JSON format with the following fields: \"review_analyze\": {\"sentiment\": \"<positive | neutral | negative>\", \"authenticity\": \"<authentic | suspicious | generic>\",\"summary\": \"<short review summary>\", \"keywords\": [\"<keyword 1>\", \"<keyword 2>\", \"...\"]}}}"
"""
}
},
{
"inference": {
"model_id": "bedrock_completion_amazon_nova-lite",
"input_output": {
"input_field": "prompt",
"output_field": "result"
}
}
},
{
"gsub": {
"field": "result",
"pattern": "```json",
"replacement": ""
}
},
{
"json" : {
"field" : "result",
"strict_json_parsing": false,
"add_to_root" : true
}
},
{
"remove": {
"field": "result"
}
},
{
"remove": {
"field": "prompt"
}
}
]
}Révision de l'indexation
Nous indexons maintenant les avis sur les produits à l'aide de l'API Bulk. Le pipeline créé précédemment sera automatiquement appliqué, ajoutant l'analyse générée par le modèle Nova aux documents indexés.
POST bulk/
{ "index": { "_index" : "products", "_id": 1, "pipeline":"review_analyzer_ai" } }
{ "product": "Pampers Pants Premium Care Fralda", "review": "Best diaper ever! Great material, lots of cotton, without all that plastic. Doesn't leak! My baby is a boy and every diaper leaked around the waist, this model solved the problem. Even on a small baby it's worth the effort of putting on the short diaper. I put it on my baby at 9 pm and only take it off in the morning, without any leaks." }
{ "index": { "_index" : "products", "_id": 2, "pipeline":"review_analyzer_ai" } }
{ "product": "Portable Electric Body Massager", "review": "It broke in three months for no apparent reason, thank goodness I didn't review it before. I don't recommend buying it because it has a short lifespan." }
{ "index": { "_index" : "products", "_id": 3, "pipeline":"review_analyzer_ai" } }
{ "product": "Havit Fuxi-H3 Black Quad-Mode Wired and Wireless Gaming Headset", "review": "The sound is good for the price, but the connectivity is horrible. You always need to be playing audio, otherwise it loses connection (I work from home, and this is very annoying). Sometimes it loses connection and you have to turn it off and on again to get it back on. The microphone is very sensitive, so it loses connection frequently and you have to turn the headset off and on for the microphone to work again. The flexibility of the stem is useless, because if you move it, the microphone can turn off. Sometimes I need to use Linux and the headset simply doesn't work. It's light and comfortable, the sound is adequate, but the connectivity is terrible." }
{ "index": { "_index" : "products", "_id": 4, "pipeline":"review_analyzer_ai" } }
{ "product": "Air Fryer 4L Oil Free Fryer Mondial", "review": "For those looking for value for money, it's a good option, but the tray (which is underneath the perforated basket) is already peeling a lot. My mother has one just like it and said that hers is even rusting, in other words, the material is MUCH inferior. There's also something that bothers me, because it looks like a microwave, it doesn't fry evenly, it's weaker in the middle and stronger on the sides. Buy at your own risk." }Interrogation et analyse des résultats
Enfin, nous lançons une requête pour voir comment le modèle Amazon Nova Lite analyse et classe les avis. En exécutant GET products/_search, nous obtenons les documents déjà enrichis des champs générés à partir du contenu de la revue.
Le modèle identifie le sentiment prédominant (positif, neutre ou négatif), génère des résumés concis, extrait les mots-clés pertinents et estime l'authenticité de chaque avis. Ces champs permettent de comprendre l'opinion du client sans avoir à lire le texte complet.
Pour interpréter les résultats, nous examinons
Le sentiment, qui indique la perception globale du produit par le consommateur.
Le résumé, qui met en évidence les principaux points mentionnés.
Les mots-clés, qui peuvent être utilisés pour regrouper des avis similaires ou identifier des modèles de retour d'information.
L'authenticité, qui indique si l'avis semble digne de confiance. Cette fonction est utile pour la curation ou la modération.
"hits": [
{
"_index": "products",
"_id": "1",
"_score": 1,
"_ignored": [
"review.keyword"
],
"_source": {
"product": "Pampers Pants Premium Care Fralda",
"model_id": "bedrock_completion_amazon_nova-lite",
"review_analyze": {
"summary": "The reviewer praises the diaper for its great material, high cotton content, and leak-proof design, especially highlighting its effectiveness for their baby.",
"sentiment": "positive",
"keywords": [
"best diaper",
"great material",
"cotton",
"no plastic",
"leak-proof",
"baby",
"effective"
],
"authenticity": "authentic"
},
"review": "Best diaper ever! Great material, lots of cotton, without all that plastic. Doesn't leak! My baby is a boy and every diaper leaked around the waist, this model solved the problem. Even on a small baby it's worth the effort of putting on the short diaper. I put it on my baby at 9 pm and only take it off in the morning, without any leaks."
}
},
{
"_index": "products",
"_id": "2",
"_score": 1,
"_source": {
"product": "Portable Electric Body Massager",
"model_id": "bedrock_completion_amazon_nova-lite",
"review_analyze": {
"summary": "The product broke in three months for no apparent reason and the reviewer does not recommend it due to its short lifespan.",
"sentiment": "negative",
"keywords": [
"broke",
"short lifespan",
"not recommend"
],
"authenticity": "authentic"
},
"review": "It broke in three months for no apparent reason, thank goodness I didn't review it before. I don't recommend buying it because it has a short lifespan."
}
},
{
"_index": "products",
"_id": "3",
"_score": 1,
"_ignored": [
"review.keyword"
],
"_source": {
"product": "Havit Fuxi-H3 Black Quad-Mode Wired and Wireless Gaming Headset",
"model_id": "bedrock_completion_amazon_nova-lite",
"review_analyze": {
"summary": "The headset has good sound quality for the price but suffers from poor connectivity, especially when using the microphone or moving the headset. It also has compatibility issues with Linux.",
"sentiment": "negative",
"keywords": [
"sound",
"connectivity",
"microphone",
"compatibility",
"annoying",
"turn off and on",
"Linux",
"flexible stem",
"work from home"
],
"authenticity": "authentic"
},
"review": "The sound is good for the price, but the connectivity is horrible. You always need to be playing audio, otherwise it loses connection (I work from home, and this is very annoying). Sometimes it loses connection and you have to turn it off and on again to get it back on. The microphone is very sensitive, so it loses connection frequently and you have to turn the headset off and on for the microphone to work again. The flexibility of the stem is useless, because if you move it, the microphone can turn off. Sometimes I need to use Linux and the headset simply doesn't work. It's light and comfortable, the sound is adequate, but the connectivity is terrible."
}
},
{
"_index": "products",
"_id": "4",
"_score": 1,
"_ignored": [
"review.keyword"
],
"_source": {
"product": "Air Fryer 4L Oil Free Fryer Mondial",
"model_id": "bedrock_completion_amazon_nova-lite",
"review_analyze": {
"summary": "The product offers value for money but has issues with peeling, rusting, and uneven frying.",
"sentiment": "negative",
"keywords": [
"value for money",
"peeling",
"rusting",
"uneven frying",
"weaker in the middle"
],
"authenticity": "authentic"
},
"review": "For those looking for value for money, it's a good option, but the tray (which is underneath the perforated basket) is already peeling a lot. My mother has one just like it and said that hers is even rusting, in other words, the material is MUCH inferior. There's also something that bothers me, because it looks like a microwave, it doesn't fry evenly, it's weaker in the middle and stronger on the sides. Buy at your own risk."
}
}
]Conclusions
L'intégration entre Amazon Nova Lite et Elasticsearch a démontré comment les modèles de langage peuvent transformer des avis bruts en informations structurées et précieuses. En traitant les avis par le biais d'un pipeline, nous avons pu extraire le sentiment, l'authenticité, les résumés et les mots-clés de manière automatique et cohérente.
Les résultats montrent que le modèle peut comprendre le contexte des avis, classer les opinions des utilisateurs et mettre en évidence les points les plus pertinents de chaque expérience. Cela crée un ensemble de données beaucoup plus riche qui peut être exploité pour améliorer les capacités de recherche.




