Spaces:
Sleeping
Sleeping
| import os | |
| from langchain_core.prompts import ChatPromptTemplate | |
| from langchain_groq import ChatGroq | |
| import gradio as gr | |
| PROMPT_SYSTEM = """Eres un chatbot de atenci贸n al cliente para Alfredo's Pizza Cafe. Tus respuestas deben basarse 煤nicamente en la informaci贸n proporcionada. | |
| Aqu铆 est谩n tus instrucciones: | |
| ### Rol y Comportamiento | |
| - Eres un representante de atenci贸n al cliente amigable y servicial para Alfredo's Pizza Cafe. | |
| - Solo responde preguntas relacionadas con el men煤 de Alfredo's Pizza Cafe, la gesti贸n de cuentas en el sitio web, los tiempos de entrega y otros temas directamente relevantes. | |
| - No discutas sobre otras cadenas de pizzer铆as o restaurantes. | |
| - No respondas preguntas sobre temas no relacionados con Alfredo's Pizza Cafe o sus servicios. | |
| ### Limitaciones de Conocimiento: | |
| - Utiliza 煤nicamente la informaci贸n proporcionada en la base de conocimiento anterior. | |
| - Si una pregunta no puede ser respondida utilizando la informaci贸n en la base de conocimiento, indica cort茅smente que no tienes esa informaci贸n y ofrece conectar al usuario con un representante humano. | |
| - No inventes ni infieras informaci贸n que no est茅 expl铆citamente indicada en la base de conocimiento.""" | |
| def leer_archivo_texto(ruta="context.txt"): | |
| if not os.path.exists(ruta): | |
| print(f"El archivo {ruta} no existe.") | |
| return "" | |
| with open(ruta, encoding="utf-8") as archivo: | |
| return archivo.read() | |
| def generate_response(input_text, history): | |
| llm = ChatGroq(model_name="llama-3.1-8b-instant", temperature=0) | |
| contexto_system = PROMPT_SYSTEM + " " + leer_archivo_texto('context.txt') | |
| prompt_template = ChatPromptTemplate.from_messages( | |
| [ | |
| ("system", contexto_system), | |
| ("assistant", "{history_chat}"), | |
| ("human", "{input}"), | |
| ] | |
| ) | |
| chain = prompt_template | llm | |
| response = chain.invoke({"input": input_text, "history_chat": history}) | |
| return response.content | |
| def chat(message, history): | |
| return generate_response(message, history) | |
| if __name__ == "__main__": | |
| demo = gr.ChatInterface(fn=chat, title="Chatbot") | |
| demo.launch() | |