Spaces:
Running
Running
# Podcast_tab.py | |
# Description: Gradio UI for ingesting podcasts into the database | |
# | |
# Imports | |
# | |
# | |
# External Imports | |
import json | |
import logging | |
import tempfile | |
from typing import List, Tuple, IO, Union | |
# | |
# Local Imports | |
from App_Function_Libraries.DB.DB_Manager import db, search_db, DatabaseError, get_media_content | |
#from App_Function_Libraries.RAG.RAG_Libary_2 import generate_answer | |
# | |
######################################################################################################################## | |
# | |
# Functions: | |
def save_chat_history(history: List[Tuple[str, str]]) -> str: | |
# Save chat history to a file | |
with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix='.json') as temp_file: | |
json.dump(history, temp_file) | |
return temp_file.name | |
def load_chat_history(file: IO[str]) -> List[Tuple[str, str]]: | |
# Load chat history from a file | |
return json.load(file) | |
def search_database(query: str) -> List[Tuple[int, str]]: | |
# Implement database search functionality | |
results = search_db(query, ["title", "content"], "", page=1, results_per_page=10) | |
return [(result['id'], result['title']) for result in results] | |
def get_existing_files() -> List[Tuple[int, str]]: | |
# Fetch list of existing files from the database | |
with db.get_connection() as conn: | |
cursor = conn.cursor() | |
cursor.execute("SELECT id, title FROM Media ORDER BY title") | |
return cursor.fetchall() | |
# | |
# End of RAG_QA_Chat.py | |
######################################################################################################################## | |