LLM Prompt

Com os resultados da pesquisa em mãos, agora é possível gerar um prompt para enviar ao LLM. O enunciado deve incluir a pergunta original enviada pelo usuário, as passagens relevantes obtidas na fase de recuperação e instruções para o LLM indicando que a resposta deve ser extraída das passagens incluídas.

Para exibir o prompt, o aplicativo usa a função render_template() do Flask:

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

O arquivo de modelo referenciado nesta chamada está em 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:

Você pode fazer alterações neste modelo se quiser ver o efeito delas na qualidade das respostas do chatbot. Mas certifique-se sempre de preservar o loop "for" que renderiza as passagens recuperadas.

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)