Update app.py
Browse files
app.py
CHANGED
@@ -33,16 +33,16 @@ def invoke(openai_api_key, youtube_url, process_video, prompt):
|
|
33 |
print(111)
|
34 |
loader = GenericLoader(YoutubeAudioLoader([youtube_url], YOUTUBE_DIR), OpenAIWhisperParser())
|
35 |
docs = loader.load()
|
|
|
36 |
text_splitter = RecursiveCharacterTextSplitter(chunk_size = 1500, chunk_overlap = 150)
|
37 |
splits = text_splitter.split_documents(docs)
|
|
|
38 |
else:
|
39 |
print(222)
|
40 |
-
|
41 |
-
vector_db = Chroma.from_documents(documents = splits, embedding = OpenAIEmbeddings(), persist_directory = CHROMA_DIR)
|
42 |
llm = ChatOpenAI(model_name = MODEL_NAME, temperature = 0)
|
43 |
qa_chain = RetrievalQA.from_chain_type(llm, retriever = vector_db.as_retriever(), return_source_documents = True, chain_type_kwargs = {"prompt": QA_CHAIN_PROMPT})
|
44 |
result = qa_chain({"query": prompt})
|
45 |
-
shutil.rmtree(YOUTUBE_DIR)
|
46 |
#shutil.rmtree(CHROMA_DIR)
|
47 |
return result["result"]
|
48 |
|
|
|
33 |
print(111)
|
34 |
loader = GenericLoader(YoutubeAudioLoader([youtube_url], YOUTUBE_DIR), OpenAIWhisperParser())
|
35 |
docs = loader.load()
|
36 |
+
shutil.rmtree(YOUTUBE_DIR)
|
37 |
text_splitter = RecursiveCharacterTextSplitter(chunk_size = 1500, chunk_overlap = 150)
|
38 |
splits = text_splitter.split_documents(docs)
|
39 |
+
vector_db = Chroma.from_documents(documents = splits, embedding = OpenAIEmbeddings(), persist_directory = CHROMA_DIR)
|
40 |
else:
|
41 |
print(222)
|
42 |
+
vector_db = Chroma(persist_directory = CHROMA_DIR, embedding_function = OpenAIEmbeddings())
|
|
|
43 |
llm = ChatOpenAI(model_name = MODEL_NAME, temperature = 0)
|
44 |
qa_chain = RetrievalQA.from_chain_type(llm, retriever = vector_db.as_retriever(), return_source_documents = True, chain_type_kwargs = {"prompt": QA_CHAIN_PROMPT})
|
45 |
result = qa_chain({"query": prompt})
|
|
|
46 |
#shutil.rmtree(CHROMA_DIR)
|
47 |
return result["result"]
|
48 |
|