chat_service.py 639 B

123456789101112131415161718192021
  1. """
  2. AI 对话助手服务层 — 协调者 Agent NDJSON 事件迭代(实现方案约定)
  3. """
  4. from typing import Any, Iterator, List
  5. def iter_chat_stream_events(
  6. message: str,
  7. stock_code: str = "",
  8. stock_name: str = "",
  9. history: List[Any] | None = None,
  10. ) -> Iterator[dict]:
  11. """产出与 POST /api/v1/chat/stream 一致的 NDJSON 事件字典。"""
  12. from agents.agent_system import get_agent_system
  13. asys = get_agent_system()
  14. text = message
  15. if (stock_code or stock_name).strip():
  16. text = f"[股票: {stock_name}({stock_code})] {message}"
  17. yield from asys.chat_stream(text, history or [])