Showing
1 changed file
with
19 additions
and
7 deletions
| @@ -101,10 +101,6 @@ def main(): | @@ -101,10 +101,6 @@ def main(): | ||
| 101 | st.error("请在您的环境变量中设置MEDIA_ENGINE_API_KEY") | 101 | st.error("请在您的环境变量中设置MEDIA_ENGINE_API_KEY") |
| 102 | logger.error("请在您的环境变量中设置MEDIA_ENGINE_API_KEY") | 102 | logger.error("请在您的环境变量中设置MEDIA_ENGINE_API_KEY") |
| 103 | return | 103 | return |
| 104 | - if (not settings.BOCHA_WEB_SEARCH_API_KEY) and (not settings.ANSPIRE_API_KEY): | ||
| 105 | - st.error("请在您的环境变量中设置BOCHA_WEB_SEARCH_API_KEY或ANSPIRE_API_KEY") | ||
| 106 | - logger.error("请在您的环境变量中设置BOCHA_WEB_SEARCH_API_KEY或ANSPIRE_API_KEY") | ||
| 107 | - return | ||
| 108 | 104 | ||
| 109 | # 自动使用配置文件中的API密钥 | 105 | # 自动使用配置文件中的API密钥 |
| 110 | engine_key = settings.MEDIA_ENGINE_API_KEY | 106 | engine_key = settings.MEDIA_ENGINE_API_KEY |
| @@ -112,28 +108,42 @@ def main(): | @@ -112,28 +108,42 @@ def main(): | ||
| 112 | ansire_key = settings.ANSPIRE_API_KEY | 108 | ansire_key = settings.ANSPIRE_API_KEY |
| 113 | 109 | ||
| 114 | # 构建 Settings(pydantic_settings风格,优先大写环境变量) | 110 | # 构建 Settings(pydantic_settings风格,优先大写环境变量) |
| 115 | - if bocha_key: | 111 | + if settings.SEARCH_TOOL_TYPE == "BochaAPI": |
| 112 | + if not bocha_key: | ||
| 113 | + st.error("请在您的环境变量中设置BOCHA_WEB_SEARCH_API_KEY") | ||
| 114 | + logger.error("请在您的环境变量中设置BOCHA_WEB_SEARCH_API_KEY") | ||
| 115 | + return | ||
| 116 | logger.info("使用Bocha搜索API密钥") | 116 | logger.info("使用Bocha搜索API密钥") |
| 117 | config = Settings( | 117 | config = Settings( |
| 118 | MEDIA_ENGINE_API_KEY=engine_key, | 118 | MEDIA_ENGINE_API_KEY=engine_key, |
| 119 | MEDIA_ENGINE_BASE_URL=settings.MEDIA_ENGINE_BASE_URL, | 119 | MEDIA_ENGINE_BASE_URL=settings.MEDIA_ENGINE_BASE_URL, |
| 120 | MEDIA_ENGINE_MODEL_NAME=model_name, | 120 | MEDIA_ENGINE_MODEL_NAME=model_name, |
| 121 | + SEARCH_TOOL_TYPE="BochaAPI", | ||
| 121 | BOCHA_WEB_SEARCH_API_KEY=bocha_key, | 122 | BOCHA_WEB_SEARCH_API_KEY=bocha_key, |
| 122 | MAX_REFLECTIONS=max_reflections, | 123 | MAX_REFLECTIONS=max_reflections, |
| 123 | SEARCH_CONTENT_MAX_LENGTH=max_content_length, | 124 | SEARCH_CONTENT_MAX_LENGTH=max_content_length, |
| 124 | OUTPUT_DIR="media_engine_streamlit_reports", | 125 | OUTPUT_DIR="media_engine_streamlit_reports", |
| 125 | ) | 126 | ) |
| 126 | - elif ansire_key: | 127 | + elif settings.SEARCH_TOOL_TYPE == "AnspireAPI": |
| 128 | + if not ansire_key: | ||
| 129 | + st.error("请在您的环境变量中设置ANSPIRE_API_KEY") | ||
| 130 | + logger.error("请在您的环境变量中设置ANSPIRE_API_KEY") | ||
| 131 | + return | ||
| 127 | logger.info("使用Anspire搜索API密钥") | 132 | logger.info("使用Anspire搜索API密钥") |
| 128 | config = Settings( | 133 | config = Settings( |
| 129 | MEDIA_ENGINE_API_KEY=engine_key, | 134 | MEDIA_ENGINE_API_KEY=engine_key, |
| 130 | MEDIA_ENGINE_BASE_URL=settings.MEDIA_ENGINE_BASE_URL, | 135 | MEDIA_ENGINE_BASE_URL=settings.MEDIA_ENGINE_BASE_URL, |
| 131 | MEDIA_ENGINE_MODEL_NAME=model_name, | 136 | MEDIA_ENGINE_MODEL_NAME=model_name, |
| 137 | + SEARCH_TOOL_TYPE="AnspireAPI", | ||
| 132 | ANSPIRE_API_KEY=ansire_key, | 138 | ANSPIRE_API_KEY=ansire_key, |
| 133 | MAX_REFLECTIONS=max_reflections, | 139 | MAX_REFLECTIONS=max_reflections, |
| 134 | SEARCH_CONTENT_MAX_LENGTH=max_content_length, | 140 | SEARCH_CONTENT_MAX_LENGTH=max_content_length, |
| 135 | OUTPUT_DIR="media_engine_streamlit_reports", | 141 | OUTPUT_DIR="media_engine_streamlit_reports", |
| 136 | ) | 142 | ) |
| 143 | + else: | ||
| 144 | + st.error(f"未知的搜索工具类型: {settings.SEARCH_TOOL_TYPE}") | ||
| 145 | + logger.error(f"未知的搜索工具类型: {settings.SEARCH_TOOL_TYPE}") | ||
| 146 | + return | ||
| 137 | 147 | ||
| 138 | # 执行研究 | 148 | # 执行研究 |
| 139 | execute_research(query, config) | 149 | execute_research(query, config) |
| @@ -150,8 +160,10 @@ def execute_research(query: str, config: Settings): | @@ -150,8 +160,10 @@ def execute_research(query: str, config: Settings): | ||
| 150 | status_text.text("正在初始化Agent...") | 160 | status_text.text("正在初始化Agent...") |
| 151 | if config.SEARCH_TOOL_TYPE == "BochaAPI": | 161 | if config.SEARCH_TOOL_TYPE == "BochaAPI": |
| 152 | agent = DeepSearchAgent(config) | 162 | agent = DeepSearchAgent(config) |
| 153 | - else: | 163 | + elif config.SEARCH_TOOL_TYPE == "AnspireAPI": |
| 154 | agent = AnspireSearchAgent(config) | 164 | agent = AnspireSearchAgent(config) |
| 165 | + else: | ||
| 166 | + raise ValueError(f"未知的搜索工具类型: {config.SEARCH_TOOL_TYPE}") | ||
| 155 | st.session_state.agent = agent | 167 | st.session_state.agent = agent |
| 156 | 168 | ||
| 157 | progress_bar.progress(10) | 169 | progress_bar.progress(10) |
-
Please register or login to post a comment