SuperAPI AI Directory

abso

TypeScript SDK to easily call 100+ LLMs using OpenAI's format

Open website

About this tool

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.