Spaces:
Sleeping
Sleeping
import os | |
import requests | |
import streamlit as st | |
from models import bloom | |
st.title("Welcome to RegBotBeta") | |
st.header("Powered by `LlamaIndex🦙` and `OpenAI API`") | |
def validate(token: str): | |
api_endpoint = "https://api.openai.com/v1/chat/completions" | |
api_key = token | |
headers = { | |
"Content-Type" : "application/json", | |
"Authorization": f"Bearer {api_key}" | |
} | |
messages = [ | |
{"role": "user", "content": "Say this is a test!"} | |
] | |
data = { | |
"model": "gpt-3.5-turbo", | |
"messages": messages | |
} | |
response = requests.post(api_endpoint, json=data, headers=headers) | |
return response | |
def create_index(): | |
index = bloom.initialize_index("bloomLlama") | |
return index | |
def get_response(vector_index, query_str): | |
query_engine = vector_index.as_query_engine() | |
response = query_engine.query(query_str) | |
return response | |
api_key = st.text_input("Enter your OpenAI API key here:", type="password") | |
if api_key: | |
resp = validate(api_key) | |
if ("error" in resp.json()): | |
st.info("Your API Token is incorrect! Try again.") | |
else: | |
os.environ["OPENAI_API_KEY"] = api_key | |
index = create_index() | |
st.write("---") | |
input_text = st.text_area("Ask your question") | |
if input_text is not None: | |
if st.button("Ask"): | |
st.info("Your query: \n" + input_text) | |
with st.spinner("Processing your query..."): | |
response = get_response(index, input_text) | |
print(response) | |
st.success(response) | |
st.write("---") |