import streamlit as st import os import requests import pandas as pd import boto3 import AWSHandler import pinecone from sentence_transformers import SentenceTransformer aws_access_key = os.getenv("aws_access_key") aws_secret_key = os.getenv("aws_secret_key") pinecone_api_key = os.getenv("pinecone_api_key") pinecone_environment = os.getenv("pinecone_environment") s3 = boto3.client('s3', aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key) model = SentenceTransformer('all-mpnet-base-v2') st.set_page_config(layout="wide") def search_index(query): pinecone.init(api_key=pinecone_api_key, environment=pinecone_environment) index = pinecone.Index("scotus") vector = model.encode([query]).tolist() print(index) print(index.query) print(index.query(vector=vector,top_k=10,include_values=False,include_metadata=True).to_dict()) return index.query(vector=vector,top_k=10,include_values=False,include_metadata=True).to_dict()['matches'] st.markdown(''' ''', unsafe_allow_html=True) search = st.text_input('Search', placeholder='First Amendment cannot protect libel') if search != "": res = search_index(query=search) for m in res: text = m['metadata']['Text'] if 'Name' in m['metadata']: name = m['metadata']['Name'] else: name = "" st.markdown("- " + text + ' ' + '(_' + name + '_)')