What is the Indexing Engine
The Indexing Engine is Codeium's codebase awareness service that powers:
- Codebase-Aware Chat
- Codebase-Aware Autocomplete
Compared to regular context-aware Autocomplete and Chat, the Indexing Engine is able to retrieve context from across the entire codebase, not just files that you have recently interacted with. This significantly improves the quality of autocomplete and chat responses.
How it works
The Indexing Engine works in part by generating embeddings for your codebase that capture the underlying meaning. These embeddings can queried using both Natural Language and related code snippets.
Codeium Indexing does send snippets of code to a remote server to generate embeddings. However, no code or embeddings are stored remotely -- all your data is stored on your own device.
How to Enable Indexing Engine
The Indexing Engine is currently available in the following IDEs:
VSCode
To enable Indexing Engine in VSCode, go to your "Settings (UI)" page, and search for "Codeium Search". You should see an option to enable search, and set the Max Workspace Size.
Then restart your IDE and indexing should begin automatically.
You can see if your workspace is indexed by checking the "Context" pane in the "Chat" panel. If there is a green dot next to your workspace, then it is indexed and searchable.
JetBrains IDEs
In the Preferences menu, navigate to Tools > Codeium Settings.
Click "Enable Codeium Indexing", and set the appropriate value for "Indexing Max Workspace Size (File Count)" then restart your IDE.
Configuration
CodeiumIgnore
By default, Codeium Indexing will ignore:
- Paths specified in `gitignore`
- Files in `node_modules`
- Hidden pathnames (starting with ".")
When a file is ignored, it will not be indexed, and also does not count against the Indexing Max Workspace Size file counts.
If you want to further configure files that Codeium Indexing ignores, you can add a `.codeiumignore` file to your repo root, with the same syntax as `.gitignore`
System Requirements
When first enabled, Codeium will consume a fraction of CPU while it indexes the workspace. Depending on your workspace size, this should take 5-10 minutes, and only needs to happen once per workspace. CPU usage will return to normal automatically. Codeium Indexing also requires RAM (~300MB for a 5000-file workspace).
The "Max Workspace Size (File Count)" setting determines the largest workspace for which Codeium Indexing will try to index a particular workspace / module. If your workspace does not appear to be indexed, please try adjusting this number higher. For users with ~10GB of RAM, we recommend setting this no higher than 10,000 files.