03_ollama_stream_chat.py 822 B

123456789101112131415161718192021222324252627282930313233
  1. from pathlib import Path
  2. import sys
  3. sys.path.append(str(Path(__file__).resolve().parents[1]))
  4. from _chapter2_config import env_value, print_dependency_hint
  5. try:
  6. import ollama
  7. except ModuleNotFoundError as exc:
  8. print_dependency_hint(exc)
  9. raise SystemExit(1)
  10. def main() -> None:
  11. client = ollama.Client(host=env_value("OLLAMA_BASE_URL", default="http://127.0.0.1:11434"))
  12. stream = client.chat(
  13. model=env_value("OLLAMA_MODEL", default="qwen2.5:7b"),
  14. messages=[{"role": "user", "content": "为什么天空是蓝色的?"}],
  15. stream=True,
  16. )
  17. for chunk in stream:
  18. print(chunk["message"]["content"], end="", flush=True)
  19. print()
  20. if __name__ == "__main__":
  21. try:
  22. main()
  23. except Exception as exc:
  24. print(f"Ollama流式调用失败: {exc}")