Spaces:
Sleeping
Sleeping
| import logging | |
| from typing import List | |
| logs = [] | |
| class Document: | |
| def __init__(self, metadata, page_content): | |
| self.metadata = metadata | |
| self.page_content = page_content | |
| def apply_sentence_keys_documents(relevant_docs: List[Document]): | |
| result = [] | |
| '''for i, doc in enumerate(relevant_docs): | |
| doc_id = str(i) | |
| title_passage = doc.page_content.split('\nPassage: ') | |
| title = title_passage[0] | |
| passages = title_passage[1].split('. ') | |
| doc_result = [] | |
| doc_result.append([f"{doc_id}a", title]) | |
| for j, passage in enumerate(passages): | |
| doc_result.append([f"{doc_id}{chr(98 + j)}", passage]) | |
| result.append(doc_result)''' | |
| for relevant_doc_index, relevant_doc in enumerate(relevant_docs): | |
| sentences = [] | |
| for sentence_index, sentence in enumerate(relevant_doc.page_content.split(".")): | |
| sentences.append([str(relevant_doc_index)+chr(97 + sentence_index), sentence]) | |
| result.append(sentences) | |
| return result | |
| def apply_sentence_keys_response(input_string): | |
| sentences = input_string.split('. ') | |
| result = [[chr(97 + i), sentence] for i, sentence in enumerate(sentences)] | |
| return result | |
| def initialize_logging(): | |
| logger = logging.getLogger() | |
| logger.setLevel(logging.INFO) | |
| # Custom log handler to capture logs and add them to the logs list | |
| class LogHandler(logging.Handler): | |
| def emit(self, record): | |
| log_entry = self.format(record) | |
| logs.append(log_entry) | |
| # Add custom log handler to the logger | |
| log_handler = LogHandler() | |
| log_handler.setFormatter(logging.Formatter('%(asctime)s - %(message)s')) | |
| logger.addHandler(log_handler) | |
| def get_logs(): | |
| """Retrieve logs for display.""" | |
| return "\n".join(logs[-100:]) # Only show the last 50 logs for example |