├── .DS_Store ├── .devcontainer └── devcontainer.json ├── .gitignore ├── README.md ├── case_studies.md ├── deta_store.py ├── requirements.txt ├── scraper-embedder.py └── streamlit_app.py /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cefege/seo-chat-bot/06ad5a99838901e8284b0f577481425812f5fc51/.DS_Store -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Python 3", 3 | // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile 4 | "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", 5 | "customizations": { 6 | "codespaces": { 7 | "openFiles": [ 8 | "README.md", 9 | "streamlit_app.py" 10 | ] 11 | }, 12 | "vscode": { 13 | "settings": {}, 14 | "extensions": [ 15 | "ms-python.python", 16 | "ms-python.vscode-pylance" 17 | ] 18 | } 19 | }, 20 | "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y 131 | #MainMenu {visibility: hidden;} 132 | footer {visibility: hidden;} 133 | header {visibility: hidden;} 134 | #root > div:nth-child(1) > div > div > div > div > section > div {padding-top: 0rem;} 135 | 136 | """ 137 | st.markdown(hide_st_style, unsafe_allow_html=True) 138 | 139 | 140 | def main(): 141 | st.title("SEO Q&A Chatbot") 142 | st.write( 143 | "“The great aim of education is not knowledge but action.” ― Herbert Spencer" 144 | ) 145 | 146 | hide_streamlit_header_footer() 147 | display_existing_messages() 148 | 149 | query = st.chat_input("Ask any question related to SEO") 150 | if query: 151 | add_user_message_to_session(query) 152 | query_embedding = get_query_embedding(query) 153 | contexts = get_relevant_contexts( 154 | query_embedding, index_name=PINECONE_INDEX_NAME 155 | ) 156 | augmented_query = augment_query(contexts, query) 157 | response = generate_assistant_response(augmented_query) 158 | add_to_database(query, response) 159 | with st.sidebar: 160 | print_markdown_from_file("case_studies.md") 161 | 162 | 163 | if __name__ == "__main__": 164 | main() 165 | --------------------------------------------------------------------------------