Contextualizing Votes in Votefinder
Votefinder is a web application designed to connect citizens with their ideal political candidates by examining voting patterns at the French National Assembly. This project enriches the platform with critical contextual insights from the debates, enabling users to understand the arguments shaping each legislative vote.
The Motivation Behind Votefinder
This project was inspired by the political events in France following President Macron's dissolution of the assembly.
Initially, I wanted to create the app myself, but I discovered an existing project with an impressive interface. I decided to contribute by adding voting insights, as I believe this information is crucial for avoiding demagogic votes and empowering citizens to make informed decisions based on actual legislative behavior.
New Features of Votefinder
-
Debate Contextualization: Integrates arguments from Assembly debates into the voting records, providing both the "for" and "against" perspectives on each amendment.
-
Automated Links to Debates: Automatically attaches relevant session links to each vote using open data from the French National Assembly, enhancing transparency.
-
RAG: Employs a retrieval-augmented generation (RAG) model to extract pertinent arguments.
-
User-Friendly Interface: Offers an interactive experience with tooltip to easily explore the context of each legislative decision.
{
"titre": "Créer une cotisation sur les dividendes",
"sous_titre_1": "Répartir l'effort financier pour les retraites entre travailleurs et actionnaires",
"sous_titre_2": "Instaurer une contribution de 1% sur les dividendes, reversée aux caisses de retraite",
"pour": "Depuis la crise, certaines entreprises, notamment du secteur énergétique, ont réalisé des profits excessifs. Ces dividendes excessifs empêchent d'investir dans la société et d'augmenter les salaires.",
"contre": "Cette cotisation serait probablement inconstitutionnelle et contraire aux directives européennes. Elle exposerait l'État à de lourds risques juridiques, comme en 2017, où une taxe similaire a été annulée par le Conseil constitutionnel, entraînant des remboursements massifs.",
"vote_id": "VTANR5L16V1018",
"amendement_url": "https://www.assemblee-nationale.fr/dyn/16/amendements/0760/AN/19151",
"assemblee_url": "https://www.assemblee-nationale.fr/dyn/16/dossiers/alt/plrfss_pour_2023",
"senat_url": "https://www.senat.fr/dossier-legislatif/pjl22-368.html",
"date": "2023-02-17",
"type": "Amendement",
"seance_url": "https://www.assemblee-nationale.fr/dyn/crSeanceRedirect/RUANR5L16S2023IDS26802",
"summary_url": "https://www.assemblee-nationale.fr/dyn/16/amendements/0760/AN/19151",
"dossier_url": "https://www.senat.fr/dossier-legislatif/pjl22-368.html"
}
Under the Hood: Technical Architecture
-
Backend: Automated generation of links and storage of debate arguments through a detailed database that stores session transcripts.
-
Data Processing: Uses a vector store for efficient retrieval of debate content, allowing users to access arguments related to specific votes.
-
Local AI Models: Uses local models like Ollama, ensuring data privacy while maintaining the integrity of the retrieved information.
Implementation Challenges and Solutions
-
Data Compilation: Developed scripts to compile session data and automate links to debates, ensuring relevance and accuracy.
-
Efficient Retrieval: Implemented RAG techniques to efficiently fetch and deliver the most relevant debate arguments.
-
UI Improvement: Integrated a tooltip system to display context easily, requiring design refinements for optimal user experience.
Why Votefinder Matters
This project provides profound insights into the legislative process. By focusing on what deputies actually vote for, rather than solely their public statements, Votefinder offers citizens a nuanced understanding of their political representatives. The enhancements ensure that transparency and informed decision-making lie at the heart of political engagement.
References
- Visit votefinder github repo for further technical details.
- Dive into langchain RAG Q&A to know more about retrieval-augmented generation.