csp-llm


Namecsp-llm JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryPython app using llm via MCP for modeling and solving a csp problem in pycsp3
upload_time2025-07-08 15:21:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords pycsp3 csp ai llm openai anthropic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## 💡 A propos de csp-llm

csp-llm est un paquet python fonctionnant sous forme d'agent IA pour permettre la génération et l'exécution automatique du code [PyCSP3](https://github.com/xcsp3team/pycsp3/) d'un problème de contrainte. 

Il propose une interface web utilisateur interactive et paramétrable, qui permet de saisir ou d'importer la description d'un problème de contrainte en langage naturel. La description du problème est alors envoyée à un modèle LLM pré-configuré qui va générer et afficher le code à l'utilisateur. L'utilisateur peut soit demander à ce que le code soit directement exécuté ou alors il peut apporter des modifications au code généré avant de demander son exécution. 


L'application intègre les technologies modernes permettant de faire fonctionner tout type de modèle LLM (modèles LLM déployés au sein du CRIL, les modèles d'Anthropic, les modèles d'OpenAI, les modèles de Google, etc.)

Une fois installée, l'application propose quelques exemples de problèmes de contraintes avec lesquels l'utilisateur peut s'amuser à faire des tests.


**NB** : *Il peut arriver que le code généré contienne des erreurs, la possibilité est alors donnée à l'utilisateur via l'interface de les corriger.*

## 🛑 Exigences

- Fonctionner sur les plateforme Linux et Mac (testé sur bash linux et zsh mac)
- Avoir un accès à une plateforme de LLM. Les modèles de LLM du CRIL sont proposées par défaut. Les personnes qui ont un compte sur le LAN peuvent utiliser leur clé API. Pour plus d'informations, prendre contact avec Alain Kemgue( kemgue@cril.fr )
- Avoir installé une version de python3 (**3.10** ou plus)
- Avoir installé une version de java pour faire fonctionner pycsp3 (java 8 ou plus)

## 📦 Installation

Il est conseillé d'installer l'application dans un environnement virtuel python.

### Installation de l'environnement virtuel

```bash
python3 -m venv venv
source venv/bin/activate

```

### Installation du paquet csp-llm qui se trouve sur PyPi

```bash
pip install csp_llm

```

### Lancer l'application

```bash
(venv) ordi@alain% launch-csp-llm     
🚀 Launching the application...
💡 Application dependencies
missing ScriptRunContext! This warning can be ignored when running in bare mode.
✅ anthropic 0.55.0
✅ openai 1.92.2
✅ streamlit 1.46.1
✅ streamlit_ace 0.1.1
✅ dotenv
✅ pycsp3 2.5.1
✅ Java 21.0.7 detected (>= 8)
🌐 Application available at: http://localhost:8501
💡 Press Ctrl+C to stop
--------------------------------------------------

  You can now view your Streamlit app in your browser.

  URL: http://localhost:8501

**************************************************
```

L'application est alors disponible sur le lien http://localhost:8501

Vous pouvez changer de port et d'hôte en passant des paramètres au script de lancement.

```bash

(venv) ordi@alain% launch-csp-llm --help              
usage: launch-csp-llm [-h] [--host HOST] [--port PORT] [-ev]

Launch the application

options:
  -h, --help   show this help message and exit
  --host HOST
  --port PORT
  -ev
```

Exemple de lancement sur le port 3000 et l'hôte 0.0.0.0( rend l'application accessible sur tout le réseau )

