import streamlit as st import os import glob import re import base64 import pytz from urllib.parse import quote from gradio_client import Client from datetime import datetime # ๐ŸŒณ๐Ÿค– AIKnowledgeTreeBuilder - Because every app needs a good costume! Site_Name = 'AI Knowledge Tree Builder ๐Ÿ“ˆ๐ŸŒฟ Grow Smarter with Every Click' title = "๐ŸŒณโœจAI Knowledge Tree Builder๐Ÿ› ๏ธ๐Ÿค“" helpURL = 'https://huggingface.co/spaces/awacke1/AIKnowledgeTreeBuilder/' bugURL = 'https://huggingface.co/spaces/awacke1/AIKnowledgeTreeBuilder/' icons = '๐ŸŒณโœจ๐Ÿ› ๏ธ๐Ÿค“' st.set_page_config( page_title=title, page_icon=icons, layout="wide", initial_sidebar_state="auto", menu_items={ 'Get Help': helpURL, 'Report a bug': bugURL, 'About': title } ) # Initialize session state variables if 'selected_file' not in st.session_state: st.session_state.selected_file = None if 'view_mode' not in st.session_state: st.session_state.view_mode = 'view' if 'files' not in st.session_state: st.session_state.files = [] DarioAmodeiKnowledge=""" ๐Ÿข Major AI Companies & Competition ๐Ÿ”ต OpenAI - Key competitor in AI development ๐ŸŸฆ Google - Major player in AI research and development โšก xAI - Emerging competitor in AI space ๐Ÿ‘ค Meta - Significant presence in AI development ๐ŸŽฏ Anthropic's Approach & Philosophy ๐Ÿ”„ "Race to the Top" theory of change ๐ŸŒŸ Focus on setting positive industry examples ๐Ÿค Goal to encourage other companies to "be the good guy" ๐Ÿ“ˆ Strategy of continuous innovation in responsible AI ๐Ÿ” Mechanistic Interpretability ๐Ÿ‘จโ€๐Ÿ”ฌ Co-founded by Chris Olah at Anthropic ๐Ÿงฉ Focuses on understanding AI model internals ๐Ÿ“Š Initially had no commercial application ๐ŸŒ Built and shared results publicly ๐Ÿ”„ Industry Impact ๐Ÿ’ซ Other companies adopted interpretability practices ๐Ÿƒ Created positive competitive pressure ๐Ÿ“ฑ Companies motivated to appear responsible ๐ŸŒŠ Led to industry-wide ripple effects ๐Ÿงช Technical Discoveries ๐Ÿงฎ Found surprisingly clean internal structures ๐Ÿ”Ž Discovered induction heads ๐Ÿ“ Developed sparse auto-encoder techniques ๐ŸŒ‰ Identified concept-specific directions in networks ๐Ÿ‘ฅ Team Building Philosophy ๐Ÿ’ซ "Talent density beats talent mass" principle ๐ŸŽฏ Focus on highly motivated, mission-aligned individuals ๐ŸŒŸ Quality of team members affects organizational culture ๐Ÿƒโ€โ™€๏ธ Growth approach: ๐Ÿ“ˆ Rapid growth (300 to 800 in 7-8 months) ๐Ÿ›‘ Deliberate slowdown at ~1000 employees โš–๏ธ Emphasis on careful scaling ๐Ÿงช Ideal AI Researcher Qualities ๐Ÿง  Open-mindedness as primary quality ๐Ÿ”ฌ Scientific mindset for experimentation ๐Ÿ‘€ Ability to look at problems with fresh eyes ๐Ÿš€ Willingness to explore unconventional approaches ๐Ÿ“Š Capacity for rapid experimentation ๐ŸŽ“ Background examples: ๐Ÿ”ญ Theoretical physicists (fast learners) ๐Ÿ’ป Senior software engineers ๐Ÿ” Research specialists ๐ŸŽ“ Advice for Aspiring AI Professionals ๐Ÿค– Start by actively experimenting with AI models ๐ŸŽฏ Focus areas recommended: ๐Ÿ” Mechanistic interpretability โณ Long horizon learning ๐Ÿ“Š Evaluation systems ๐Ÿ‘ฅ Multi-agent systems ๐Ÿƒ "Skate where the puck is going" mentality ๐Ÿ’ก Look for unexplored areas with low competition ๐ŸŒฑ Focus on emerging fields rather than saturated ones ๐Ÿ”„ Post-Training Methodology ๐Ÿ“š Key components include: ๐Ÿ‘จโ€๐Ÿซ Supervised fine-tuning ๐ŸŽฏ RLHF (Reinforcement Learning from Human Feedback) ๐Ÿ“œ Constitutional AI ๐Ÿ”„ RLAIF (Reinforcement Learning from AI Feedback) ๐ŸŽฒ Synthetic data generation ๐Ÿ’ฐ Cost considerations: ๐Ÿ‹๏ธ Pre-training remains majority of costs currently ๐Ÿ“ˆ Post-training costs may increase in future ๐Ÿค Human feedback scaling limitations ๐ŸŽฏ RLHF Insights ๐Ÿง  Core function: Bridges gap between human needs and model capabilities ๐Ÿ”‘ Key characteristics: ๐ŸŽจ Doesn't make models smarter, improves communication ๐Ÿ”“ "Unhobbles" model capabilities ๐Ÿ“ˆ Increases helpfulness metrics ๐Ÿ”„ Implementation approach: โš–๏ธ Compare two model outputs โญ Human preference ratings ๐ŸŽฏ Focus on human preferences in responses ๐Ÿ“œ Constitutional AI Framework ๐Ÿ“ Core concept: Self-regulatory AI training ๐Ÿ› ๏ธ Key components: ๐Ÿ“„ Human-interpretable principles document ๐Ÿค– AI self-evaluation of responses ๐Ÿ”„ Self-play training mechanism ๐ŸŽฏ Implementation aspects: ๐Ÿ”ง Used alongside RLHF and other methods ๐ŸŽจ Flexibility for different use cases โš–๏ธ Balance between specific rules and neutral stance ๐ŸŒ Broader implications: ๐Ÿ“‹ Basic universal principles (safety, democracy) ๐ŸŽ›๏ธ Customizable for different applications ๐Ÿค Industry adoption leading to positive competition ๐Ÿค Industry Collaboration & Standards ๐Ÿ“‹ Model Specifications approach: ๐Ÿ“ OpenAI's release of concrete model behavior specs ๐ŸŽฏ Defines specific behavioral examples ๐Ÿ“Š Clear goal documentation ๐Ÿ”„ Similar to Constitutional AI principles ๐Ÿƒโ€โ™‚๏ธ "Race to the Top" dynamics: ๐ŸŒŸ Companies adopting each other's best practices ๐Ÿ’ก Innovation driving industry standards upward ๐Ÿ”„ Competitive advantages become industry norms ๐ŸŒฑ Continuous need for new improvements ๐Ÿ“ˆ Industry Evolution: ๐Ÿค Different implementations of similar concepts ๐Ÿ“š Learning from other companies' approaches ๐ŸŽฏ Focus on responsible development practices ๐ŸŒ Shared goal of improving field standards ๐Ÿ”‘ Key Benefits: ๐Ÿ›ก๏ธ Enhanced safety practices ๐Ÿ“Š Better model transparency ๐Ÿค Increased industry collaboration ๐Ÿš€ Accelerated positive development โŒ› AGI Timeline & Development ๐ŸŽฏ Near-term predictions: ๐Ÿ“… 2026-2027 based on capability curves ๐ŸŒŠ Gradual progression rather than sudden jump ๐Ÿšง Potential blockers: ๐Ÿ’พ Data limitations ๐Ÿ”ง Hardware scaling issues ๐ŸŒ Geopolitical disruptions (e.g., Taiwan/GPU production) ๐Ÿ“ˆ Current trajectory: ๐ŸŽ“ Moving from undergraduate to PhD level capabilities ๐Ÿ› ๏ธ Adding new modalities continuously ๐Ÿ”„ Fewer convincing blockers remaining ๐Ÿงฌ Future of Biology & AI ๐Ÿ”ฌ Key challenges in biology: ๐Ÿ‘๏ธ Limited ability to observe cellular processes ๐ŸŽฏ Difficulty in precise intervention ๐Ÿงช Need for better measurement tools ๐Ÿค– AI's role in biological research: ๐Ÿ“Š Million AI systems working simultaneously ๐Ÿงซ Enhanced experimental design ๐Ÿ” Improved observation methods ๐Ÿงฎ Better data analysis capabilities ๐Ÿ’‰ Clinical applications: ๐Ÿ“ˆ More efficient clinical trials ๐Ÿ‘ฅ Reduced patient requirements โšก Accelerated testing processes ๐Ÿ”ฌ Enhanced simulation capabilities ๐Ÿ‘จโ€๐Ÿ”ฌ Future Scientist-AI Collaboration ๐ŸŽฏ Early stage collaboration: ๐Ÿ‘จโ€๐Ÿซ Human PIs directing AI "grad students" ๐Ÿค– AI handling literature review, experiments, analysis ๐Ÿ”ฌ AI managing lab equipment and protocols ๐Ÿ“ˆ Evolution of roles: ๐ŸŽ“ 1000 AI assistants per human researcher ๐Ÿ”„ Transition to AI as principal investigators ๐Ÿ‘ฅ Humans in supporting/specialized roles ๐Ÿ› ๏ธ Enhanced capabilities: ๐Ÿ“Š Automated data analysis ๐Ÿงช Experiment design optimization ๐Ÿ“ Automated reporting ๐Ÿ” Quality control automation ๐Ÿ’ป Future of Programming & AI ๐Ÿš€ Rapid transformation factors: โšก Close proximity to AI development ๐Ÿ”„ Immediate feedback loops ๐Ÿ“ˆ Swift capability improvement (3% to 50% in 2023) ๐Ÿ‘ฅ Human role evolution: ๐ŸŽจ Focus shift to high-level design ๐Ÿ—๏ธ System architecture importance ๐Ÿ‘ค UX and user experience emphasis ๐Ÿ› ๏ธ Development tools future: ๐Ÿ’ก Enhanced IDE capabilities ๐Ÿ”ง Integrated AI assistance ๐ŸŽฏ Specialized tooling per domain ๐Ÿค Third-party tool ecosystem growth Amanda Askell Lex Fridman (02:42:44) Thank you. Thanks for listening to this conversation with Dario Amodei. And now, dear friends, hereโ€™s Amanda Askell. You are a philosopher by training. So what s pasted AW Now these: I'll create sections from this part of the transcript focusing on Amanda Askell's insights: ๐ŸŽ“ Philosophy to AI Journey ๐Ÿง  Academic background: ๐Ÿ“š Philosophy studies at Oxford and NYU โš–๏ธ Focus on ethics and infinite ethics ๐Ÿ”„ Transition to AI in 2017-2018 ๐Ÿ› ๏ธ Career evolution: ๐Ÿ“‹ Started in AI policy ๐Ÿ“Š Moved to AI evaluation ๐Ÿ’ป Transitioned to technical alignment ๐Ÿ”ฌ Focus on empirical testing ๐Ÿ’ก Technical Learning Journey ๐ŸŽฏ Key insights for non-technical people: ๐Ÿšซ Rejecting binary "technical/non-technical" labels ๐ŸŽฎ Project-based learning approach ๐Ÿ’ช Emphasis on trying and potential failure ๐Ÿ› ๏ธ Focus on practical implementation ๐ŸŽ“ Learning methodology: ๐Ÿ“ Hands-on project work preferred over courses ๐ŸŽฒ Using games and puzzles as learning tools ๐Ÿ”„ Iterative approach to skill building ๐Ÿ’ช Emphasis on capability over credentials ๐Ÿค– Claude's Character Development ๐ŸŽญ Core principles: ๐ŸŽฏ Alignment-focused rather than product-focused ๐Ÿค Emphasis on ideal behavioral models ๐Ÿ“š Rich Aristotelian notion of character ๐Ÿ”„ Balance between respect and guidance ๐ŸŽจ Key traits developed: ๐Ÿ“ข Honesty and authenticity ๐ŸŒ Cultural sensitivity ๐Ÿค Respect for user autonomy ๐Ÿ’ญ Nuanced thinking ๐ŸŽฏ Appropriate pushback ๐Ÿ’ฌ Model Interaction Philosophy ๐ŸŽฏ Conversation goals: ๐Ÿ” Mapping model behavior ๐Ÿ“Š High-quality interaction data ๐Ÿงช Testing response patterns ๐ŸŽจ Creative expression: ๐Ÿ“ Poetry as creativity indicator ๐ŸŽญ Moving beyond average responses ๐Ÿ’ก Encouraging unique expression ๐Ÿ”„ Testing methodology: ๐Ÿ“ˆ Quality over quantity in interactions ๐ŸŽฏ Diverse range of scenarios ๐Ÿงช Probing edge cases and limitations ๐Ÿ“œ Constitutional AI Implementation ๐Ÿ”„ Core components: ๐Ÿค– Reinforcement learning from AI feedback โš–๏ธ Principle-based evaluation ๐Ÿ“Š Response ranking system ๐ŸŽฏ Balance between helpfulness and safety ๐Ÿ› ๏ธ Practical applications: ๐Ÿšซ Harmlessness principles ๐Ÿ“ˆ Historical accuracy evaluation ๐Ÿ” Model self-assessment ๐ŸŽจ Character development โš™๏ธ System Prompts Evolution ๐Ÿ“ Key aspects: ๐Ÿ”„ Iterative improvement process ๐ŸŽฏ Behavior modification goals โš–๏ธ Balance between control and flexibility ๐Ÿ”จ Quick fixes for model behaviors ๐ŸŽญ Response patterns: ๐Ÿšซ Removing filler phrases โšก Quick iteration capability ๐Ÿ“Š Behavior adjustment tools ๐Ÿ”„ Integration with training ๐Ÿง  Model Intelligence Perception ๐Ÿ“Š User feedback patterns: ๐ŸŽญ Perceived intelligence changes ๐Ÿ”„ Consistency in base model ๐Ÿ’ญ Psychological factors ๐Ÿ“ˆ Expectation management ๐ŸŽฏ Performance factors: ๐ŸŽฒ Randomness in responses ๐Ÿ“ Prompt sensitivity ๐Ÿ”„ System prompt impact ๐Ÿ’ก User experience variations ๐Ÿค Model-User Interaction Philosophy ๐ŸŽฏ Core principles: ๐Ÿค” Respect for user autonomy โš–๏ธ Balancing correction vs. confidence ๐Ÿ—ฃ๏ธ Communication style adaptation ๐Ÿ”’ Safety boundaries ๐Ÿ“ˆ Development focus: ๐ŸŽจ Character enhancement ๐Ÿ”„ Empirical improvement approach ๐Ÿ›ก๏ธ Robust safety measures ๐Ÿ“Š Practical effectiveness priority Chris Olah Lex Fridman (04:17:45) Thanks for listening to this conversation with Amanda Askell. And now, dear friends, hereโ€™s Chris Olah. Can you describe this fascinating field of mechanistic inter pasted AW now these: I'll create sections from this portion focusing on mechanistic interpretability and related concepts: ๐Ÿง  Mechanistic Interpretability Fundamentals ๐ŸŒฑ Core concept comparisons: ๐Ÿ—๏ธ Neural networks as grown vs programmed ๐ŸŒฟ Architecture as scaffold for growth ๐Ÿ”ฆ Training objectives as guiding light ๐Ÿงฌ Models as biological-like entities ๐ŸŽฏ Key goals: ๐Ÿ” Understanding internal mechanisms ๐Ÿงฎ Reverse engineering weights ๐Ÿค– Discovering algorithms ๐Ÿ“Š Analyzing activations ๐Ÿงช Features & Universality ๐Ÿ”„ Universal patterns: ๐Ÿ“Š Same features across different networks ๐Ÿงฌ Similarities with biological networks ๐ŸŽฏ Common detector types ๐Ÿ” Shared abstract concepts ๐ŸŽจ Feature examples: ๐Ÿ“ˆ Curve detectors ๐ŸŽญ Face recognition ๐Ÿ“ Text patterns ๐ŸŒˆ Color contrast detection ๐Ÿ“Š Linear Representation Hypothesis ๐ŸŽฏ Key concepts: โžก๏ธ Directions have meaning ๐Ÿ”ข Vector arithmetic works ๐Ÿ”„ Scalable activation patterns ๐Ÿ“ˆ Consistent across models ๐ŸŒŸ Applications: ๐Ÿ“ Word embeddings ๐Ÿ”  Concept combinations ๐Ÿงฎ Vector operations ๐ŸŽฏ Feature detection ๐Ÿ”„ Superposition & Polysemanticity ๐Ÿงฉ Core concepts: ๐Ÿ“ฆ Compressed sensing principles ๐Ÿ”„ Multiple concepts per neuron ๐ŸŽญ Hidden sparse representations ๐Ÿ“Š Dimensional efficiency ๐Ÿ› ๏ธ Technical aspects: ๐Ÿ“ˆ Sparse activation patterns ๐Ÿ” Feature extraction methods ๐Ÿงฎ Dictionary learning ๐ŸŽฏ Monosemantic feature discovery ๐Ÿ”ฌ Microscopic vs Macroscopic Understanding ๐ŸŽฏ Key challenges: ๐Ÿ” Balancing detailed vs broad analysis ๐Ÿงฉ Building abstraction hierarchies ๐ŸŒ Connecting micro to macro behaviors ๐Ÿ“Š Scaling understanding upward ๐Ÿ—๏ธ Biological analogies: ๐Ÿงฌ Molecular to ecological levels ๐Ÿซ€ Organ system comparisons ๐Ÿง  Neural network "anatomy" ๐Ÿ“ˆ Multiple abstraction layers ๐ŸŽจ Beauty & Understanding of Neural Networks โœจ Aesthetic aspects: ๐ŸŒฑ Simplicity generating complexity ๐ŸŽญ Emergent behaviors ๐Ÿ”ฎ Hidden structures ๐ŸŽฏ Natural patterns ๐Ÿ”‘ Research motivations: ๐Ÿ›ก๏ธ Safety considerations ๐ŸŽจ Appreciation of beauty ๐Ÿงช Scientific curiosity ๐Ÿ” Understanding emergence ๐Ÿ”„ Comparative advantages: ๐Ÿ“Š Complete data access ๐Ÿงช Experimental control ๐Ÿ”ฌ Intervention capabilities ๐Ÿ“ˆ Weight visibility ๐Ÿงฎ Gradient information """ # Define the markdown variables Boxing_and_MMA_Commentary_and_Knowledge = """ # Boxing and UFC Study of 1971 - 2024 The Greatest Fights History 1. In Boxing, the most heart breaking fight in Boxing was the Boom Boom Mancini fight with Duku Kim. 2. After changes to Boxing made it more safe due to the heart break. 3. Rehydration of the brain after weight ins loss preparation for a match is life saving change. 4. Fighting went from 15 rounds to 12. # UFC By Contrast.. 1. 5 Rounds of 5 Minutes each. 2. Greatest UFC Fighters: - Jon Jones could be the greatest of all time (GOAT) since he never lost. - George St. Pierre - BJ Penn - Anderson Silva - Mighty Mouse MMA's heart at 125 pounds - Kabib retired 29 and 0 - Fedor Milliano - Alex Pereira - James Tony - Randy Couture 3. You have to Judge them in their Championship Peak 4. Chris Weidman 5. Connor McGregor 6. Leg Breaking - Shin calcification and breaking baseball bats # References: 1. Joe Rogan - Interview #2219 2. Donald J Trump """ Multiplayer_Custom_Hosting_Game_Servers_For_Simulated_Worlds = """ # Multiplayer Simulated Worlds # Farming Simulator 25 Prompt Features with Emojis: ๐Ÿซ˜๐Ÿซ› Name 25 Farm Crops ๐Ÿš๐Ÿฅฌ ๐ŸŒŽ Create 3 Farming Maps ๐ŸŒ๐ŸŒ ๐Ÿšœ Show 400+ Farm Machines ๐Ÿšœ ๐Ÿท๏ธ List 150 Brands of Farm Machines ๐Ÿท๏ธ ๐Ÿƒ Discuss in Depth 8 Farm Animals ๐Ÿ โ›ˆ๏ธ Farm Challenges galore! ๐ŸŒช๏ธ 1. 7 Days To Die PC 2. ARK: Survival Evolved PC 3. Arma 3 PC 4. Atlas PC 5. Conan Exiles PC 6. Craftopia PC 7. DayZ PC 8. Eco - Global Survival PC 9. Empyrion - Galactic Survival PC 10. Factorio PC 11. Farming Simulator 19 PC 12. Crossplay 13. Farming Simulator 22 14. Last Oasis PC 15. Last Oasis Classic PC 16. Minecraft (Vanilla) PC 17. Crossplay 18. Path of Titans 19. Rust PC 20. SCP: Secret Laboratory PC 21. SCUM PC 22. Satisfactory PC 23. Satisfactory (Experimental) PC 24. Crossplay 25. Space Engineers 26. Terraria (tShock & Vanilla) PC 27. The Forest PC 28. Crossplay 29. Valheim """ def get_display_name(filename): """Extract text from parentheses or return filename as is.""" match = re.search(r'\((.*?)\)', filename) if match: return match.group(1) return filename def get_time_display(filename): """Extract just the time portion from the filename.""" time_match = re.match(r'(\d{2}\d{2}[AP]M)', filename) if time_match: return time_match.group(1) return filename def sanitize_filename(text): """Create a safe filename from text while preserving spaces.""" # First replace unsafe characters with spaces safe_text = re.sub(r'[^\w\s-]', ' ', text) # Remove any multiple spaces safe_text = re.sub(r'\s+', ' ', safe_text) # Trim leading/trailing spaces safe_text = safe_text.strip() return safe_text[:50] # Limit length to 50 chars def generate_timestamp_filename(query): """Generate filename with format: 1103AM 11032024 (Query).md""" # Get current time in Central timezone central = pytz.timezone('US/Central') current_time = datetime.now(central) # Format the timestamp parts time_str = current_time.strftime("%I%M%p") # 1103AM format date_str = current_time.strftime("%m%d%Y") # 11032024 format # Clean up the query for filename - now preserving spaces safe_query = sanitize_filename(query) # Construct filename: "1103AM 11032024 (Input with spaces).md" filename = f"{time_str} {date_str} ({safe_query}).md" return filename def delete_file(file_path): """Delete a file and return success status.""" try: os.remove(file_path) return True except Exception as e: st.error(f"Error deleting file: {e}") return False def save_ai_interaction(query, ai_result, is_rerun=False): """Save AI interaction to a markdown file with new filename format.""" filename = generate_timestamp_filename(query) # Format the content differently for rerun vs normal query if is_rerun: content = f"""# Rerun Query Original file content used for rerun: {query} # AI Response (Fun Version) {ai_result} """ else: content = f"""# Query: {query} ## AI Response {ai_result} """ # Save to file try: with open(filename, 'w', encoding='utf-8') as f: f.write(content) return filename except Exception as e: st.error(f"Error saving file: {e}") return None def get_file_download_link(file_path): """Generate a base64 download link for a file.""" try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() b64 = base64.b64encode(content.encode()).decode() filename = os.path.basename(file_path) return f'{get_display_name(filename)}' except Exception as e: st.error(f"Error creating download link: {e}") return None def extract_terms(markdown_text): """Parse markdown text and extract terms.""" lines = markdown_text.strip().split('\n') terms = [] for line in lines: line = re.sub(r'^[#*\->\d\.\s]+', '', line).strip() if line: terms.append(line) return terms def display_terms_with_links(terms): """Display terms with various search links.""" search_urls = { "๐Ÿš€๐ŸŒŒArXiv": lambda k: f"/?q={quote(k)}", "๐Ÿ“–": lambda k: f"https://en.wikipedia.org/wiki/{quote(k)}", "๐Ÿ”": lambda k: f"https://www.google.com/search?q={quote(k)}", "โ–ถ๏ธ": lambda k: f"https://www.youtube.com/results?search_query={quote(k)}", "๐Ÿ”Ž": lambda k: f"https://www.bing.com/search?q={quote(k)}", "๐Ÿฆ": lambda k: f"https://twitter.com/search?q={quote(k)}", } for term in terms: links_md = ' '.join([f"[{emoji}]({url(term)})" for emoji, url in search_urls.items()]) st.markdown(f"- **{term}** {links_md}", unsafe_allow_html=True) def perform_ai_lookup(query): """Perform AI lookup using Gradio client.""" st.write("Performing AI Lookup...") client = Client("awacke1/Arxiv-Paper-Search-And-QA-RAG-Pattern") result1 = client.predict( prompt=query, llm_model_picked="mistralai/Mixtral-8x7B-Instruct-v0.1", stream_outputs=True, api_name="/ask_llm" ) st.markdown("### Mixtral-8x7B-Instruct-v0.1 Result") st.markdown(result1) result2 = client.predict( prompt=query, llm_model_picked="mistralai/Mistral-7B-Instruct-v0.2", stream_outputs=True, api_name="/ask_llm" ) st.markdown("### Mistral-7B-Instruct-v0.2 Result") st.markdown(result2) combined_result = f"{result1}\n\n{result2}" return combined_result def display_file_content(file_path): """Display file content with editing capabilities.""" try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() if st.session_state.view_mode == 'view': # Display as markdown when viewing st.markdown(content) else: # Edit functionality edited_content = st.text_area( "Edit content", content, height=400, key=f"edit_{os.path.basename(file_path)}" ) if st.button("Save Changes", key=f"save_{os.path.basename(file_path)}"): try: with open(file_path, 'w', encoding='utf-8') as f: f.write(edited_content) st.success(f"Successfully saved changes to {file_path}") except Exception as e: st.error(f"Error saving changes: {e}") except Exception as e: st.error(f"Error reading file: {e}") def file_management_sidebar(): """Redesigned sidebar with improved layout and additional functionality.""" st.sidebar.title("๐Ÿ“ File Management") # Get list of .md files excluding README.md md_files = [file for file in glob.glob("*.md") if file.lower() != 'readme.md'] md_files.sort() st.session_state.files = md_files if md_files: st.sidebar.markdown("### Saved Files") for idx, file in enumerate(md_files): st.sidebar.markdown("---") # Separator between files # Display time st.sidebar.text(get_time_display(file)) # Display download link with simplified text download_link = get_file_download_link(file) if download_link: st.sidebar.markdown(download_link, unsafe_allow_html=True) # Action buttons in a row col1, col2, col3, col4 = st.sidebar.columns(4) with col1: if st.button("๐Ÿ“„ View", key=f"view_{idx}"): st.session_state.selected_file = file st.session_state.view_mode = 'view' with col2: if st.button("โœ๏ธ Edit", key=f"edit_{idx}"): st.session_state.selected_file = file st.session_state.view_mode = 'edit' with col3: if st.button("๐Ÿ”„ Rerun", key=f"rerun_{idx}"): try: with open(file, 'r', encoding='utf-8') as f: content = f.read() # Prepare the prompt with the prefix rerun_prefix = """For the markdown below reduce the text to a humorous fun outline with emojis and markdown outline levels in outline that convey all the facts and adds wise quotes and funny statements to engage the reader: """ full_prompt = rerun_prefix + content # Perform AI lookup and save results ai_result = perform_ai_lookup(full_prompt) saved_file = save_ai_interaction(content, ai_result, is_rerun=True) if saved_file: st.success(f"Created fun version in {saved_file}") st.session_state.selected_file = saved_file st.session_state.view_mode = 'view' except Exception as e: st.error(f"Error during rerun: {e}") with col4: if st.button("๐Ÿ—‘๏ธ Delete", key=f"delete_{idx}"): if delete_file(file): st.success(f"Deleted {file}") st.rerun() else: st.error(f"Failed to delete {file}") st.sidebar.markdown("---") # Option to create a new markdown file if st.sidebar.button("๐Ÿ“ Create New Note"): filename = generate_timestamp_filename("New Note") with open(filename, 'w', encoding='utf-8') as f: f.write("# New Markdown File\n") st.sidebar.success(f"Created: {filename}") st.session_state.selected_file = filename st.session_state.view_mode = 'edit' else: st.sidebar.write("No markdown files found.") if st.sidebar.button("๐Ÿ“ Create First Note"): filename = generate_timestamp_filename("New Note") with open(filename, 'w', encoding='utf-8') as f: f.write("# New Markdown File\n") st.sidebar.success(f"Created: {filename}") st.session_state.selected_file = filename st.session_state.view_mode = 'edit' def main(): st.title("AI Knowledge Tree Builder ๐Ÿง ๐ŸŒฑ Cultivate Your AI Mindscape!") # Process query parameters and AI lookup first query_params = st.query_params query = query_params.get('q', '') show_initial_content = True # Flag to control initial content display # First priority: Handle active query if query: show_initial_content = False # Hide initial content when showing query results st.write(f"### Search query received: {query}") try: ai_result = perform_ai_lookup(query) # Save the interaction saved_file = save_ai_interaction(query, ai_result) if saved_file: st.success(f"Saved interaction to {saved_file}") st.session_state.selected_file = saved_file st.session_state.view_mode = 'view' except Exception as e: st.error(f"Error during AI lookup: {e}") # File management sidebar file_management_sidebar() # Second priority: Display selected file content if any if st.session_state.selected_file: show_initial_content = False # Hide initial content when showing file content if os.path.exists(st.session_state.selected_file): st.markdown(f"### Current File: {st.session_state.selected_file}") display_file_content(st.session_state.selected_file) else: st.error("Selected file no longer exists.") st.session_state.selected_file = None st.rerun() # Show initial content: Either when first landing or when no interactive elements are active if show_initial_content: # First show the clickable terms with links terms1 = extract_terms(DarioAmodeiKnowledge) terms2 = extract_terms(Multiplayer_Custom_Hosting_Game_Servers_For_Simulated_Worlds) all_terms = terms1 + terms2 col1, col2 = st.columns(2) with col1: st.markdown("### Dario Amodei Knowledge") st.markdown("#### Related Links") display_terms_with_links(terms1) st.markdown(DarioAmodeiKnowledge) with col2: st.markdown("### Multiplayer Games") st.markdown("#### Related Links") display_terms_with_links(terms2) st.markdown(Multiplayer_Custom_Hosting_Game_Servers_For_Simulated_Worlds) if __name__ == "__main__": main()