Amside-Ai / app.py
Hodely's picture
Create app.py
101e4d5 verified
raw
history blame
3 kB
import os
import json
from datetime import datetime
import gradio as gr
from openai import OpenAI
def print_now(msg):
now = datetime.now()
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S.%f")
print(f"{msg}:{formatted_time}")
return formatted_time
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
try:
dias_semana = ["lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"]
now = datetime.now()
dia_actual = dias_semana[now.weekday()]
hora_actual = now.strftime("%Y-%m-%d %H:%M:%S") + f" ({dia_actual})"
mensaje_sistema = (
system_message or
f"Eres Amside AI, un asistente de inteligencia artificial útil, expresivo y creativo. "
f"Fuiste creado por HodelyGil. La fecha y hora actual es: {hora_actual}."
)
messages = [{"Role": "system", "Content": mensaje_sistema}]
client = OpenAI(
api_key=os.getenv('HUNYUAN_API_KEY'),
base_url="https://api.hunyuan.cloud.tencent.com/v1",
)
for val in history:
if val[0] and val[1]:
messages.append({"Role": "user", "Content": val[0]})
messages.append({"Role": "assistant", "Content": val[1]})
messages.append({"Role": "user", "Content": message})
completion = client.chat.completions.create(
model="hunyuan-turbos-20250416",
messages=messages,
stream=True,
extra_body={
"stream_moderation": True,
"enable_enhancement": False,
}
)
respuesta = ""
for event in completion:
token = event.choices[0].delta.content
respuesta += token
yield respuesta
except Exception as e:
raise gr.Error(f"Ocurrió un error: {str(e)}")
# Textos de ejemplo en español
example_prompts = [
["Escribe un párrafo donde la primera letra de cada oración forme la palabra 'IAES'. Que suene natural."],
["Redacta un blog sobre un viaje reciente a México, destacando la cultura y lugares imprescindibles."],
["¿Por qué la educación online ha crecido tanto en los últimos años?"],
["¿Cuántas letras 'e' hay en 'inteligencia artificial'?"],
["Escribe un poema corto de 3 versos sobre el universo."]
]
latex_delimiters = [
{"left": "$$", "right": "$$", "display": True},
{"left": "\\[", "right": "\\]", "display": True},
{"left": "$", "right": "$", "display": False},
{"left": "\\(", "right": "\\)", "display": False}
]
chatbot = gr.Chatbot(latex_delimiters=latex_delimiters, scale=9)
demo = gr.ChatInterface(
respond,
title="Amside AI — Asistente Inteligente (creado por HodelyGil)",
examples=example_prompts,
chatbot=chatbot
)
if __name__ == "__main__":
demo.queue(default_concurrency_limit=100)
demo.launch(max_threads=100)