Skip to content

simonesiega-academics/modular-ai-companion

Repository files navigation

AIcompanion

Last commit Issues Stars Forks License

Python Flask Ollama RAG Whisper Kokoro

Assistente AI modulare (Python + Flask) con chat testuale e vocale, modalità di “interrogazione” con valutazione automatica, e ricerca semantica RAG.

Presentation

AIcompanion nasce per unire conversazione naturale (testo/voce) e strumenti didattici (interrogazioni e feedback) in un’unica app locale e modulare. L’obiettivo è avere un “compagno” che non solo risponde, ma può anche contestualizzare (RAG) e valutare.

Funzionalità principali

  • Chat testuale e vocale: input testo/audio, risposta LLM, salvataggio su disco (questions/ e responses/).
  • Pipeline voce end-to-end: Speech-to-Text con Whisper, Text-to-Speech con Kokoro.
  • Modalità “interrogazione”: sessioni di test, valutazione automatica (CORRETTA/SBAGLIATA) con spiegazioni e riepilogo finale.
  • Ricerca semantica (RAG): recupero documenti pertinenti tramite vector store + embeddings (OllamaEmbeddings).
  • Modularità: componenti separati (ASR/TTS/RAG/valutazione) per estendere facilmente modelli e flussi.

Scalabilitá

AIcompanion è progettato come piattaforma modulare dove:

  • L’esperienza utente può alternare chat libera e sessioni strutturate di test.
  • I modelli possono essere sostituiti/aggiornati senza riscrivere l’intera app (LLM, embeddings, ASR, TTS).
  • Le risposte possono essere arricchite con conoscenza esterna tramite RAG per aumentare coerenza e utilità.

Architettura & Tech Overview

Area Technology Goal
App Python + Flask Web app semplice, estendibile, con endpoint per testo e audio
LLM ChatOllama Risposte conversazionali locali
ASR Whisper (+ ffmpeg) Trascrizione audio → testo
TTS Kokoro Sintesi vocale testo → audio
RAG Vector Store + OllamaEmbeddings Recupero contesto semantico per risposte più pertinenti
Storage File system (questions/, responses/) Persistenza semplice di domande/risposte

Screenshots & docs

Home page black theme Login white theme

Contributing & support 🤝

I contributi sono benvenuti.

  • Per bug e feature request, apri una Issue
  • Per contributi al codice, apri una Pull Request con una descrizione chiara della modifica e della motivazione
  • Per contatti diretti, scrivimi a simonesiega1@gmail.com o contattami su GitHub

License

Questo progetto è distribuito sotto i termini della licenza MIT, come indicato nel file LICENSE.

Contributors 🧑‍💻

simonesiega

About

AIcompanion è un assistente AI modulare sviluppato in Python, progettato per elaborazione conversazionale, analisi documentale e modalità di interrogazione. Integra Flask per l’interfaccia web, LangChain per la gestione del contesto e modelli Ollama eseguiti in locale fornendo un ambiente completo e ottimizzato per workflow AI on-premise.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors