spinoza_public / README.md
Qdonnars's picture
Add Groq model availability guard, raise max_tokens, document maintenance
965f3e7
|
Raw History Blame Contribute Delete
3.5 kB

A newer version of the Gradio SDK is available: 6.29.1

Upgrade
metadata
title: Spinoza
emoji: 🐨
colorFrom: green
colorTo: indigo
sdk: gradio
sdk_version: 4.37.2
python_version: '3.10'
app_file: app.py
pinned: false
hf_oauth: true

Spinoza Project

Reporters Without Borders (RSF) has teamed up with the General Information Press Alliance (the Alliance) to initiate the first step of its Spinoza project to develop an artificial intelligence tool by and for journalists that will safeguard the media’s intellectual property over what they publish. You can find more information here and here.

A visual and guided introduction to the artificial intelligence tool can be found in the RSF's Youtube Channel. You can have a look just below.

Table of Contents

Documentation

For a step-by-step guide on how to replicate Spinoza in a private space and integrate your own specialized "sub-RAG" using Google Colab, please refer to our Tutorial for Replication.

Installation

  1. Clone the repository (SSH):
 git clone https://huggingface.co/spaces/SpinozaProject/spinoza
  1. Install dependencies:
 poetry install

Note that we highly recommend to create a new env :

 conda create -n myenv python=3.10
 conda activate myenv

 pip install poetry

Usage

To run the project in local workspace, use the following command:

python app.py

Maintenance notes

Python version is pinned to 3.10 (python_version: "3.10" in the YAML header above). The dependencies in requirements.txt are locked to versions that only ship wheels for Python 3.10 (e.g. torch==2.5.1, torchvision==0.20.1). If you regenerate requirements.txt, keep Python 3.10 or bump every dependency together — otherwise the Space build fails with No matching distribution found. Do not re-export the requirements with --hash: hashes put pip in --require-hashes mode, which conflicts with the extra packages the Hugging Face builder injects and breaks the build.

Groq model is set via groq_model_name in spinoza_project/config.yaml. Groq regularly retires model IDs, so the app checks the live Groq catalog at startup and falls back to llama-3.3-70b-versatile if the configured model is gone (see resolve_groq_model in spinoza_project/source/backend/llm_utils.py). Check the current catalog at https://console.groq.com/docs/models before changing it.

Contributing

  1. Clone the repository.
  2. Create a new branch: git checkout -b feature-name.
  3. Make your changes.
  4. Push your branch: git push origin feature-name.
  5. Create a pull request.

License

WIP