Devoxx Genie is a fully Java-based LLM Code Assistant plugin for IntelliJ IDEA, designed to integrate with local LLM providers such as Ollama, LMStudio, GPT4All, Llama.cpp and Exo but also cloud based LLM's such as OpenAI, Anthropic, Mistral, Groq, Gemini, DeepInfra, DeepSeek, OpenRouter and Azure OpenAI
We now also support LLM-driven web search with Google and Tavily.
With Claude 3.5 Sonnet, DevoxxGenie isn't just another developer tool... it's a glimpse into the future of software engineering. As we eagerly await Claude 3.5 Opus, one thing is clear: we're witnessing a paradigm shift in Ai Augmented Programming (AAP) π
- DevoxxGenie in action (Devoxx Belgium 2024)
- How ChatMemory works
- Hands-on with DevoxxGenie
- The Era of AAP: Ai Augmented Programming using only Java
- π Chat History: Your chats are stored locally, allowing you to easily restore them in the future.
- π§ Project Scanner: Add source code (full project or by package) to prompt context when using Anthropic, OpenAI or Gemini.
- π° Token Cost Calculator: Calculate the cost when using Cloud LLM providers.
- π Web Search : Search the web for a given query using Google or Tavily.
- ποΈ Streaming responses: See each token as it's received from the LLM in real-time.
- π§ Abstract Syntax Tree (AST) context: Automatically include parent class and class/field references in the prompt for better code analysis.
- π¬ Chat Memory Size: Set the size of your chat memory, by default its set to a total of 10 messages (system + user & AI msgs).
- βοΈ 100% Java: An IDEA plugin using local and cloud based LLM models. Fully developed in Java using Langchain4J
- π Code Highlighting: Supports highlighting of code blocks.
- π¬ Chat conversations: Supports chat conversations with configurable memory size.
- π Add files & code snippets to context: You can add open files to the chat window context for producing better answers or code snippets if you want to have a super focused window
We now support also streaming responses which you can enable in the Settings page π€© π
StreamingResponse.mp4
- Download and start Ollama
- Open terminal and download a model using command "ollama run llama3.2"
- Start your IDEA and go to plugins > Marketplace and enter "Devoxx"
- Select "DevoxxGenie" and install plugin
- In the DevoxxGenie window select Ollama and available model
- Start prompting
- Start your IDEA and go to plugins > Marketplace and enter "Devoxx"
- Select "DevoxxGenie" and install plugin
- Click on DevoxxGenie cog (settings) icon and click on Cloud Provider link icon to create API KEY
- Paste API Key in Settings panel
- In the DevoxxGenie window select your cloud provider and model
- Start prompting
In the IDEA settings you can modify the REST endpoints and the LLM parameters. Make sure to press enter and apply to save your changes.
We now also support Cloud based LLMs, you can paste the API keys on the Settings page.
The language model dropdown is not just a list anymore, it's your compass for smart model selection.
See available context window sizes for each cloud model View associated costs upfront Make data-driven decisions on which model to use for your project
You can now add the full project to your prompt IF your selected cloud LLM has a big enough window context.
Leverage the prompt cost calculator for precise budget management. Get real-time updates on how much of the context window you're using.
See the input/output costs and window context per Cloud LLM. Eventually we'll also allow you to edit these values.
"But wait," you might say, "my project is HUGE!" π
Fear not! We've got options:
- Leverage Gemini's Massive Context:
Gemini's colossal 1 million token window isn't just big, it's massive. We're talking about the capacity to digest approximately 30,000 lines of code in a single go. That's enough to digest most codebases whole, from the tiniest scripts to some decent projects.
But if that's not enough you have more options...
- Smart Filtering:
The new "Copy Project" panel lets you:
Exclude specific directories Filter by file extensions Remove JavaDocs to slim down your context
- Selective Inclusion
Right-click to add only the most relevant parts of your project to the context.
The DevoxxGenie project itself, at about 70K tokens, fits comfortably within most high-end LLM context windows. This allows for incredibly nuanced interactions β we're talking advanced queries and feature requests that leave tools like GitHub Copilot scratching their virtual heads!
V0.2.7 also supports Exo, a local LLM cluster for Apple Silicon which allows you to run Llama 3.1 8b, 70b and 405b on your own Apple computers π€©
- From IntelliJ IDEA: Go to
Settings
->Plugins
->Marketplace
-> Enter 'Devoxx' to find plugin OR Install plugin from Disk - From Source Code: Clone the repository, build the plugin using
./gradlew buildPlugin
, and install the plugin from thebuild/distributions
directory and select file 'DevoxxGenie-X.Y.Z.zip'
- IntelliJ minimum version is 2023.3.4
- Java minimum version is JDK 17
Gradle IntelliJ Plugin prepares a ZIP archive when running the buildPlugin task.
You'll find it in the build/distributions/ directory
./gradlew buildPlugin
It is recommended to use the publishPlugin task for releasing the plugin
./gradlew publishPlugin
- Select an LLM provider from the DevoxxGenie panel (right corner)
- Select some code
- Enter shortcode command review, explain, generate unit tests of the selected code or enter a custom prompt.
Enjoy!