diff --git a/docs/integrations/knowledge-base.md b/docs/integrations/knowledge-base.md index a749bbea..3579a818 100644 --- a/docs/integrations/knowledge-base.md +++ b/docs/integrations/knowledge-base.md @@ -47,10 +47,24 @@ For example you can add a comment in a PR to chat directly with CodeRabbit. `@co Or you can comment directly on some lines of code in the PR. `@coderabbitai do not complain about lack of error handling here, it is handled higher up the execution stack.` -## On-premises +## Self-hosted knowledge base {#self-hosted} For self-hosted / on-premises deployments, you can enable the knowledge base features by setting `ON_PREM_KNOWLEDGE_BASE=true` in the environment variables for your self-hosted docker image. -You must also be running ChromaDB. Use image `chromadb/chroma:0.5.20`. In your CodeRabbit docker image environment variables, set `CHROMADB_URL` to point to the hostname where ChromaDB can be reached. For persistance of your ChromaDB data, mount `/chroma/chroma` in the container to a volume mount. For more information on ChromaDB docker deployment, including how to set up authentication, refer to the [official documentation](https://docs.trychroma.com/deployment/docker). CodeRabbit will use CHROMA_CLIENT_AUTH_CREDENTIALS if it is set. +You must also be running ChromaDB. Use image `chromadb/chroma:0.5.20`. In your CodeRabbit docker image environment variables, set `CHROMADB_URL` to point to the hostname where ChromaDB can be reached. For persistance of your ChromaDB data, mount `/chroma/chroma` in the container to a volume mount. For more information on ChromaDB docker deployment, including how to set up authentication, refer to the [official documentation](https://docs.trychroma.com/deployment/docker). CodeRabbit will use `CHROMA_CLIENT_AUTH_CREDENTIALS` if it is set. -By default, CodeRabbit will store its data in the `coderabbitai/data` branch unless you set `ON_PREM_KNOWLEDGE_BASE_BRANCH=` with a value. +By default, CodeRabbit will store its data in the `coderabbitai/data` branch, unless you set a value for `ON_PREM_KNOWLEDGE_BASE_BRANCH=`. + +### Walkthrough + +- Set up a ChromaDB service on your cloud provider of choice. There is extensive documentation for generic Docker deploys, as well as cloud native deployments, in the [official Chroma documentation](https://docs.trychroma.com/deployment) +- Configure your environment variables for your CodeRabbit self-hosted deploy to be able to access Chroma. +- Restart your CodeRabbit service so it has access to the new environment variable settings. +- Create a new PR in your SCM platform. +- Add a comment to the PR to tell CodeRabbit to remember something. + +`@coderabbitai always make sure to enforce camelCase` + +- CodeRabbit should respond that it has added a learning. +- Check out the branch called `coderabbit/data` in the repository (or whatever branch name you have set for `ON_PREM_KNOWLEDGE_BASE_BRANCH`). It should contain a file called learnings.json with an entry containing what you told it to remember. +- Future PRs should utilize the contents of this learnings file. Congratulations! You have configured the CodeRabbit Self-hosted knowledge base. diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index 45aa1847..aad24efc 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -123,6 +123,7 @@ CHROMADB_URL=[http://chromadb:8000] - For `GITHUB_APP_PEM_FILE`, flatten the PEM file by replacing newlines with `\n`. - For `GITHUB_HOSTNAME`, use GitHub Enterprise server's hostname, for example, “github.acme-inc.com” - You can generate `CODERABBIT_API_KEY` from CodeRabbit UI -> Organizations Settings -> API Keys. +- Refer to the [Self-hosted knowledge base](/integrations/knowledge-base#self-hosted) section for details on the `ON_PREM_KNOWLEDGE_BASE`. :::