sbaiiinfo / app_interface.py
Sujal Bhat
Initial commit without large files
35d7369
raw
history blame
1.25 kB
import streamlit as st
import os
from dotenv import load_dotenv
from qdrant_client import QdrantClient
from langchain_openai import OpenAIEmbeddings, OpenAI
from langchain.chains import RetrievalQA
from langchain.vectorstores import Qdrant
# Load environment variables
load_dotenv()
# Initialize Qdrant client
qdrant_api_key = os.getenv("QDRANT_API_KEY")
qdrant_client = QdrantClient(
url="https://9266da83-dbfe-48d6-b2d8-cdf101299284.europe-west3-0.gcp.cloud.qdrant.io",
api_key=qdrant_api_key
)
# Initialize OpenAI
openai_api_key = os.getenv("OPENAI_API_KEY")
embeddings = OpenAIEmbeddings(openai_api_key=openai_api_key)
# Set up Qdrant as a vector store
collection_name = "ai_info_collection"
vector_store = Qdrant(
client=qdrant_client,
collection_name=collection_name,
embeddings=embeddings,
)
# Set up retrieval QA chain
llm = OpenAI(temperature=0, openai_api_key=openai_api_key)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=vector_store.as_retriever()
)
# Streamlit interface
st.title("AI Information Assistant")
query = st.text_input("Ask a question about AI ethics, regulations, or policies:")
if query:
response = qa_chain.run(query)
st.write(response)