Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import json | |
import numpy as np | |
#from fuzzywuzzy import fuzz | |
import pinecone | |
from sentence_transformers import SentenceTransformer | |
pinecone.init(api_key='f5112f8c-f27d-4af1-b427-0c0953c113b5', environment='asia-southeast1-gcp') | |
#model = SentenceTransformer('all-mpnet-base-v2',device='cpu') | |
loaded_model = SentenceTransformer(r"finetiuned_model") | |
def process_string(s): | |
return s.lower().replace('&', 'and') | |
index = pinecone.Index('ingradientsearch') | |
# Create a Streamlit app | |
def main(): | |
st.set_page_config(page_title="Ingradients Matching App", page_icon=":smiley:", layout="wide") | |
st.title("Ingradients name matching App :smiley:") | |
st.header("Matches using embeddings (semantic search)") | |
st.write("Enter a ingradient name:") | |
st.write("e.g. Chicken") | |
input_string = st.text_input("") | |
input_string = process_string(input_string) | |
if st.button("Enter"): | |
st.write("Top 5 matches using semantic search:") | |
xq = model.encode([input_string]).tolist() | |
result = index.query(xq, top_k=5, includeMetadata=True) | |
Ingredient=[] | |
Group=[] | |
score=[] | |
for matches in result['matches']: | |
Ingredient.append(matches['metadata']['Ingredient']) | |
#Group.append(matches['metadata']['Group']) | |
score.append(matches['score']) | |
final_result= pd.DataFrame(list(zip(Ingredient, Group, score)), | |
columns =['Ingredient','score' ]) | |
st.dataframe(final_result) | |
if __name__ == "__main__": | |
main() |