| | import streamlit as st |
| | import pandas as pd |
| | import random |
| | import time |
| | import os |
| | from query import answer_query |
| | from main import repository_loader,get_repo_name |
| | from agent import agent_query |
| |
|
| | st.title("Git Bot - v 0.02") |
| |
|
| | if 'flag' not in st.session_state: |
| | st.session_state['flag'] = True |
| |
|
| | url = st.sidebar.text_input("Github url") |
| | if url and st.session_state.flag: |
| | with st.spinner('Embedding your Repository...'): |
| | os.environ["collection_name"] =url |
| | repository_loader(url) |
| | st.session_state.flag = False |
| | st.success('Done!') |
| |
|
| | |
| | if "messages" not in st.session_state: |
| | st.session_state.messages = [] |
| |
|
| | |
| | for message in st.session_state.messages: |
| | with st.chat_message(message["role"]): |
| | st.markdown(message["content"]) |
| |
|
| | |
| | if prompt := st.chat_input("What is up?"): |
| | |
| | with st.chat_message("user"): |
| | st.markdown(prompt) |
| | |
| | st.session_state.messages.append({"role": "user", "content": prompt}) |
| |
|
| | if not url: |
| | st.warning('Please enter your Github Link!', icon='⚠') |
| | if url and os.getenv("collection_name"): |
| | with st.chat_message("assistant"): |
| | message_placeholder = st.empty() |
| | full_response = "" |
| | |
| | assistant_response = agent_query(prompt) |
| | |
| | |
| | |
| | |
| | |
| | |
| | message_placeholder.markdown(assistant_response) |
| | |
| | st.session_state.messages.append({"role": "assistant", "content": assistant_response}) |
| |
|
| | |