askeco / app.py
gofeco's picture
Update app.py
7c2f503 verified
raw
history blame contribute delete
No virus
1.34 kB
from langchain.text_splitter import CharacterTextSplitter
from langchain_community.document_loaders import TextLoader
from langchain_community.document_loaders import DirectoryLoader
from langchain_community.embeddings.sentence_transformer import SentenceTransformerEmbeddings
from langchain_community.vectorstores import Chroma
import streamlit as st
lang = st.radio("Choose Language:",
["English", "Chinese"],
captions= ['Support in English', 'Chinese QnA'])
if lang == "English":
embedding_function = SentenceTransformerEmbeddings(model_name="all-mpnet-base-v2")
chdb = Chroma(persist_directory="./chroma_db_info", embedding_function=embedding_function)
else:
embedding_function = SentenceTransformerEmbeddings(model_name="shibing624/text2vec-base-chinese")
chdb = Chroma(persist_directory="./chroma_db_ch", embedding_function=embedding_function)
query = st.text_input("Enter a query about IC design:")
disnum = 3
if query:
docs = chdb.similarity_search_with_score(query)
docnum = len(docs)
index = 0
ret = f"Query:{query}\n"
for ii in range(docnum):
doc = docs[ii][0]
score = docs[ii][1]
ret += f"Return {index} ({score:.4f}) :\n{doc.page_content}\n"
index += 1
if index > disnum:
break
st.text(ret)