update
Browse files- __pycache__/app.cpython-312.pyc +0 -0
- app.py +3 -3
- docs/项目需求.md +5 -1
__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 |
-
*
|
|
|
|
|
|
|
|
|
| 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` 文件中加载。
|