Abso is a TypeScript SDK designed to simplify calls to multiple large language model (LLM) providers. Its core purpose is to provide a unified, OpenAI-format-compatible interface, allowing developers to easily call more than 100 LLM providers in a way similar to calling OpenAI.
Main capabilities:
- OpenAI-compatible API: Can serve as a direct replacement for OpenAI without major modifications to existing code.
- Supports any LLM provider: Including OpenAI, Anthropic, Groq, Ollama, and others.
- Lightweight and fast.
- Supports embeddings.
- Unified tool calling.
- Type safety: Provides complete TypeScript type support.
- Automatic provider inference: Abso will try to infer the correct provider for a given model, and also supports manual selection.
- Custom provider configuration: Built-in providers can be configured or the loaded providers can be changed by passing a configuration object or a custom providers array.
- Built-in caching.
- Integration with Lunary: Set the LUNARY_PUBLIC_KEY environment variable to get instant observability into LLM usage.
Usage: As a drop-in replacement for OpenAI, call various LLMs through a unified interface. You can manually select a provider, or let Abso infer it automatically. You can customize providers by passing a configuration object or a custom providers array to the constructor. To enable observability, first register with Lunary and obtain a public key, then set the LUNARY_PUBLIC_KEY environment variable.
Applicable scenarios:
- TypeScript projects that need to switch between or integrate multiple LLM providers.
- Developers who want to uniformly call different models in OpenAI format.
- LLM application development that requires type safety and unified tool calling.
Limitations:
- The materials mark tokenizer and cost calculation, and intelligent routing as "soon"; they are not currently provided.
- Details such as the specific list of supported providers, installation commands, and code examples are not yet fully provided in the supplied materials.