|
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}) |
|
|
|
|