<h1 align="center">SyncRAG</h1>

<p align="center">
    <img src="asset/logo.png" style="width:200px;height:auto">
</p>

<p align="center">
  Progetto di stage presso Sync Lab S.r.l.
    <br>
    <br>
  Applicazione web per interagire con un chatbot allenato sui tuoi documenti
    <br>
  Retrieval-Augmented Generation con LangChain4J
    <br>
  Large Language Model Phi-3 mini, GPT 3.5 Turbo, Gemini 1.5 Pro e PaLM 2 Bison
    <br>
  Sviluppato con Java Spring e React
</p>
  
<p align="center">
    <img src="asset/technology.png" style="width:300px;height:auto">
</p>

<h3 align="center">Come utilizzare</h3>

<p>
    Per configurare e utilizzare il prototipo e i modelli linguistici, fare riferimento al documento Proof_of_Concept.pdf (capitolo Utilizzo)
    <br>
    Consultare il medesimo documento per maggiori informazioni sul funzionamento del prototipo
</p>

<h3 align="center">L'applicazione</h3>
<p align="center">
    <img src="asset/homepage.png" style="width:300px;height:auto">
</p>
<p align="center">
    <img src="asset/adminpage.png" style="width:300px;height:auto">
</p>
<p>
    Scegli quale modello linguistico utilizzare tra Phi-3, GPT 3.5 Turbo, Gemini 1.5 Pro e PaLM 2 Bison
    <br>
    Invia una domanda al chatbot, e ricevi risposte relative alle sole infromazioni contenute nel database
    <br>
    Visualizza, aggiungi e rimuovi documenti dal database vettoriale dell'applicazione (solo per l'Amministratore)
</p>
