Spaces:
Runtime error
Runtime error
import os | |
import json | |
import openai | |
import pandas as pd | |
import numpy as np | |
from openai.embeddings_utils import distances_from_embeddings | |
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") | |
openai.api_key = OPENAI_API_KEY | |
def clear_state(chatbot, *args): | |
return chatbot.clear_state(*args) | |
def send_system_nofification(chatbot, *args): | |
return chatbot.send_system_nofification(*args) | |
def build_knowledge_base(chatbot, *args): | |
return chatbot.build_knowledge_base(*args) | |
def change_md(chatbot, *args): | |
return chatbot.change_md(*args) | |
def get_index_file(chatbot, *args): | |
return chatbot.get_index_file(*args) | |
def user(chatbot, *args): | |
return chatbot.user(*args) | |
def bot(chatbot, *args): | |
return chatbot.bot(*args) | |
def video_bot(video_chatbot, *args): | |
return video_chatbot.answer_question(*args) | |
def search_transcript_content(transcript_id, user_question): | |
user_q_emb = openai.Embedding.create(input=user_question, engine="text-embedding-ada-002")["data"][0]["embedding"] | |
transcript_db = pd.read_csv("transcript.csv") | |
transcript_db = transcript_db[transcript_db["uid"] == transcript_id] | |
transcript_db["embedding"] = ( | |
transcript_db["embedding"].apply(eval).apply(np.array) | |
) | |
transcript_db["distance"] = distances_from_embeddings( | |
user_q_emb, | |
transcript_db["embedding"].values, | |
distance_metric="cosine", | |
) | |
transcript_db = transcript_db.sort_values( | |
by="distance", ascending=True | |
) | |
if transcript_db["distance"].values[0] > 0.2: | |
result = { | |
"success": False, | |
"result": None | |
} | |
return json.dumps(result) | |
# return transcript_db["text"] in json format | |
result = { | |
"success": True, | |
"result": [text for text in transcript_db["text"].values] | |
} | |
return json.dumps(result) |