Spaces:
Runtime error
Runtime error
File size: 1,827 Bytes
e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 db2d292 e997328 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
from pathlib import Path
import streamlit as st
from dotenv import load_dotenv
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
load_dotenv()
import os
from langchain.chat_models import ChatOpenAI
from langchain.embeddings.openai import OpenAIEmbeddings
from data import load_db
from names import DATASET_ID, MODEL_ID
@st.cache_resource
def init():
embeddings = OpenAIEmbeddings(model=MODEL_ID)
dataset_path = f"hub://{os.environ['ACTIVELOOP_ORG_ID']}/{DATASET_ID}"
db = load_db(
dataset_path,
embedding_function=embeddings,
token=os.environ["ACTIVELOOP_TOKEN"],
org_id=os.environ["ACTIVELOOP_ORG_ID"],
read_only=True,
)
prompt = PromptTemplate(
input_variables=["content"],
template=Path("prompts/bot.prompt").read_text(),
)
llm = ChatOpenAI(temperature=0.7)
chain = LLMChain(llm=llm, prompt=prompt)
return db, chain
db, chain = init()
st.title("Disney song for you")
text_input = st.text_input(
label="How are you feeling today?",
placeholder="I am ready to rock and rool!",
)
clicked = st.button("Click me")
placeholder_emotions = st.empty()
placeholder = st.empty()
def get_emotions(user_input):
emotions = chain.run(content=user_input)
print(f"Emotions: {emotions}")
matches = db.similarity_search_with_score(emotions, distance_metric="cos")
print(matches)
doc, score = matches[0]
iframes_html = ""
with placeholder_emotions:
st.write(emotions)
with placeholder:
embed_url = doc.metadata["embed_url"]
iframe_html = f'<iframe src="{embed_url}" style="border:0"> </iframe>'
st.components.v1.html(f"<div style='display:flex;flex-direction:column'>{iframe_html}</div>")
if clicked:
get_emotions(text_input) |