mirror of
https://github.com/Ladebeze66/llm_lab_perso.git
synced 2025-12-13 09:06:50 +01:00
76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Interface en ligne de commande pour interagir avec les agents LLM
|
|
Usage: python chat.py [nom_agent]
|
|
"""
|
|
import sys
|
|
import os
|
|
import argparse
|
|
from utils.agent_manager import AgentManager
|
|
|
|
def main():
|
|
# Créer le parser d'arguments
|
|
parser = argparse.ArgumentParser(description="Interface en ligne de commande pour interagir avec les agents LLM")
|
|
parser.add_argument("agent", nargs="?", default="test", help="Nom de l'agent à utiliser (défaut: test)")
|
|
parser.add_argument("--list", "-l", action="store_true", help="Lister les agents disponibles")
|
|
parser.add_argument("--info", "-i", action="store_true", help="Afficher les informations détaillées des agents")
|
|
|
|
# Parser les arguments
|
|
args = parser.parse_args()
|
|
|
|
# Vérifier si le dossier logs existe
|
|
os.makedirs("logs", exist_ok=True)
|
|
|
|
# Lister les agents si demandé
|
|
if args.list:
|
|
print("\nAgents disponibles:")
|
|
for agent in AgentManager.list_agents():
|
|
print(f"- {agent}")
|
|
return
|
|
|
|
# Afficher les infos détaillées si demandé
|
|
if args.info:
|
|
print("\nInformations sur les agents:")
|
|
for agent_name, info in AgentManager.list_agents().items():
|
|
print(f"\n=== {agent_name} ===")
|
|
print(f"Modèle: {info['model']}")
|
|
print(f"Description: {info['description']}")
|
|
return
|
|
|
|
# Vérifier si l'agent existe
|
|
agent_name = args.agent
|
|
try:
|
|
# Créer l'agent
|
|
agent = AgentManager.create(agent_name)
|
|
print(f"\nAgent '{agent_name}' initialisé (modèle: {agent.model})")
|
|
print("Entrez votre message (ou 'exit' pour quitter)")
|
|
|
|
# Boucle de conversation
|
|
while True:
|
|
print("\n> ", end="")
|
|
user_input = input()
|
|
|
|
if user_input.lower() in ("exit", "quit", "q", "bye"):
|
|
print("Au revoir!")
|
|
break
|
|
|
|
if not user_input.strip():
|
|
continue
|
|
|
|
try:
|
|
# Générer la réponse
|
|
print("\nGénération en cours...\n")
|
|
response = agent.generate(user_input)
|
|
|
|
# Afficher la réponse
|
|
print(f"\n{response}")
|
|
|
|
except Exception as e:
|
|
print(f"Erreur: {str(e)}")
|
|
|
|
except ValueError as e:
|
|
print(f"Erreur: {str(e)}")
|
|
print("Utilisez --list pour voir les agents disponibles")
|
|
|
|
if __name__ == "__main__":
|
|
main() |