增加了流失输出调用的文档

This commit is contained in:
jinye_huang 2025-04-22 16:33:57 +08:00
parent 6bcdaf589a
commit 9457a665c8

View File

@ -142,11 +142,13 @@ pip install numpy pandas opencv-python pillow openai
## API 集成 / 流式输出使用 (Streaming Usage)
为了方便将 AI 生成的内容以流式传输(例如,用于 API 端点),`AI_Agent` 类提供了一个 `work_stream` 方法。与返回完整文本的 `work` 方法不同,`work_stream` 返回一个 Python 生成器 (generator)
`AI_Agent` 类提供了 `work_stream` 方法,用于获取 AI 生成内容的流式输出。该方法返回一个 Python 生成器 (generator),你可以迭代它来逐块获取 AI 生成的文本
你可以迭代这个生成器来逐块获取 AI 生成的文本。
**同时处理流式块并获取完整结果:**
**基本用法示例:**
如果你既需要实时处理(或传输)每个文本块,又想在流结束后得到完整的拼接结果,可以在迭代生成器的同时进行拼接。
**用法示例:**
```python
import os
@ -197,12 +199,21 @@ try:
presence_penalty
)
# 5. 迭代生成器获取文本块
# 5. 迭代生成器,处理块并拼接完整结果
print("Streaming response:")
full_response = "" # 初始化空字符串用于拼接
for chunk in stream_generator:
print(chunk, end="", flush=True) # 处理文本块,例如发送给客户端
# 处理实时块,例如打印或发送给客户端
print(chunk, end="", flush=True)
# 拼接完整结果
full_response += chunk
print("\\nStream finished.")
print("\\n--- Stream finished ---")
# 6. 使用拼接好的完整结果
print("\\n--- Reconstructed Full Response ---")
print(full_response)
# 你可以在这里对 full_response 进行进一步处理
except Exception as e:
print(f"An error occurred: {e}")
@ -212,4 +223,6 @@ finally:
```
这个返回的 `stream_generator` 可以很容易地集成到 Web 框架(如 Flask、FastAPI的流式响应 (StreamingResponse) 中,以实现向客户端的实时流式输出。参考 `examples/test_stream.py` 获取可运行的示例。
这个模式允许你灵活地利用流式输出,同时在需要时也能访问到最终的完整文本。参考 `examples/test_stream.py` 获取可运行的示例(该示例也包含了拼接逻辑,只是默认注释了最后的打印)。
**注意:** 如果你只需要最终的完整结果而不需要流式处理,可以直接调用 `ai_agent.work(...)` 方法,它会内部处理好拼接并直接返回结果字符串。