Public Access
maj auto 6
This commit is contained in:
1 parent
e6c96df0d6
commit
6dd64283ea
1 file changed
+67
-1
@@ -4872,4 +4872,70 @@ modules/ai_engine.py
|
||||
|
||||
modules/chat_handler.py
|
||||
|
||||
Tu es génial
|
||||
Tu es génial
|
||||
Tu es génial
|
||||
|
||||
Bonjour Xavier ! Voici les réponses détaillées à vos questions, les explications pour le registre Gitea, ainsi que les commandes Git pour valider cette étape proprement.
|
||||
|
||||
1. Comment trouver le lien Gitea Registry et faire un package automatique
|
||||
Trouver le lien du registre Gitea : Sur votre instance Gitea ([https://gitea.aethas38.duckdns.org](https://gitea.aethas38.duckdns.org)), chaque dépôt dispose d'un espace Packages (ou Registre de conteneurs). L'URL de base pour pousser vos images s'appuie sur le domaine de votre Gitea, par exemple : gitea.aethas38.duckdns.org/xavier/aethas-free:latest.
|
||||
|
||||
Package automatique (CI/CD) : Pour automatiser la création et la publication de l'image Docker à chaque git push, vous pouvez créer un fichier .gitea/workflows/docker-build.yml à la racine de votre projet. Ce fichier déclenchera un runner Gitea pour compiler l'image et l'envoyer directement dans le registre de votre Gitea sans intervention humaine.
|
||||
|
||||
2. Commandes pour le Git d'étape
|
||||
Pour enregistrer proprement vos modifications actuelles et mettre à jour votre dépôt distant, exécutez ces commandes dans votre terminal de développement :
|
||||
|
||||
Bash
|
||||
git add .
|
||||
git commit -m "chore: Étape de validation, nettoyage du compose et préparation du module financier"
|
||||
git push origin main
|
||||
3. Suite du développement : Le Module Financier (Priorité OpenRouter)
|
||||
Pour éviter les mauvaises surprises financières et suivre précisément les coûts, nous allons structurer le module financier en respectant la règle 1 fonction = 1 module. Ce module s'occupe de l'estimation des tokens, du calcul du taux de marque (marge de 15% via Cout / 0.85), et de l'archivage comptable.
|
||||
|
||||
📄 Code du module : modules/billing_manager.py
|
||||
(Créez ce fichier à la racine de votre dossier modules/)
|
||||
|
||||
Python
|
||||
import os
|
||||
import tiktoken
|
||||
from modules.logger import log_event
|
||||
|
||||
# Solde initial et configuration de la cagnotte (35$ / ~38.62€)
|
||||
CAGNOTTE_INITIALE_USD = 35.00
|
||||
|
||||
def compter_tokens_local(prompt):
|
||||
"""Compte localement le nombre de tokens de la requête pour estimer le coût."""
|
||||
try:
|
||||
enc = tiktoken.get_encoding("cl100k_base")
|
||||
return len(enc.encode(prompt))
|
||||
except Exception as e:
|
||||
log_event("ERROR", "BILLING", fErreur lors du comptage des tokens : {e}")
|
||||
return 0
|
||||
|
||||
def calculer_prix_facture_ht(cout_api_ht):
|
||||
"""
|
||||
Applique la formule stricte pour dégager 15% de marge brute :
|
||||
Prix_Facture_HT = Cout_API_OpenRouter_HT / 0.85
|
||||
"""
|
||||
if cout_api_ht <= 0:
|
||||
return 0.0
|
||||
return round(cout_api_ht / 0.85, 4)
|
||||
|
||||
def verifier_budget_utilisateur(prompt, modele_id, utilisateur_nom):
|
||||
"""
|
||||
Vérifie si l'utilisateur est VIP (Zéro Marge : Xavier, Céline, Anaëlle, Renan, Audric)
|
||||
ou calcule le coût estimé pour les utilisateurs externes.
|
||||
"""
|
||||
utilisateurs_vip = ["xavier", "céline", "anaëlle", "renan", "audric"]
|
||||
|
||||
tokens = compter_tokens_local(prompt)
|
||||
# Estimation basique du coût API brut (Exemple de tarif moyen par token)
|
||||
cout_brut_estime = tokens * 0.000002
|
||||
|
||||
if utilisateur_nom.lower() in utilisateurs_vip:
|
||||
log_event("INFO", "BILLING", f"Utilisateur VIP ({utilisateur_nom}) : Pas de majoration de marge.")
|
||||
return True, 0.0
|
||||
|
||||
prix_ht = calculer_prix_facture_ht(cout_brut_estime)
|
||||
return True, prix_ht
|
||||
Souhaitez-vous que nous intégrions ce gestionnaire financier directement dans le chat_handler.py pour bloquer les requêtes si le solde est insuffisant ?
|
||||
Reference in new issue
Block a user