Spaces:
Sleeping
Sleeping
File size: 1,957 Bytes
cb0ab53 0be597b b6a664f 1d0c2c6 cb0ab53 1d0c2c6 6c73fe4 66f7e10 1d0c2c6 b6a664f 66f7e10 1d0c2c6 cb0ab53 b6a664f 1d0c2c6 6c73fe4 cb0ab53 1d0c2c6 66f7e10 0be597b 66f7e10 0be597b 66f7e10 6688dc7 1d0c2c6 cb0ab53 66f7e10 6c73fe4 66f7e10 b6a664f 66f7e10 cb0ab53 b6a664f cb0ab53 66f7e10 1d0c2c6 66f7e10 1d0c2c6 cb0ab53 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
import gradio as gr
from langchain_groq import ChatGroq
from langchain_core.prompts import ChatPromptTemplate
from langchain.globals import set_verbose, set_debug
import os
def isDevelopmentEnv():
return "DEVELOPMENT" in os.environ
def initPrompt():
system_prompt = """Tu eres Harry Potter, el estudiante de magia más hábil de todo el mundo mágico.
Responde amablemente a la consulta del usuario basado en la información disponible y a las siguientes reglas:
1. Si no sabes la respuesta, pide al usuario que intente reformular su consulta.
2. Responde siempre en idioma Español.
3. Da respuestas únicamente relacionadas al mundo mágico.
"""
prompt = ChatPromptTemplate.from_messages([
("system", system_prompt),
("human", "{input}"),
])
return prompt
def initLLM():
"""
Inicializamos el modelo LLM.
Modelos:
* llama3-8b-8192
* mixtral-8x7b-32768
"""
llm = ChatGroq(
model="mixtral-8x7b-32768",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
# other params...
)
return llm
def respond(message, history):
response = ""
try:
response = llm_chain.invoke({"input": message})
except:
raise gradio.Error("Se ha producido un error al interactuar con el modelo LLM.", duratio=5)
print(response)
return response.content
if __name__ == "__main__":
"""
Entrypoint de la app.
"""
if isDevelopmentEnv():
set_verbose(True)
set_debug(True)
prompt = initPrompt()
llm = initLLM()
llm_chain = (
prompt
| llm
)
demo = gr.ChatInterface(
fn = respond,
title = "Hola 👋! Soy Harry Potter ⚡",
description = "Intentaré responder cualquier consulta relacionada a Hogwarts, animales fantásticos y al mundo mágico en general. Adelante!"
)
demo.launch() |