Primer commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import asyncio
|
||||
from backend.ApiKeys.openai_apikey import OpenAICredencial
|
||||
from backend.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo
|
||||
from backend.ConexionSql.Postgres_conexion import PostgresConexion
|
||||
from entrypoint.init_db import db_credencial
|
||||
from backend.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())
|
||||
Reference in New Issue
Block a user