Abso 是一个 TypeScript SDK,旨在简化对多种大型语言模型(LLM)提供商的调用。其核心用途是提供一个统一的、与 OpenAI 格式兼容的接口,让开发者能够以类似调用 OpenAI 的方式,轻松调用 100 多个 LLM 提供商。
主要能力:
- OpenAI 兼容 API:可作为 OpenAI 的直接替代品,无需大幅修改现有代码。
- 支持任意 LLM 提供商:包括 OpenAI、Anthropic、Groq、Ollama 等。
- 轻量且快速。
- 支持嵌入(Embeddings)。
- 统一的工具调用(Tool Calling)。
- 类型安全:提供完整的 TypeScript 类型支持。
- 提供商自动推断:Abso 会尝试为给定模型推断正确的提供商,也支持手动选择。
- 自定义提供商配置:可以通过传递配置对象或自定义 providers 数组来配置内置提供商或更改加载的提供商。
- 内置缓存。
- 与 Lunary 集成:设置 LUNARY_PUBLIC_KEY 环境变量即可获得对 LLM 使用情况的即时可观测性。
使用方式: 作为 OpenAI 的 drop-in 替代品,通过统一的接口调用各种 LLM。可以手动选择提供商,或让 Abso 自动推断。可以通过构造函数传入配置对象或自定义 providers 数组来定制提供商。若要启用可观测性,需先在 Lunary 注册并获取 public key,然后设置环境变量 LUNARY_PUBLIC_KEY。
适用场景:
- 需要在多个 LLM 提供商之间切换或集成的 TypeScript 项目。
- 希望以 OpenAI 格式统一调用不同模型的开发者。
- 需要类型安全和统一工具调用的 LLM 应用开发。
限制:
- 资料中标注分词器(Tokenizer)和成本计算、智能路由为“即将推出”(soon),目前暂未提供。
- 具体支持的提供商列表、安装命令、代码示例等细节在提供的资料中暂未完整提供。