Spaces:
Sleeping
Sleeping
| 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 |