RAG MVP for Chat - Documentation
The first iteration of RAG customization for a self-hosted feature will begin with documentation Q&As within Duo Chat. Duo Chat is currently configured to enable question answering on GitLab documentation. We can offer customizations that would allow a user to ask and answer questions on their own documentation.
## Pre-Conditions
1. Customer is hosting ElasticSearch that can be configured with a self-managed GitLab instance for indexing/embedding
2. Customer is self-hosting a LLM to support Chat functionality
### Self-Hosted Chat Development Steps
* [ ] Prompt Routing in GitLab Rails
* [ ] Baselines of Chat capabilities
* [ ] Mistral series
* [ ] Prompt Iteration for RAG injections for baseline models
### RAG Flow
* [Instance-Level Configuration for External Documentation](https://gitlab.com/gitlab-org/gitlab/-/issues/464630 "Instance-Level Configuration for External Documentation")
* customer configures their self managed GitLab instance to connect to a self-hosted embedding/indexing model (ie ElasticSearch)
* customer provides routing for documentation(s) that serve as context for question answering
* within the GitLab UI, the customer can configure indexing/chunking approach
* the index(s) are stored within their Gitlab instance
* within the GitLab UI, the user can set their retrieval methodology
* within the GitLab UI, the customer can configure hotkeys (ie @companyx) to indicate when they want to invoke their specific documentation
* the customer can ask questions to Duo chat using an @ hotkey to invoke specific documentation
epic