Skip to main content

Django Lucy Assist

Assistant IA intelligent base sur Claude (Anthropic), integrable dans n'importe quelle application Django.

Installation

pip install django-lucy-assist

Configuration

1. Ajouter l'application a INSTALLED_APPS

INSTALLED_APPS = [
    ...
    'lucy_assist',
]

2. Configurer le jeton projet Lucy

Un seul secret dans le .env : le jeton d'appairage du projet, généré par Lucy (fiche projet > Intégrations). C'est le même que celui du module de retour.

# ======================================== LUCY ASSIST ========================================
LUCY_PROJET_TOKEN=jeton-d-appairage-du-projet

Puis dans votre settings.py :

#############################################################################################################
# Lucy Assist
LUCY_PROJET_TOKEN = env('LUCY_PROJET_TOKEN', default=None)
LUCY_ASSIST = {'PROJECT_APPS_PREFIX': 'apps.'}

Ce jeton permet à Lucy Assist, de serveur à serveur uniquement :

  • de récupérer le jeton GitLab du projet (stocké chiffré dans Lucy) et l'URL de l'instance GitLab ; le dépôt est déduit du jeton (un jeton de projet GitLab n'ouvre qu'un dépôt) ;
  • de connaître le chef de projet à prévenir (feedbacks, bugs détectés) ;
  • de demander la facture d'achat de tokens, envoyée par e-mail au client.

Plus de GITLAB_URL, GITLAB_TOKEN, GITLAB_PROJECT_ID, SIREN_CLIENT ni ANTHROPIC_LUCY_API_KEY dans le .env.

3. Ajouter les URLs

# urls.py
from django.urls import path, include

urlpatterns = [
    ...
    path('lucy-assist/', include('lucy_assist.urls')),
]

4. Ajouter le context processor

# settings.py
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'lucy_assist.context_processors.lucy_assist_context',
            ],
        },
    },
]

5. Inclure le template dans votre base.html

<!-- templates/base.html -->
{% include 'lucy_assist/chatbot_sidebar.html' %}

6. Executer les migrations

python manage.py migrate lucy_assist

7. Configurer l'IA dans l'admin

Dans l'admin Django, Configuration Lucy Assist > Intelligence artificielle :

  • Clé API Claude (sk-ant-…) : stockée chiffrée en base (Fernet, clé dérivée du SECRET_KEY). Si le SECRET_KEY change, la clé devient illisible : il suffit de la ressaisir.
  • Modèle Claude : claude-sonnet-5-5 par défaut.

Le prix de vente se règle dans la même page (40 € HT par million de tokens par défaut), ainsi que la couleur de marque (marque blanche).

Utilisation

Une fois installe et configure, Lucy Assist apparaitra automatiquement sur toutes les pages de votre application avec un bouton flottant en bas a droite.

Fonctionnalites

  • Chat IA contextuel : Lucy comprend le contexte de la page actuelle
  • Actions CRUD : Lucy peut creer, modifier, rechercher et supprimer des objets
  • Analyse de bugs : Connexion a GitLab pour analyser les problemes signales
  • Historique des conversations : Sauvegarde automatique des conversations
  • Gestion des tokens : Suivi de la consommation des tokens Claude

Configuration avancee

Modele de base personnalise

Si vous utilisez un modele de base personnalise avec des champs d'audit (created_date, updated_date, etc.), vous pouvez le configurer :

LUCY_ASSIST = {
    'BASE_MODEL': 'mon_app.models.MonModeleBase',
}

Modele Claude

Le modèle se règle dans l'admin (Configuration Lucy Assist), claude-sonnet-5-5 par défaut.

Personnalisation des questions frequentes

LUCY_ASSIST = {
    'QUESTIONS_FREQUENTES_DEFAULT': [
        "Comment creer un nouveau membre ?",
        "Comment effectuer un paiement ?",
        "Comment exporter des donnees ?",
    ],
}

API

Lucy Assist expose plusieurs endpoints API :

  • GET /lucy-assist/api/conversations - Liste des conversations
  • POST /lucy-assist/api/conversations - Creer une conversation
  • GET /lucy-assist/api/conversations/<id> - Detail d'une conversation
  • POST /lucy-assist/api/conversations/<id>/messages - Ajouter un message
  • POST /lucy-assist/api/conversations/<id>/chat - Generer une reponse (streaming)
  • GET /lucy-assist/api/tokens/status - Statut des tokens

Licence

Revolucy

Lancer le serveur de test

python test_project/manage.py runserver

Ensuite, accède à :

  • Page de test : http://localhost:8000/
  • Module retour client : http://localhost:8000/retour/
  • Admin Django : http://localhost:8000/admin/
  • Lancement des tests sur les questions : python manage.py test_lucy

Deploiement Pypi

  1. docker-compose exec django pip install build twine
  2. docker-compose exec django python -m build
  3. docker-compose exec django python -m twine upload dist/*
  4. Indiquer le token present dans 1Password

Metadata

Release files for django-lucy-assist 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-lucy-assist 1.4.0
File Size Uploaded Provenance
django_lucy_assist-1.4.0.tar.gz 236.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for django-lucy-assist 1.4.0
File Interpreter ABI Platform
django_lucy_assist-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 498.9 kB

Release files / django_lucy_assist-1.4.0.tar.gz

Download URL django_lucy_assist-1.4.0.tar.gz
Size 236.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e2e1ea6bc14b9e04aa90ab1d3673c4b3ded6cefc14979fae232d0e686a985a7b
BLAKE2b-256 checksum
How to use checksums
aad600f1c6bb65c720f4bddc1e2ef185a04bcd40d49e6686074627a3759b6d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / django_lucy_assist-1.4.0-py3-none-any.whl

Download URL django_lucy_assist-1.4.0-py3-none-any.whl
Size 262.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72920de8d57f6dee6d6619262b36844853648646a5f26f05490ee1689b7cc9ed
BLAKE2b-256 checksum
How to use checksums
fb6c4adbceda5fc9c878f3633e4e0ea130da6c7c4bfeab7060a9bc0a32a37497
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for django-lucy-assist 1.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page