Spaces:
Runtime error
Runtime error
| 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 | |
| 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) |