Test1 / components /ChatInterface.py
csteve66's picture
Initial commit
50e06eb
Raw
History Blame Contribute Delete
957 Bytes
import gradio as gr
from rag import chat_with_sources
from notebook_store import append_chat_event, notebook_dir
def response(message, history, notebook_id: str):
"""
Gradio ChatInterface callback that routes the user question through
the RAG pipeline backed by the persisted Chroma vector store.
"""
notebook_id = (notebook_id or "").strip()
persist_directory = str(notebook_dir(notebook_id) / "chroma_db")
append_chat_event(notebook_id, role="user", content=message or "")
answer = chat_with_sources(message, persist_directory=persist_directory, history=history)
append_chat_event(notebook_id, role="assistant", content=answer or "")
return answer
def ChatInterface(notebook_id_state: gr.State):
with gr.Blocks() as demo:
chatbot = gr.Chatbot(placeholder="Ask Me Anything about your ingested sources...")
gr.ChatInterface(fn=response, chatbot=chatbot, additional_inputs=[notebook_id_state])