Spaces:
Running
Running
File size: 1,888 Bytes
e1cda2e ef67833 e1cda2e 77451de f2cbb22 e1cda2e 429af6c e1cda2e e19d910 d01d5bf 4651a01 23d9a47 e19d910 23d9a47 e1cda2e e19d910 f2cbb22 429af6c f2cbb22 e19d910 63b3015 77451de 912f3bc 3ce8148 e19d910 77451de bea3e61 3a0580c e19d910 |
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 |
import logging
import gradio as gr
import configs.config as config
import services.scraper
import stores.chroma
from llm_setup.llm_setup import LLMService
from caching.lfu import LFUCache
import time
logger = logging.getLogger() # Create a logger object
logger.setLevel(logging.INFO) # Set the logging level to INFO
config.set_envs() # Set environment variables using the config module
store = stores.chroma.ChromaDB(config.EMBEDDINGS)
service = services.scraper.Service(store)
# Scrape data and get the store vector retriever
service.scrape_and_get_store_vector_retriever(config.URLS)
# Initialize the LLMService with logger, prompt, and store vector retriever
llm_svc = LLMService(logger = logger, system_prompt= config.SYSTEM_PROMPT, web_retriever = store.get_chroma_instance().as_retriever(),llm_model_name = config.LLM_MODEL_NAME)
def respond(user_input,session_hash):
if user_input == "clear_chat_history_aisdb_override":
llm_svc.store={}
return "Memory Cache cleared"
response = llm_svc.conversational_rag_chain().invoke(
{"input": user_input},
config={"configurable": {"session_id": session_hash}},
)["answer"]
return response
def echo(text, chat_history, request: gr.Request):
if request:
session_hash = request.session_hash
resp = respond(text, session_hash)
for i in range(len(resp)):
time.sleep(0.02)
yield resp[: i + 1]
else:
return "No request object received."
def on_reset_button_click():
llm_svc.store=LFUCache(capacity=50)
if __name__ == '__main__':
logging.info("Starting AIVIz Bot")
with gr.Blocks() as demo:
gr.ChatInterface(fn=echo, type="messages")
reset_button = gr.Button("Reset Chat Memory Cache")
reset_button.click(on_reset_button_click)
# Launch the interface
demo.launch() |