stream_chat_completion.py
· 837 B · Python
Bruto
import os
from openai import OpenAI
# 初始化 OpenAI 客戶端,設定 API 金鑰跟自定義 base URL
client = OpenAI(
api_key="sk-olPkgbB0-qQbgW5kO-ovidK4cR-WTmLAUco", # 直接寫入你的金鑰
base_url="http://192.168.88.82:4000" # 指定自定義 API 端點
)
# 發送聊天完成請求,啟用串流模式
stream = client.chat.completions.create(
model="ollama_chat/qwen3:8b-q8_0", # 指定模型
messages=[
{"role": "user", "content": "用一句話解釋量子糾纏"} # 訊息內容
],
stream=True # 啟用串流模式
)
# 逐步處理回應並即時顯示每個 chunk
for chunk in stream:
content = chunk.choices[0].delta.content or ""
if content:
print(content, end="", flush=True) # 即時印出每個片段,不換行,強制刷新緩衝
print() # 最後換行
| 1 | import os |
| 2 | from openai import OpenAI |
| 3 | |
| 4 | # 初始化 OpenAI 客戶端,設定 API 金鑰跟自定義 base URL |
| 5 | client = OpenAI( |
| 6 | api_key="sk-olPkgbB0-qQbgW5kO-ovidK4cR-WTmLAUco", # 直接寫入你的金鑰 |
| 7 | base_url="http://192.168.88.82:4000" # 指定自定義 API 端點 |
| 8 | ) |
| 9 | |
| 10 | # 發送聊天完成請求,啟用串流模式 |
| 11 | stream = client.chat.completions.create( |
| 12 | model="ollama_chat/qwen3:8b-q8_0", # 指定模型 |
| 13 | messages=[ |
| 14 | {"role": "user", "content": "用一句話解釋量子糾纏"} # 訊息內容 |
| 15 | ], |
| 16 | stream=True # 啟用串流模式 |
| 17 | ) |
| 18 | |
| 19 | # 逐步處理回應並即時顯示每個 chunk |
| 20 | for chunk in stream: |
| 21 | content = chunk.choices[0].delta.content or "" |
| 22 | if content: |
| 23 | print(content, end="", flush=True) # 即時印出每個片段,不換行,強制刷新緩衝 |
| 24 | |
| 25 | print() # 最後換行 |