LLM Prompt

Con los resultados de la búsqueda disponibles, ahora es posible generar un prompt para enviar al LLM. El prompt debe incluir la pregunta original enviada por el usuario, los pasajes relevantes obtenidos en la fase de recuperación y las instrucciones al LLM indicando que la respuesta debe provenir de los textos incluidos.

Para renderizar el prompt, la aplicación emplea la función render_template() de Flask:

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

El archivo plantilla que se referencia en esta llamada está en la API/plantillas/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:

Puedes hacer cambios en esta plantilla si quieres ver su efecto en la calidad de las respuestas del chatbot. Pero siempre cerciórate de conservar el bucle for que representa los pasajes recuperados.

¿Estás listo para crear experiencias de búsqueda de última generación?

No se logra una búsqueda suficientemente avanzada con los esfuerzos de uno. Elasticsearch está impulsado por científicos de datos, operaciones de ML, ingenieros y muchos más que son tan apasionados por la búsqueda como tú. Conectemos y trabajemos juntos para crear la experiencia mágica de búsqueda que te dará los resultados que deseas.

Pruébalo tú mismo