Refactor and enhance OCR and API functionalities
- Removed obsolete unit tests for TTS/ASR module. - Deleted unused sample video file. - Introduced OCRImageWrapper component for better OCR image handling with loading, success, and failure states. - Updated copilot plugin to improve transaction handling and added new types for better type safety. - Enhanced web search block plugin to support streaming content updates. - Refactored API utility functions for better error handling and consistency across requests. - Added new configuration for OCR API endpoint. - Consolidated SSE event parsing into a shared utility. - Created string utility functions to reduce code duplication. - Removed outdated test documents related to compression functionality.
This commit is contained in:
+15
-3
@@ -639,7 +639,12 @@ async def web_search_handler(
|
||||
f"原始上下文:\n{context}\n\n"
|
||||
f"抓取内容:\n{crawled_text}"
|
||||
)
|
||||
synthesis_result = await call_ollama(
|
||||
|
||||
# 流式合成 — 逐 delta emit,前端可实时渲染
|
||||
from llm import stream_ollama_events
|
||||
|
||||
accumulated: list[str] = []
|
||||
async for event_type, text in stream_ollama_events(
|
||||
synthesis_prompt,
|
||||
system_prompt="Return only the final markdown body with no title and no citations list.",
|
||||
tag=f'{payload["request_id"][:8]}-webf',
|
||||
@@ -647,8 +652,15 @@ async def web_search_handler(
|
||||
thinking=policy.get("thinking"),
|
||||
model=policy.get("model"),
|
||||
max_output_tokens=int(policy.get("max_output_tokens", 0) or 0),
|
||||
)
|
||||
content = _normalize_multiline_text(synthesis_result.get("content") or "")
|
||||
):
|
||||
if is_cancelled():
|
||||
raise asyncio.CancelledError()
|
||||
# 只推送 content delta,不展示 thinking
|
||||
if event_type == "content":
|
||||
accumulated.append(text)
|
||||
await emit("delta", {"text": text})
|
||||
|
||||
content = _normalize_multiline_text("".join(accumulated))
|
||||
if not content:
|
||||
raise RuntimeError("联网搜索生成了空结果")
|
||||
created_at = str(req.get("created_at") or payload.get("created_at") or "").strip() or datetime.now().isoformat()
|
||||
|
||||
Reference in New Issue
Block a user