Inspiration
As an open-source developer, it aches that I can't provide trusted information as few-shot prompts to Large Language Code Assistant models. Through Gemini Forge, I aim to build a democratic platform that uses trusted information to generate better code and provide an overall productive code experience instead of the burden of good context lying on the Code Assistants to search across the web
What it does
Gemini Forge is the pip install equivalent for few-shot prompting. Using the information provided by open-source library authors, Gemini Forge automatically downloads all the code, issues, tutorials, and documentation and builds a text store. This text store is then appropriately provided to Gemini depending on the task—solving issues, explaining code, or generating code.
Gemini Forge VSCode extension enables educational code suggestions, fixes code bugs, and is a general-purpose AI assistant.
How we built it
The Gemini Forge Web Stack was built on FastAPI, PostgreSQL, and SvelteJS. Behind the scenes, the Gemini Forger uses Gemini, Langchain, and other open-source libraries to read and chunk code, HTML, GitHub repositories, issues, and discussions.
The VSCode extension was built using the VSCode API and mimics popular Code Assistants like GitHub copilot. The extension uses both the Gemini API and the Gemini Forge API to provide all the functionalities of a code assistant.
Challenges we ran into
Key challenges were collecting the right information - I had to tweak around quite a bit to extract information from GitHub repositories, their issues, discussions, and documentation, and chunk it to be able to do both Few-shot prompting and RAG-enabled Few-shot prompting.
Another challenge was building the VSCode extension similar to matching Copilot's UI. The best I could do was match the suggestions panel since it took a lot of time to stream and check for user input.
Accomplishments that we're proud of
Building the VSCode extension was the best thing I've done this month. To build a tool for an editor in the same editor was cool and I felt really happy about getting that done.
What we learned
I had zero experience building VSCode extensions. This hackathon was a great experience, as I built a copilot-like extension with additional functionalities that interface with Gemini. It's also incredible to see the power of large context windows and how much RAG functionality is reduced.
What's next for Gemini Forge
The next steps for Gemini Forge are to include custom prompt workflows through DAGs, support other programming languages, and create guidelines on how to write better few-shot prompt content
Built With
- docker
- fastapi
- gemini
- postgresql
- svelte
- vscode
Log in or sign up for Devpost to join the conversation.