What is Elenchus

I'm writing this journal after implementing a basic MVP MVP = Minimum viable product, borrowed from agile methodology of Elenchus, Elenchus is the greek term for Socratic method of argumentative dialogue

Elenchus is a HUD HUD = Heads up display, is basically is a floating dialogue box on your screen that stays on top, this is prodominantly used in games based tool that floats on your screen and you can record your statements, which will be processed and broken down into premise and conclusions

Additional nicety is that it requires no token cost and runs locally in a very lightweight manner. Please pray that I am able to pull through on my promise of learning Rust, as this would make the software even faster

Anatomy of a statement

And provides you with an evalution that gives you two things

  • Whether any fallacy A statement or an argument based on a false or invalid inference. was committed
  • If the statement is fallicious then provide you with rationale on why it is fallcious.

This is the userflow in the nutshell I want to add an ability to record debates and analyse them post hoc

Why does this exists?

For the love of the game, I honestly enjoy debates but there is a difference between a heated argument and a well structured and well executed debates and it is to do with how well someone puts out their statement

In debates people can sometimes be disingenuous sometimes on purpose, sometimes by mistake.

So having a good understanding of whether a given statement is fallcious or not is a good starting step to weed out poor arguments and debates with no ends.

This is to ensure that both parties have a easier time as you will gain the ability to detect and breakdown logical fallcies leading to the following benefits.

  • You are able to make sounder and robust statements / arguments
  • You are able to smell unsound or half-baked statements / arguments

Currently the way elenchus works is by recording you on adhoc basis and giving you rationale / rebuttals, so you can think of it as a sparring partner for you. I had attached a screenshot of how it looks below

Elenchus HUD

You can check out the UI evolution in the following issue to check the trail: https://github.com/Asifdotexe/Elenchus/issues/3

What is under the HUD (Pun intended)?

  • Uses laptop/desktop's microphone or audio loopback to generate the input
  • Uses faster-whisper (CPU, INT8 quantized model) -> This perform with the latency of under 350 ms)
  • Uses Ollama qwen2.5-coder:3b (base.en) The rationale behind choosing the code model over the base instruct model is that it would give me consice responses as we want the rationale to have brevity and the task of classification is simple enough for the coder model to pick up, but that said, I will try the base instruct model to see if there are performance gains (GPU, Q4_K_M) -> This perform with the latency of under 250 ms
  • Everything is displayed on the PyQt6 Obsidian HUD

Now if I were to talk about the resource footprint of the root as I write this journal, here are the stats:

  • Speech to text that utilises faster-whisper uses around 500-MB to 1GB RAM (NO VRAM used here)
  • Qwen model for reasoning uses around ~2.2GB or VRAM
  • Audio capture and voice activity detection relies on sounddevice and uses less than 40 MB RAM (only CPU)
  • Last but not the least, UI takes less than 80 MB of RAM and uses the GPU or compositor

How do I distribute?

I want this to be easy to set up, so as the time of writing this I had some setup scripts that worked on powershell but that isn't very user friendly, planning to make an executable because the philosophy that I want to follow here is simplicity and ease of use.

  • For developer: Github repository setup
  • For technical users: Quick start commands
  • For lay users: Downloadable executable file with icon to start it up and configurable panel

Scroll to the bottom to check the distribution section: https://asifdotexe.github.io/Elenchus/

Things I want to add in Elenchus

  • [ ] Ability to take up to 30 minutes of debate recordings and transcribe it and give a per statement analysis
  • [ ] Ability to listen to debates on platforms like discord or any other place, essentially giving it ability to listen to the opponent. This is something that I am kinda on the fence of, as the aim of the tool is to learn and having an assist of this sort can lead to people offloading their cognitive ability?
  • [ ] Leverage MacOS's in built voice to text model to make it leaner for Mac users, here are some additional documents: Thanks a lot Prasad Raju for this suggestion.

Relevant links: