Completely refactor the LLM integration method to easily replace the LLM used by each module and optimize the retransmission mechanism.
This commit is contained in:
@@ -28,10 +28,9 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
from InsightEngine import DeepSearchAgent, Config
|
||||
from config import (
|
||||
DEEPSEEK_API_KEY,
|
||||
DEEPSEEK_BASE_URL,
|
||||
KIMI_API_KEY,
|
||||
KIMI_BASE_URL,
|
||||
INSIGHT_ENGINE_API_KEY,
|
||||
INSIGHT_ENGINE_BASE_URL,
|
||||
INSIGHT_ENGINE_MODEL_NAME,
|
||||
DB_HOST,
|
||||
DB_USER,
|
||||
DB_PASSWORD,
|
||||
@@ -67,8 +66,7 @@ def main():
|
||||
|
||||
# ----- 配置被硬编码 -----
|
||||
# 强制使用 Kimi
|
||||
llm_provider = "kimi"
|
||||
model_name = "kimi-k2-0711-preview"
|
||||
model_name = INSIGHT_ENGINE_MODEL_NAME or "kimi-k2-0711-preview"
|
||||
# 默认高级配置
|
||||
max_reflections = 2
|
||||
max_content_length = 500000 # Kimi支持长文本
|
||||
@@ -104,9 +102,9 @@ def main():
|
||||
st.error("请输入研究查询")
|
||||
return
|
||||
|
||||
# 由于强制使用Kimi,只检查KIMI_API_KEY
|
||||
if not KIMI_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置KIMI_API_KEY")
|
||||
# 检查配置中的LLM密钥
|
||||
if not INSIGHT_ENGINE_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置INSIGHT_ENGINE_API_KEY")
|
||||
return
|
||||
|
||||
# 自动使用配置文件中的API密钥和数据库配置
|
||||
@@ -119,21 +117,15 @@ def main():
|
||||
|
||||
# 创建配置
|
||||
config = Config(
|
||||
deepseek_api_key=None,
|
||||
openai_api_key=None,
|
||||
kimi_api_key=KIMI_API_KEY, # 强制使用配置文件中的Kimi Key
|
||||
deepseek_base_url=DEEPSEEK_BASE_URL,
|
||||
kimi_base_url=KIMI_BASE_URL,
|
||||
llm_api_key=INSIGHT_ENGINE_API_KEY,
|
||||
llm_base_url=INSIGHT_ENGINE_BASE_URL,
|
||||
llm_model_name=model_name,
|
||||
db_host=db_host,
|
||||
db_user=db_user,
|
||||
db_password=db_password,
|
||||
db_name=db_name,
|
||||
db_port=db_port,
|
||||
db_charset=db_charset,
|
||||
default_llm_provider=llm_provider,
|
||||
deepseek_model="deepseek-chat", # 保留默认值以兼容
|
||||
openai_model="gpt-4o-mini", # 保留默认值以兼容
|
||||
kimi_model=model_name,
|
||||
max_reflections=max_reflections,
|
||||
max_content_length=max_content_length,
|
||||
output_dir="insight_engine_streamlit_reports"
|
||||
|
||||
@@ -28,11 +28,10 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
from MediaEngine import DeepSearchAgent, Config
|
||||
from config import (
|
||||
DEEPSEEK_API_KEY,
|
||||
DEEPSEEK_BASE_URL,
|
||||
BOCHA_Web_Search_API_KEY,
|
||||
GEMINI_API_KEY,
|
||||
GEMINI_BASE_URL,
|
||||
MEDIA_ENGINE_API_KEY,
|
||||
MEDIA_ENGINE_BASE_URL,
|
||||
MEDIA_ENGINE_MODEL_NAME,
|
||||
BOCHA_WEB_SEARCH_API_KEY,
|
||||
)
|
||||
|
||||
|
||||
@@ -63,8 +62,7 @@ def main():
|
||||
|
||||
# ----- 配置被硬编码 -----
|
||||
# 强制使用 Gemini
|
||||
llm_provider = "gemini"
|
||||
model_name = "gemini-2.5-pro"
|
||||
model_name = MEDIA_ENGINE_MODEL_NAME or "gemini-2.5-pro"
|
||||
# 默认高级配置
|
||||
max_reflections = 2
|
||||
max_content_length = 20000
|
||||
@@ -101,29 +99,23 @@ def main():
|
||||
return
|
||||
|
||||
# 由于强制使用Gemini,检查相关的API密钥
|
||||
if not GEMINI_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置GEMINI_API_KEY")
|
||||
if not MEDIA_ENGINE_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置MEDIA_ENGINE_API_KEY")
|
||||
return
|
||||
if not BOCHA_Web_Search_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置BOCHA_Web_Search_API_KEY")
|
||||
if not BOCHA_WEB_SEARCH_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置BOCHA_WEB_SEARCH_API_KEY")
|
||||
return
|
||||
|
||||
# 自动使用配置文件中的API密钥
|
||||
gemini_key = GEMINI_API_KEY
|
||||
bocha_key = BOCHA_Web_Search_API_KEY
|
||||
engine_key = MEDIA_ENGINE_API_KEY
|
||||
bocha_key = BOCHA_WEB_SEARCH_API_KEY
|
||||
|
||||
# 创建配置
|
||||
config = Config(
|
||||
deepseek_api_key=None,
|
||||
openai_api_key=None,
|
||||
gemini_api_key=gemini_key,
|
||||
llm_api_key=engine_key,
|
||||
llm_base_url=MEDIA_ENGINE_BASE_URL,
|
||||
llm_model_name=model_name,
|
||||
bocha_api_key=bocha_key,
|
||||
deepseek_base_url=DEEPSEEK_BASE_URL,
|
||||
gemini_base_url=GEMINI_BASE_URL,
|
||||
default_llm_provider=llm_provider,
|
||||
deepseek_model="deepseek-chat", # 保留默认值以兼容
|
||||
openai_model="gpt-4o-mini", # 保留默认值以兼容
|
||||
gemini_model=model_name,
|
||||
max_reflections=max_reflections,
|
||||
max_content_length=max_content_length,
|
||||
output_dir="media_engine_streamlit_reports"
|
||||
|
||||
@@ -27,7 +27,7 @@ except locale.Error:
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
from QueryEngine import DeepSearchAgent, Config
|
||||
from config import DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL, TAVILY_API_KEY
|
||||
from config import QUERY_ENGINE_API_KEY, QUERY_ENGINE_BASE_URL, QUERY_ENGINE_MODEL_NAME, TAVILY_API_KEY
|
||||
|
||||
|
||||
def main():
|
||||
@@ -56,8 +56,7 @@ def main():
|
||||
|
||||
# ----- 配置被硬编码 -----
|
||||
# 强制使用 DeepSeek
|
||||
llm_provider = "deepseek"
|
||||
model_name = "deepseek-chat"
|
||||
model_name = QUERY_ENGINE_MODEL_NAME or "deepseek-chat"
|
||||
# 默认高级配置
|
||||
max_reflections = 2
|
||||
max_content_length = 20000
|
||||
@@ -94,26 +93,23 @@ def main():
|
||||
return
|
||||
|
||||
# 由于强制使用DeepSeek,检查相关的API密钥
|
||||
if not DEEPSEEK_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置DEEPSEEK_API_KEY")
|
||||
if not QUERY_ENGINE_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置QUERY_ENGINE_API_KEY")
|
||||
return
|
||||
if not TAVILY_API_KEY:
|
||||
st.error("请在您的配置文件(config.py)中设置TAVILY_API_KEY")
|
||||
return
|
||||
|
||||
# 自动使用配置文件中的API密钥
|
||||
deepseek_key = DEEPSEEK_API_KEY
|
||||
engine_key = QUERY_ENGINE_API_KEY
|
||||
tavily_key = TAVILY_API_KEY
|
||||
|
||||
# 创建配置
|
||||
config = Config(
|
||||
deepseek_api_key=deepseek_key,
|
||||
openai_api_key=None,
|
||||
llm_api_key=engine_key,
|
||||
llm_base_url=QUERY_ENGINE_BASE_URL,
|
||||
llm_model_name=model_name,
|
||||
tavily_api_key=tavily_key,
|
||||
deepseek_base_url=DEEPSEEK_BASE_URL,
|
||||
default_llm_provider=llm_provider,
|
||||
deepseek_model=model_name,
|
||||
openai_model="gpt-4o-mini", # 保留默认值以兼容
|
||||
max_reflections=max_reflections,
|
||||
max_content_length=max_content_length,
|
||||
output_dir="query_engine_streamlit_reports"
|
||||
|
||||
Reference in New Issue
Block a user