
LiteLLM 批量文本提取与分析完整指南100 模型一个接口跑完【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm几百份合同要提取关键字段、上万条用户反馈要做摘要这类活儿一上手就露出三个烦心事要对接好几家 LLM 供应商每家 SDK 的鉴权和请求格式都不一样长文档塞不进模型的上下文窗口账单跑完才发现烧了多少 token。LiteLLM 就是为这类场景准备的开源 AI 网关用一个接口调用 100 家 LLM API内置成本追踪、负载均衡和日志本地 PDF、扫描件、批量任务都能直接喂给它。快速上手5 分钟跑通第一次文本分析调用先装 SDK再设好对应供应商的 API Key然后发一次最小调用import os from litellm import completion os.environ[OPENAI_API_KEY] sk-... resp completion( modelopenai/gpt-4o-mini, messages[{role: user, content: 用一句话总结……}], ) print(resp.choices[0].message.content)注意model里带openai/前缀的写法以后想切到 Anthropic、Bedrock只需换这一行模型名调用方代码不用动。这就是统一接口的实际含义——一套completion()函数背后接 100 家供应商。典型场景实战长文档怎么喂给模型提取 分块问题一份 50 页 PDF 直接丢给模型上下文窗口先撑不住。做法先用 litellm/rag/ingestion/ 里的解析器抽出纯文本再用RecursiveCharacterTextSplitter切成模型吃得下的块逐块让 LLM 提取信息后合并from litellm.rag.ingestion.file_parsers.pdf_parser import extract_text_from_pdf from litellm.rag.text_splitters import RecursiveCharacterTextSplitter text extract_text_from_pdf(open(doc.pdf, rb).read()) chunks RecursiveCharacterTextSplitter().split_text(text) for chunk in chunks: info completion(modelopenai/gpt-4o-mini, messages[{role: user, content: f提取关键条款{chunk}}])效果每块独立调用、结果可合并失败重跑单块即可分块器按段落和换行符递归切分不会把句子拦腰砍断。扫描件和图片里的文字怎么取出来问题扫描版 PDF 和照片里没有可复制的文本层extract_text()拿回来的基本是空白。做法走 OCR 接口Mistral OCR、Azure 文档智能等都能用同一个函数调用import litellm resp litellm.ocr( modelmistral/mistral-ocr-latest, document{type: file, file: scan.pdf}, )注意点本地文件直接传路径OCR 成本比纯文本高合同、报告这类必须处理的再开别对全文档库无差别调用。几千份文档批处理别一条一条发问题上千个请求逐个同步发耗时和请求开销都顶不住。做法用批量 API 一次提交任务列表完成后统一拉结果LiteLLM 自动算出整批的 token 用量与成本。代理侧的审计日志把每笔花费留档跑完批处理账单一目了然生产级部署与调优问题高峰期响应变慢部署 litellm/proxy/ 的代理层做负载均衡一个入口后挂多家供应商的端点请求自动分流单家限流或故障时回退到其他模型文本管道不中断。官方基准在 1k RPS 下 P95 延迟 8ms代理层本身不构成瓶颈。问题花了多少钱、哪条请求最贵接入 Langfuse 后每次调用的耗时、token 数和成本都能按请求维度查看改 prompt、换模型的效果一眼可见不用翻日志猜。问题成本怎么压下来三件事模型分级短文本摘要走便宜模型、复杂提取才用旗舰开启语义缓存重复查询直接命中给每个虚拟 Key 设预算上限和告警超了自动拦。常见坑与规避模型名写死在业务代码里——换供应商要改几百行。统一走代理 虚拟 Key模型名只在网关配置里出现一次。扫描件直接文本提取拿到一堆空字符串——判断文本层为空就切 OCR 通道不要默认所有 PDF 都能extract_text()。批量任务没配超时和回退一家供应商挂了全批卡死——给每个端点配timeout与 fallbacks 列表失败自动换道。分块按固定字符数硬切句子断在两半——用递归分块器按分隔符智能切比text[i:i3000]的效果稳得多。写在最后把文本交给 LLM 之前最难的不是调模型而是把提取、分块、批量、容错、成本这几件事理顺。LiteLLM 用统一接口和内置追踪把它们打包好了值得直接站在它上面搭管道而不是自己造轮子。官方文档docs/文本解析核心源码litellm/rag/ingestion/批量任务实现litellm/batches/【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考