| 
                        12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
                        - import os
 - from typing import Optional
 - 
 - import langchain
 - from flask import Flask
 - from jieba.analyse import default_tfidf
 - from langchain import set_handler
 - from langchain.prompts.base import DEFAULT_FORMATTER_MAPPING
 - from llama_index import IndexStructType, QueryMode
 - from llama_index.indices.registry import INDEX_STRUT_TYPE_TO_QUERY_MAP
 - from pydantic import BaseModel
 - 
 - from core.callback_handler.std_out_callback_handler import DifyStdOutCallbackHandler
 - from core.index.keyword_table.jieba_keyword_table import GPTJIEBAKeywordTableIndex
 - from core.index.keyword_table.stopwords import STOPWORDS
 - from core.prompt.prompt_template import OneLineFormatter
 - from core.vector_store.vector_store import VectorStore
 - from core.vector_store.vector_store_index_query import EnhanceGPTVectorStoreIndexQuery
 - 
 - 
 - class HostedOpenAICredential(BaseModel):
 -     api_key: str
 - 
 - 
 - class HostedLLMCredentials(BaseModel):
 -     openai: Optional[HostedOpenAICredential] = None
 - 
 - 
 - hosted_llm_credentials = HostedLLMCredentials()
 - 
 - 
 - def init_app(app: Flask):
 -     formatter = OneLineFormatter()
 -     DEFAULT_FORMATTER_MAPPING['f-string'] = formatter.format
 -     INDEX_STRUT_TYPE_TO_QUERY_MAP[IndexStructType.KEYWORD_TABLE] = GPTJIEBAKeywordTableIndex.get_query_map()
 -     INDEX_STRUT_TYPE_TO_QUERY_MAP[IndexStructType.WEAVIATE] = {
 -         QueryMode.DEFAULT: EnhanceGPTVectorStoreIndexQuery,
 -         QueryMode.EMBEDDING: EnhanceGPTVectorStoreIndexQuery,
 -     }
 -     INDEX_STRUT_TYPE_TO_QUERY_MAP[IndexStructType.QDRANT] = {
 -         QueryMode.DEFAULT: EnhanceGPTVectorStoreIndexQuery,
 -         QueryMode.EMBEDDING: EnhanceGPTVectorStoreIndexQuery,
 -     }
 - 
 -     default_tfidf.stop_words = STOPWORDS
 - 
 -     if os.environ.get("DEBUG") and os.environ.get("DEBUG").lower() == 'true':
 -         langchain.verbose = True
 -         set_handler(DifyStdOutCallbackHandler())
 - 
 -     if app.config.get("OPENAI_API_KEY"):
 -         hosted_llm_credentials.openai = HostedOpenAICredential(api_key=app.config.get("OPENAI_API_KEY"))
 
 
  |