bstraehle commited on
Commit
77a1aa4
·
1 Parent(s): b2937d2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -3
app.py CHANGED
@@ -27,6 +27,9 @@ CHROMA_DIR = "docs/chroma/"
27
 
28
  MODEL_NAME = "gpt-4"
29
 
 
 
 
30
  def invoke(openai_api_key, youtube_url, process_video, prompt):
31
  openai.api_key = openai_api_key
32
  if (process_video):
@@ -35,12 +38,12 @@ def invoke(openai_api_key, youtube_url, process_video, prompt):
35
  docs = loader.load()
36
  text_splitter = RecursiveCharacterTextSplitter(chunk_size = 1500, chunk_overlap = 150)
37
  splits = text_splitter.split_documents(docs)
38
- vectordb = Chroma.from_documents(documents = splits, embedding = OpenAIEmbeddings(), persist_directory = CHROMA_DIR)
39
  llm = ChatOpenAI(model_name = MODEL_NAME, temperature = 0)
40
- global qa_chain = RetrievalQA.from_chain_type(llm, retriever = vectordb.as_retriever(), return_source_documents = True, chain_type_kwargs = {"prompt": QA_CHAIN_PROMPT})
41
  else:
42
  print(222)
43
- result = qa_chain({"query": prompt})
44
  shutil.rmtree(YOUTUBE_DIR)
45
  #shutil.rmtree(CHROMA_DIR)
46
  return result["result"]
 
27
 
28
  MODEL_NAME = "gpt-4"
29
 
30
+ VECTOR_DB = None
31
+ QA_CHAIN = None
32
+
33
  def invoke(openai_api_key, youtube_url, process_video, prompt):
34
  openai.api_key = openai_api_key
35
  if (process_video):
 
38
  docs = loader.load()
39
  text_splitter = RecursiveCharacterTextSplitter(chunk_size = 1500, chunk_overlap = 150)
40
  splits = text_splitter.split_documents(docs)
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
  else:
45
  print(222)
46
+ result = QA_CHAIN({"query": prompt})
47
  shutil.rmtree(YOUTUBE_DIR)
48
  #shutil.rmtree(CHROMA_DIR)
49
  return result["result"]