```bash
(venv) ordi@alain% launch-csp-llm --port 3000 --host 0.0.0.0
🚀 Launching the application...
💡 Application dependencies
✅ anthropic 0.55.0
✅ openai 1.92.2
✅ streamlit 1.46.1
✅ streamlit_ace 0.1.1
✅ dotenv
✅ pycsp3 2.5.1
✅ Java 21.0.7 detected (>= 8)
🌐 Application available at: http://0.0.0.0:3000
💡 Press Ctrl+C to stop
--------------------------------------------------

  You can now view your Streamlit app in your browser.

  URL: http://0.0.0.0:3000

**************************************************

```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "csp-llm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Alain Kemgue <kemgue@cril.fr>",
    "keywords": "pycsp3, csp, ai, llm, openai, anthropic",
    "author": null,
    "author_email": "Alain Kemgue <kemgue@cril.fr>",
    "download_url": null,
    "platform": null,
    "description": "## \ud83d\udca1 A propos de csp-llm\n\ncsp-llm est un paquet python fonctionnant sous forme d'agent IA pour permettre la g\u00e9n\u00e9ration et l'ex\u00e9cution automatique du code [PyCSP3](https://github.com/xcsp3team/pycsp3/) d'un probl\u00e8me de contrainte. \n\nIl propose une interface web utilisateur interactive et param\u00e9trable, qui permet de saisir ou d'importer la description d'un probl\u00e8me de contrainte en langage naturel. La description du probl\u00e8me est alors envoy\u00e9e \u00e0 un mod\u00e8le LLM pr\u00e9-configur\u00e9 qui va g\u00e9n\u00e9rer et afficher le code \u00e0 l'utilisateur. L'utilisateur peut soit demander \u00e0 ce que le code soit directement ex\u00e9cut\u00e9 ou alors il peut apporter des modifications au code g\u00e9n\u00e9r\u00e9 avant de demander son ex\u00e9cution. \n\n\nL'application int\u00e8gre les technologies modernes permettant de faire fonctionner tout type de mod\u00e8le LLM (mod\u00e8les LLM d\u00e9ploy\u00e9s au sein du CRIL, les mod\u00e8les d'Anthropic, les mod\u00e8les d'OpenAI, les mod\u00e8les de Google, etc.)\n\nUne fois install\u00e9e, l'application propose quelques exemples de probl\u00e8mes de contraintes avec lesquels l'utilisateur peut s'amuser \u00e0 faire des tests.\n\n\n**NB** : *Il peut arriver que le code g\u00e9n\u00e9r\u00e9 contienne des erreurs, la possibilit\u00e9 est alors donn\u00e9e \u00e0 l'utilisateur via l'interface de les corriger.*\n\n## \ud83d\uded1 Exigences\n\n- Fonctionner sur les plateforme Linux et Mac (test\u00e9 sur bash linux et zsh mac)\n- Avoir un acc\u00e8s \u00e0 une plateforme de LLM. Les mod\u00e8les de LLM du CRIL sont propos\u00e9es par d\u00e9faut. Les personnes qui ont un compte sur le LAN peuvent utiliser leur cl\u00e9 API. Pour plus d'informations, prendre contact avec Alain Kemgue( kemgue@cril.fr )\n- Avoir install\u00e9 une version de python3 (**3.10** ou plus)\n- Avoir install\u00e9 une version de java pour faire fonctionner pycsp3 (java 8 ou plus)\n\n## \ud83d\udce6 Installation\n\nIl est conseill\u00e9 d'installer l'application dans un environnement virtuel python.\n\n### Installation de l'environnement virtuel\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\n\n```\n\n### Installation du paquet csp-llm qui se trouve sur PyPi\n\n```bash\npip install csp_llm\n\n```\n\n### Lancer l'application\n\n```bash\n(venv) ordi@alain% launch-csp-llm     \n\ud83d\ude80 Launching the application...\n\ud83d\udca1 Application dependencies\nmissing ScriptRunContext! This warning can be ignored when running in bare mode.\n\u2705 anthropic 0.55.0\n\u2705 openai 1.92.2\n\u2705 streamlit 1.46.1\n\u2705 streamlit_ace 0.1.1\n\u2705 dotenv\n\u2705 pycsp3 2.5.1\n\u2705 Java 21.0.7 detected (>= 8)\n\ud83c\udf10 Application available at: http://localhost:8501\n\ud83d\udca1 Press Ctrl+C to stop\n--------------------------------------------------\n\n  You can now view your Streamlit app in your browser.\n\n  URL: http://localhost:8501\n\n**************************************************\n```\n\nL'application est alors disponible sur le lien http://localhost:8501\n\nVous pouvez changer de port et d'h\u00f4te en passant des param\u00e8tres au script de lancement.\n\n```bash\n\n(venv) ordi@alain% launch-csp-llm --help              \nusage: launch-csp-llm [-h] [--host HOST] [--port PORT] [-ev]\n\nLaunch the application\n\noptions:\n  -h, --help   show this help message and exit\n  --host HOST\n  --port PORT\n  -ev\n```\n\nExemple de lancement sur le port 3000 et l'h\u00f4te 0.0.0.0( rend l'application accessible sur tout le r\u00e9seau )\n\n```bash\n(venv) ordi@alain% launch-csp-llm --port 3000 --host 0.0.0.0\n\ud83d\ude80 Launching the application...\n\ud83d\udca1 Application dependencies\n\u2705 anthropic 0.55.0\n\u2705 openai 1.92.2\n\u2705 streamlit 1.46.1\n\u2705 streamlit_ace 0.1.1\n\u2705 dotenv\n\u2705 pycsp3 2.5.1\n\u2705 Java 21.0.7 detected (>= 8)\n\ud83c\udf10 Application available at: http://0.0.0.0:3000\n\ud83d\udca1 Press Ctrl+C to stop\n--------------------------------------------------\n\n  You can now view your Streamlit app in your browser.\n\n  URL: http://0.0.0.0:3000\n\n**************************************************\n\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python app using llm via MCP for modeling and solving a csp problem in pycsp3",
    "version": "0.1.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/kemgue/csp_llm/issues",
        "Homepage": "https://github.com/kemgue/csp_llm",
        "Repository": "https://github.com/kemgue/csp_llm"
    },
    "split_keywords": [
        "pycsp3",
        " csp",
        " ai",
        " llm",
        " openai",
        " anthropic"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5d1b8ba0f68a2693a777d62145afdf75eea5f71c87c50a2d0c241d14de969b16",
                "md5": "c9f586b7b60ac1a41b32fa8f30426694",
                "sha256": "c119fc73d1b38c1bc068519fc06dc1bbaca795b565ddde4aa12f058f337d2994"
            },
            "downloads": -1,
            "filename": "csp_llm-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c9f586b7b60ac1a41b32fa8f30426694",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 16624,
            "upload_time": "2025-07-08T15:21:45",
            "upload_time_iso_8601": "2025-07-08T15:21:45.364874Z",
            "url": "https://files.pythonhosted.org/packages/5d/1b/8ba0f68a2693a777d62145afdf75eea5f71c87c50a2d0c241d14de969b16/csp_llm-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-08 15:21:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kemgue",
    "github_project": "csp_llm",
    "github_not_found": true,
    "lcname": "csp-llm"
}
        
Elapsed time: 0.67612s