Combining the search power of Elasticsearch with the Question Answering power of GPT
Blog - ChatGPT and Elasticsearch: OpenAI meets private data
- Python interface accepts user questions
- Generate a hybrid search request for Elasticsearch
- BM25 match on the title field
- kNN search on the title-vector field
- Boost kNN search results to align scores
- Set size=1 to return only the top scored document
- Search request is sent to Elasticsearch
- Documentation body and original url are returned to python
- API call is made to OpenAI ChatCompletion
- Prompt: "answer this question using only this document <body_content from top search result>"
- Generated response is returned to python
- Python adds on original documentation source url to generated response and prints it to the screen for the user