Skip to content
/ voqal Public
forked from voqal/voqal

Natural speech programming assistant for the software developers of tomorrow

License

Notifications You must be signed in to change notification settings

ajgale/voqal

 
 

Repository files navigation

Version Downloads

Introduction

Voqal is a programming assistant built for software developers looking to enhance their productivity with natural speech programming. Using Voqal, you can navigate, write, run, and debug software in JetBrains IDEs using your voice. Write code faster, reduce repetitive strain injuries, and improve focus and productivity. Voqal is promptable and privacy-focused, allowing you to customize your experience and control your data.

Demonstration

Natural.Speech.Programming.with.Gemini.1.5.Pro.mp4

Code Structure

The codebase is structured as follows:

  • assistant internal logic which controls the assistant
    • context data used to populate the prompts sent to the LLM
    • memory holds the assistant's memory
    • processing logic used to parse LLMs responses
    • template extension functions for templating prompts
    • tool contains the tools the assistant uses to interact with the IDE
  • ide contains IDE-specific implementations
  • provider interfaces with the supported AI providers
  • services contains the services used to interact with the assistant
  • status holds the status of the assistant
  • utils various utility functions

Benchmarks

The following benchmarks were produced via these suites.

Legend: X-axis: Time (ms), Y-axis: Accuracy (%), Size: Cost ($)

Commentary

The benchmarks show that the Voqal Assistant works best with Meta-Llama-3.1-405B-Instruct-Turbo but requires a bit more time to process the response. gemini-1.5-flash-latest is the cheapest and fastest model with high accuracy, but may require more follow-up messages to get the desired result. Further work needs to be done to break down performance by specific modes (e.g. idle, edit, search). Further work also needs to be done to improve the performance of the unified diff format-based editing as diff-based editing enables faster and more cost-effective editing. Diff-based editing is currently disabled as it is not yet production-ready.

About

Natural speech programming assistant for the software developers of tomorrow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 67.9%
  • Java 29.9%
  • JavaScript 0.9%
  • Go 0.7%
  • Python 0.6%
  • Groovy 0.0%