geqintan commited on
Commit
834312a
·
1 Parent(s): a46165a
__pycache__/app.cpython-312.pyc CHANGED
Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ
 
app.py CHANGED
@@ -24,7 +24,7 @@ class MainAgent:
24
  description='A helpful assistant agent.'
25
  )
26
 
27
- def process_query(self, query: str):
28
  # Process the query using the agent
29
  # Wrap the query into the expected messages format for qwen-agent
30
  messages = [{'role': 'user', 'content': query}]
@@ -36,10 +36,10 @@ class MainAgent:
36
  if isinstance(response_item, list):
37
  for chunk in response_item:
38
  if isinstance(chunk, dict) and 'content' in chunk:
39
- # 每次都更新为最新的完整内容
40
  final_response_content = chunk['content']
41
  elif isinstance(response_item, dict) and 'content' in response_item:
42
- # 每次都更新为最新的完整内容
43
  final_response_content = response_item['content']
44
  # 暂时不处理其他类型的 response_item,例如 tool_calls,因为当前目标是获取文本响应
45
  return final_response_content # 返回最终的完整内容
 
24
  description='A helpful assistant agent.'
25
  )
26
 
27
+ def process_query(self, query: str): # 更改回 def
28
  # Process the query using the agent
29
  # Wrap the query into the expected messages format for qwen-agent
30
  messages = [{'role': 'user', 'content': query}]
 
36
  if isinstance(response_item, list):
37
  for chunk in response_item:
38
  if isinstance(chunk, dict) and 'content' in chunk:
39
+ # 每次都累加内容
40
  final_response_content = chunk['content']
41
  elif isinstance(response_item, dict) and 'content' in response_item:
42
+ # 每次都累加内容
43
  final_response_content = response_item['content']
44
  # 暂时不处理其他类型的 response_item,例如 tool_calls,因为当前目标是获取文本响应
45
  return final_response_content # 返回最终的完整内容
docs/项目需求.md CHANGED
@@ -24,6 +24,7 @@
24
  ### 目标
25
  * 在 FastAPI 应用中集成 `qwen-agent` 库。
26
  * 定义并实例化一个 `MainAgent` 类,用于封装 `qwen-agent` 的核心逻辑。
 
27
 
28
  ### 具体实现
29
  1. **更新 `requirements.txt` 文件**:
@@ -32,9 +33,12 @@
32
  fastapi
33
  uvicorn
34
  qwen-agent
 
35
  ```
36
  2. **在 `app.py` 中定义和实例化 `MainAgent` 类**:
37
  * 在 `app.py` 文件中,定义一个名为 `MainAgent` 的 Python 类。
38
  * 该类应包含处理 `qwen-agent` 相关逻辑的方法。
39
  * 在 `app.py` 中实例化 `MainAgent` 类。
40
- * 考虑如何将 `MainAgent` 的功能暴露给 FastAPI 路由,例如,可以添加一个新的 POST 路由(例如 `/agent_chat`),接收用户输入,然后调用 `MainAgent` 的方法进行处理并返回结果。
 
 
 
24
  ### 目标
25
  * 在 FastAPI 应用中集成 `qwen-agent` 库。
26
  * 定义并实例化一个 `MainAgent` 类,用于封装 `qwen-agent` 的核心逻辑。
27
+ * 实现非流式输出,即等待所有内容生成完毕后一次性返回。
28
 
29
  ### 具体实现
30
  1. **更新 `requirements.txt` 文件**:
 
33
  fastapi
34
  uvicorn
35
  qwen-agent
36
+ python-dotenv
37
  ```
38
  2. **在 `app.py` 中定义和实例化 `MainAgent` 类**:
39
  * 在 `app.py` 文件中,定义一个名为 `MainAgent` 的 Python 类。
40
  * 该类应包含处理 `qwen-agent` 相关逻辑的方法。
41
  * 在 `app.py` 中实例化 `MainAgent` 类。
42
+ * 添加一个新的 POST 路由(例如 `/agent_chat`),接收用户输入,然后调用 `MainAgent` 的方法进行处理并返回结果。
43
+ * `MainAgent` 的 `process_query` 方法应确保将 `qwen-agent` 的分块输出累加,并在所有内容生成完毕后,一次性返回完整的响应内容,而不是流式返回。
44
+ * 确保 `API_KEY` 从 `.env` 文件中加载。