Spaces:
Runtime error
Runtime error
import gradio as gr | |
import Stemmer # from PyStemmer | |
import bm25s | |
import numpy as np | |
import time | |
import os | |
examples = ["Can officers always order a passenger out of a car?","Find me briefs about credential searches", "Can police search an impounded car without a warrant?", "State is arguing State v. Carty is not good law"] | |
def show_user_query(user_message, history): | |
return "", history + [[user_message, None]] | |
def retrieve(history): | |
query = history[-1][0] | |
print ("query", query) | |
query_tokens = bm25s.tokenize(query, stemmer=stemmer) | |
results, scores = retriever.retrieve(query_tokens, k=10) | |
query_response = " ".join([str(i) for i in results]) | |
#query_response = retrieve(history[-1][0]) | |
#print (query_response) | |
history[-1][1] = "" | |
for character in query_response: | |
history[-1][1] += character | |
time.sleep(0.0001) | |
yield history | |
with gr.Blocks() as demo: | |
#gr.LoginButton() | |
chatbot = gr.Chatbot() | |
query_textbox = gr.Textbox() | |
examples = gr.Examples(examples, query_textbox) | |
next_button = gr.ClearButton(chatbot, value="Clear", visible=True) | |
query_textbox.submit(show_user_query, [query_textbox, chatbot], [query_textbox, chatbot], queue=False).then(retrieve, chatbot, chatbot) | |
def load_bm25(): | |
stemmer = Stemmer.Stemmer("english") | |
retriever = bm25s.BM25.load("NJ_index_LLM_chunking", mmap=False) | |
return retriever, stemmer | |
retriever, stemmer = load_bm25() | |
#demo.launch(share=True, auth=(os.environ.get("username"), os.environ.get("password"))) | |
#demo.launch(auth=("admin", "pass1234")) | |
demo.launch() |