add healthcheck to remaining apps

This commit is contained in:
2025-11-25 07:05:14 +00:00
parent eccd53673c
commit 6d9686e373
87 changed files with 850 additions and 632 deletions

View File

@@ -1,9 +1,7 @@
from hvac import Client
from pydantic import Field
from dotenv import load_dotenv
from pydantic_settings import BaseSettings
client = Client(url="https://vault.ia-innovacion.work")
if not client.is_authenticated():
@@ -14,6 +12,7 @@ secret_map = client.secrets.kv.v2.read_secret_version(
)["data"]["data"]
class Settings(BaseSettings):
"""
Esta clase obtiene sus valores de variables de ambiente.
Si no estan en el ambiente, los jala de nuestra Vault.
@@ -39,11 +38,10 @@ class Settings(BaseSettings):
async def init_mongo_db(self):
"""Este helper inicia la conexion enter el MongoDB ORM y nuestra instancia"""
from banortegpt.database.mongo_memory.models import Conversation
from beanie import init_beanie
from motor.motor_asyncio import AsyncIOMotorClient
from banortegpt.database.mongo_memory.models import Conversation
await init_beanie(
database=AsyncIOMotorClient(self.mongodb_url).voz_del_cliente,
document_models=[Conversation],

View File

@@ -35,16 +35,24 @@ class Message(BaseModel):
@app.post("/api/v1/message")
async def send(message: Message):
def b64_sse(func):
"""Este helper transforma un generador de strings a un generador del protocolo SSE"""
async def wrapper(*args, **kwargs):
async for chunk in func(*args, **kwargs):
content = chunk.model_dump_json()
data = f"data: {content}\n\n"
yield data
return wrapper
sse_stream = b64_sse(services.stream)
generator = sse_stream(agent, message.prompt, message.conversation_id, message.with_deep_research)
generator = sse_stream(
agent, message.prompt, message.conversation_id, message.with_deep_research
)
return StreamingResponse(generator, media_type="text/event-stream")
@app.get("/")
async def health():
return {"app": "Voz del Cliente", "status": "OK"}