ejem_pizza / app.py
k9lab's picture
Create app.py
08a6f1d verified
Raw
History Blame Contribute Delete
2.15 kB
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()