meta-ai-seo / app.py
cyberandy's picture
Update app.py
55363be verified
raw
history blame
2.22 kB
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'<style>{f.read()}</style>', 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:
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()