Promesse LLM

Avec les résultats de la recherche en main, il est maintenant possible de générer un message à envoyer au LLM. L'invite doit comprendre la question originale envoyée par l'utilisateur, les passages pertinents obtenus lors de la phase d'extraction et les instructions données au LLM indiquant que la réponse doit provenir des passages inclus.

Pour afficher l'invite, l'application utilise la fonction render_template() de Flask :

    qa_prompt = render_template('rag_prompt.txt', question=question, docs=docs)

Le fichier modèle auquel il est fait référence dans cet appel se trouve dans api/templates/rag_prompt.txt.

Use the following passages to answer the user's question. 
Each passage has a NAME which is the title of the document.
When answering, give the source name of the passages you are answering from at the end.
Put them in a comma separated list, prefixed with SOURCES:.

Example:

Question: What is the meaning of life?
Response:
The meaning of life is 42.

SOURCES: Hitchhiker's Guide to the Galaxy

If you don't know the answer, just say that you don't know, don't try to make up an answer.

----

{% for doc in docs -%}
---
NAME: {{ doc.metadata.name }}
PASSAGE:
{{ doc.page_content }}
---

{% endfor -%}
----
Question: {{ question }}
Response:

Vous pouvez apporter des modifications à ce modèle si vous souhaitez voir leur effet sur la qualité des réponses du chatbot. Mais veillez toujours à préserver la boucle "for" qui restitue les passages récupérés.

Prêt à créer des expériences de recherche d'exception ?

Une recherche suffisamment avancée ne se fait pas avec les efforts d'une seule personne. Elasticsearch est alimenté par des data scientists, des ML ops, des ingénieurs et bien d'autres qui sont tout aussi passionnés par la recherche que vous. Mettons-nous en relation et travaillons ensemble pour construire l'expérience de recherche magique qui vous permettra d'obtenir les résultats que vous souhaitez.

Jugez-en par vous-même