diff --git a/components/icons/providers/index.ts b/components/icons/providers/index.ts index e287de290..3dfec69cd 100644 --- a/components/icons/providers/index.ts +++ b/components/icons/providers/index.ts @@ -50,3 +50,4 @@ export { default as VLLMIcon } from './vllm' export { default as VultrIcon } from './vultr' export { default as WolframIcon } from './wolfram' export { default as XAIIcon } from './xai' +export { default as ZeroLimitAIIcon } from './zerolimitai' diff --git a/components/icons/providers/zerolimitai.tsx b/components/icons/providers/zerolimitai.tsx new file mode 100644 index 000000000..d46578aee --- /dev/null +++ b/components/icons/providers/zerolimitai.tsx @@ -0,0 +1,25 @@ +import React from 'react' + +// Monochrome mark from https://www.zerolimitai.com (the "Z" route between two nodes) +export default function ZeroLimitAIIcon({ className, ...props }: React.SVGProps) { + return ( + + ) +} diff --git a/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json b/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json index c46fe3dfd..b8a43d3b6 100644 --- a/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json +++ b/content/docs/configuration/librechat_yaml/ai_endpoints/meta.json @@ -29,6 +29,7 @@ "truefoundry", "vllm", "vultrcloudinference", - "xai" + "xai", + "zerolimitai" ] } diff --git a/content/docs/configuration/librechat_yaml/ai_endpoints/zerolimitai.mdx b/content/docs/configuration/librechat_yaml/ai_endpoints/zerolimitai.mdx new file mode 100644 index 000000000..02b01fdc8 --- /dev/null +++ b/content/docs/configuration/librechat_yaml/ai_endpoints/zerolimitai.mdx @@ -0,0 +1,38 @@ +--- +title: ZeroLimitAI +icon: ZeroLimitAI +description: Configure ZeroLimitAI as a custom endpoint in LibreChat. +--- + +ZeroLimitAI is an OpenAI-compatible endpoint that routes each request to the best free model available at that moment, with automatic failover when a model is rate-limited or down. + +## Get an API key + +Create a key on the [ZeroLimitAI developer page](https://www.zerolimitai.com/developer). Add it to your `.env` file: + +```bash filename=".env" +ZEROLIMITAI_API_KEY=your-api-key +``` + +## Configuration + +Add the endpoint under `endpoints.custom` in your `librechat.yaml`: + +```yaml filename="librechat.yaml" + - name: "ZeroLimitAI" + apiKey: "${ZEROLIMITAI_API_KEY}" + baseURL: "https://www.zerolimitai.com/api/v1" + models: + default: ["auto"] + fetch: true + titleConvo: true + titleModel: "auto" + modelDisplayLabel: "ZeroLimitAI" +``` + +## Notes + +- `auto` lets the router choose the model for each request; the `model` field of the response names the model that answered. The live ranking is on the [leaderboard](https://www.zerolimitai.com/leaderboard). +- With `fetch: true`, LibreChat lists the models currently in the ranking (`GET /v1/models`). The free catalogue changes over time, so `auto` is the stable choice. +- Streaming and tool calls are supported; embeddings and image inputs are not. +- A new key works for 7 days with 100 requests a day; after that the account needs a paid plan. See the [API reference](https://www.zerolimitai.com/docs/api) for limits and error codes. diff --git a/lib/icons.tsx b/lib/icons.tsx index 047336d10..3cb7bdfba 100644 --- a/lib/icons.tsx +++ b/lib/icons.tsx @@ -52,6 +52,7 @@ import { VultrIcon, WolframIcon, XAIIcon, + ZeroLimitAIIcon, } from '../components/icons/providers' import { Rocket, @@ -288,6 +289,7 @@ const icons: Record = { Vultr: , Wolfram: , XAI: , + ZeroLimitAI: , } export function resolveIcon(icon: string | undefined): ReactElement | undefined {