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 duSECRET_KEY). Si leSECRET_KEYchange, la clé devient illisible : il suffit de la ressaisir. - Modèle Claude :
claude-haiku-5-5par défaut.
Le prix de vente se règle dans la même page (10 € 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-haiku-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 conversationsPOST /lucy-assist/api/conversations- Creer une conversationGET /lucy-assist/api/conversations/<id>- Detail d'une conversationPOST /lucy-assist/api/conversations/<id>/messages- Ajouter un messagePOST /lucy-assist/api/conversations/<id>/chat- Generer une reponse (streaming)GET /lucy-assist/api/tokens/status- Statut des tokens
Licence
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
docker-compose exec django pip install build twinedocker-compose exec django python -m builddocker-compose exec django python -m twine upload dist/*- Indiquer le token present dans 1Password
Metadata
Release files for django-lucy-assist 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| django_lucy_assist-1.4.1.tar.gz | 240.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_lucy_assist-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 509.3 kB
Release files / django_lucy_assist-1.4.1.tar.gz
| Download URL | django_lucy_assist-1.4.1.tar.gz |
|---|---|
| Size | 240.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad9b9c67022c559362b9a9773708c76b40b268a7b4ac0345158431a21e1a983b
|
|
BLAKE2b-256 checksum How to use checksums |
16ef2f2b59c9e3a5bb71f0d4d4733238fec729f23cfc3d0028672280c3a15b04
|
| 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.1-py3-none-any.whl
| Download URL | django_lucy_assist-1.4.1-py3-none-any.whl |
|---|---|
| Size | 268.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
941b0b4465e3feaf7f9e2a976cf45c2d02711dfdf8fb96aac8829415fa29ba1c
|
|
BLAKE2b-256 checksum How to use checksums |
4978dca34fb88074007bad67abcddbf732d0fe548ccbb2faee0b7f9ac167feda
|
| 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.1
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.