import streamlit as st from meta_ai_api import MetaAI from urllib.parse import urlparse # Initialize Meta AI API ai = MetaAI() PAGE_CONFIG = { "page_title": "Meta AI Query Analysis - a Free SEO Tool by WordLift", "page_icon": "img/fav-ico.png", "layout": "centered" } def local_css(file_name): with open(file_name) as f: st.markdown(f'', unsafe_allow_html=True) st.set_page_config(**PAGE_CONFIG) local_css("style.css") def fetch_response(query): response = ai.prompt(message=query) return response def display_sources(sources): if sources: with st.expander("Show Sources"): for source in sources: # Parse the domain from the URL domain = urlparse(source['link']).netloc # Format and display the domain and title st.markdown(f"- **{domain}**: [{source['title']}]({source['link']})", unsafe_allow_html=True) else: st.write("No sources available.") # ---------------------------------------------------------------------------- # # Main Function # ---------------------------------------------------------------------------- # def main(): # Path to the image image_path = 'img/meta-ai-logo.webp' # Replace with your image's filename and extension # Create two columns col1, col2 = st.columns([1, 2]) # Adjust the ratio as needed for your layout # Use the first column to display the image with col1: st.image(image_path, width=60) # Use the second column to display the title and other content with col2: st.title("Meta AI SEO Tool") # User input user_query = st.text_area("Enter your query:", height=150) submit_button = st.button("Analyze Query") if submit_button and user_query: # Fetching response from Meta AI response = fetch_response(user_query) st.write(response.get('message', 'No response message.')) # Display the AI response in a collapsible section with st.expander("Show Sources"): # Display sources with clickable links in a collapsible section display_sources(response.get('sources', [])) if __name__ == "__main__": main()