--- title: TalkingAIResearcher emoji: 🏆🏆🏆 colorFrom: red colorTo: purple sdk: streamlit sdk_version: 1.41.1 app_file: app.py pinned: true license: mit short_description: TalkingAIResearcher --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference #OPENAI_API_KEY=your_key #ANTHROPIC_API_KEY=your_key #HF_KEY=your_key Features: 🎯 Core Configuration & Setup Configures Streamlit page with title "🚲BikeAI🏆 Claude/GPT Research" 🔑 API Setup & Clients Initializes OpenAI, Anthropic, and HuggingFace API clients with environment variables 📝 Session State Management Manages conversation history, transcripts, file editing states, and model selections 🧠 get_high_info_terms() Extracts meaningful keywords from text while filtering common stop words 🏷️ clean_text_for_filename() Sanitizes text to create valid filenames by removing special characters 📄 generate_filename() Creates intelligent filenames based on content and timestamps 💾 create_file() Saves prompt and response content to files with smart naming 🔗 get_download_link() Generates base64-encoded download links for files 🎤 clean_for_speech() Prepares text for speech synthesis by removing special characters 🗣️ speech_synthesis_html() Creates HTML for browser-based speech synthesis 🔊 edge_tts_generate_audio() Generates MP3 audio files using Edge TTS 🎵 speak_with_edge_tts() Wrapper for Edge TTS audio generation 🎧 play_and_download_audio() Creates audio player interface with download option 📸 process_image() Analyzes images using GPT-4V 🎙️ process_audio() Transcribes audio using Whisper 🎥 process_video() Extracts frames from video files 🤖 process_video_with_gpt() Analyzes video frames using GPT-4V 📚 parse_arxiv_refs() Parses research paper references into structured format 🔍 perform_ai_lookup() Searches and processes arXiv papers with audio summaries 📁 create_zip_of_files() Bundles multiple files into a zip with smart naming 📂 load_files_for_sidebar() Organizes files by timestamp for sidebar display 🏷️ extract_keywords_from_md() Pulls keywords from markdown files for organization 📊 display_file_manager_sidebar() Creates interactive sidebar for file management 🎬 main() Orchestrates overall application flow and UI components