This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Fitz_Studio/prueba_loop_agente.py
T
egutierrez 613cd90662 Add OpenAI and PostgreSQL credential management
- Implemented OpenAICredencial class for managing OpenAI API keys.
- Created OpenAICredencialModel and OpenAICredencialMapper for SQLAlchemy integration.
- Developed OpenAICredencialRepo for CRUD operations on OpenAI credentials.
- Established OpenAICliente class for interacting with OpenAI API.
- Introduced PostgresCredencial class for managing PostgreSQL connection details.
- Created PostgresCredencialModel and PostgresCredencialMapper for SQLAlchemy integration.
- Developed PostgresCredencialRepo for CRUD operations on PostgreSQL credentials.
- Added base connection class and PostgreSQL connection implementation.
- Included environment variable loading for sensitive data management.
2025-05-05 23:54:17 +02:00

54 lines
1.8 KiB
Python

import asyncio
from src.ApiKeys.openai_apikey import OpenAICredencial
from src.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo
from src.ConexionSql.Postgres_conexion import PostgresConexion
from entrypoint.init_db import db_credencial
from src.ConexionApis.OpenAi_conexion import OpenAICliente
from llms.Modelos.Openai_model import ModeloOpenAI
from llms.Agente import AgenteAI
async def main():
# 🔌 Conexión
conexion_admin = PostgresConexion(db_credencial)
repo = OpenAICredencialRepo(conexion_admin)
credencial_openai = repo.get_by_id(1)
print(f"✅ Credencial: {credencial_openai.titulo}")
# 🤖 Modelo
cliente = OpenAICliente(credencial_openai)
modelo = ModeloOpenAI(
cliente=cliente,
model="gpt-4o",
temperature=1,
top_p=1.0
)
# 🧠 Agente
agente_con_herramientas = AgenteAI(
modelo=modelo,
nombre="Agente con herramientas",
descripcion="Un agente que puede usar herramientas",
system_prompt="Eres un asistente que puede usar herramientas para responder preguntas.",
rol="asistente",
objetivos=["Asistir al usuario en tareas complejas", "usar herramientas para obtener información adicional"]
)
print("\n🤖 Agente listo. Escribe 'salir' para terminar.")
# 🔁 Loop de interacción
while True:
entrada = input("🧑 Tú: ")
if entrada.strip().lower() in {"salir", "exit", "quit"}:
print("👋 Saliendo del agente...")
break
respuesta = await agente_con_herramientas.interactuar(prompt=entrada)
print(f"🤖 Agente: {respuesta}\n")
if __name__ == "__main__":
import os
if os.name == "nt":
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
asyncio.run(main())