Legal_RAG / model /chat.py
mojtabaa4's picture
add application files
bc68b0b
from model.propmt.prompt_handler import *
from model.llm.llm import *
from model.rag.rag_handler import *
from config import *
class Chat:
def __init__(self, chat_id, rag_handler) -> None:
self.chat_id = chat_id
self.message_history = []
self.response_history = []
self.prompt_handler = Prompt()
self.llm = LLM_API_Call("gilas")
self.rag_handler = rag_handler
def response(self, message: str) -> str:
self.message_history.append(message)
info_list = self.rag_handler.get_information(message)
prompt = self.prompt_handler.get_prompt(message, info_list)
llm_response = self.llm.get_LLM_response(prompt=prompt)
final_response = f"**Response**:\n{llm_response}\n\n"
if info_list:
final_response += "The following legal cases and information were retrieved and considered:\n"
for i, info in enumerate(info_list):
case_text = info['text'].replace("[end]", "")
final_response += f"\n**Case {i+1}:** {info['title']}\n{case_text}\n"
self.response_history.append(final_response)
return final_response