用途:该资料是 LiteLLM-RS 的流式架构指南,说明如何统一处理来自 66+ 家提供商的 Server-Sent Events(SSE)流,并在保持各提供商差异转换的同时,输出一致的 OpenAI 兼容格式。
主要能力:核心组件包括 UnifiedSSEParser、SSETransformer trait 与各提供商专用转换器。UnifiedSSEParser 使用 VecDeque 缓冲、按行解析 SSE、检测事件类型,并设置最大缓冲(1MB)防止内存问题;提供 feed、extract_events、reset 等方法。SSETransformer trait 定义 transform、is_done、provider_name、handle_error,将原始 SSE 数据规范化为 ChatChunk,并定义 StreamError 的 Parse、Interrupted、ProviderError 三类错误。资料给出 OpenAI、Anthropic、Google Gemini 的转换示例:OpenAI 处理 [DONE] 标记并反序列化 chunk;Anthropic 按 message_start、content_block_delta、message_stop、message_delta、error 等事件类型转换,并映射 stop_reason 与 usage;Gemini 从 candidates[0].content.parts[0].text 提取文本并映射 finishReason。
使用方式:资料未提供安装命令或调用步骤,仅展示 Rust 代码结构与类型定义。
适用场景:适合需要为多提供商 LLM 网关实现统一流式输出、错误处理与格式规范化的 Rust 开发者参考。
限制:资料未说明支持的提供商完整列表、性能数据、收费或部署要求;部分内容(如 Gemini 转换器结尾)在给定资料中不完整。