增加了流失输出调用的文档
This commit is contained in:
parent
6bcdaf589a
commit
9457a665c8
27
README.md
27
README.md
@ -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(...)` 方法,它会内部处理好拼接并直接返回结果字符串。
|
||||
Loading…
x
Reference in New Issue
Block a user