Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions core/llm/autodetect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ const PROVIDER_HANDLES_TEMPLATING: string[] = [
"nous",
"zAI",
"tensorix",
"inferenceapis",
// TODO add these, change to inverted logic so only the ones that need templating are hardcoded
// Asksage.ts
// Azure.ts
Expand Down Expand Up @@ -133,6 +134,7 @@ const PROVIDER_SUPPORTS_IMAGES: string[] = [
"watsonx",
"zAI",
"tensorix",
"inferenceapis",
];

const MODEL_SUPPORTS_IMAGES: RegExp[] = [
Expand Down Expand Up @@ -253,6 +255,7 @@ const PARALLEL_PROVIDERS: string[] = [
"scaleway",
"minimax",
"tensorix",
"inferenceapis",
];

function llmCanGenerateInParallel(provider: string, model: string): boolean {
Expand Down
14 changes: 14 additions & 0 deletions core/llm/llms/InferenceAPIs.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import OpenAI from "./OpenAI.js";

import type { LLMOptions } from "../../index.js";

class InferenceAPIs extends OpenAI {
static providerName = "inferenceapis";
static defaultOptions: Partial<LLMOptions> = {
apiBase: "https://api.inferenceapis.com/v1/",
model: "zai-org/GLM-5.3",
useLegacyCompletionsEndpoint: false,
};
}

export default InferenceAPIs;
2 changes: 2 additions & 0 deletions core/llm/llms/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import HuggingFaceInferenceAPI from "./HuggingFaceInferenceAPI";
import HuggingFaceTEIEmbeddingsProvider from "./HuggingFaceTEI";
import HuggingFaceTGI from "./HuggingFaceTGI";
import Inception from "./Inception";
import InferenceAPIs from "./InferenceAPIs";
import Kindo from "./Kindo";
import LlamaCpp from "./LlamaCpp";
import Llamafile from "./Llamafile";
Expand Down Expand Up @@ -125,6 +126,7 @@ export const LLMClasses = [
xAI,
SiliconFlow,
Tensorix,
InferenceAPIs,
Scaleway,
Relace,
Inception,
Expand Down
126 changes: 126 additions & 0 deletions docs/customize/model-providers/more/inferenceapis.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
title: "Inference APIs"
description: "Configure Inference APIs with Continue to access DeepSeek, GLM, Kimi, MiniMax, GPT-OSS, and Qwen3-VL models through a single OpenAI-compatible API"
---

[Inference APIs](https://inferenceapis.com) hosts open-weight models (DeepSeek V4, GLM 5.3, Kimi K2.7, MiniMax M3, GPT-OSS, Qwen3-VL) in the United States with zero data retention, billed per token with no subscription.

<Info>
You can get an API key from
[inferenceapis.com/api-keys](https://inferenceapis.com/api-keys).
</Info>

## Chat Model

We recommend configuring **zai-org/GLM-5.3** as your chat model.

<Tabs>
<Tab title="YAML">
```yaml title="config.yaml"
name: My Config
version: 0.0.1
schema: v1

models:
- name: GLM 5.3
provider: inferenceapis
model: zai-org/GLM-5.3
apiKey: <YOUR_INFERENCEAPIS_API_KEY>
roles:
- chat
```
</Tab>
<Tab title="JSON">
```json title="config.json"
{
"models": [
{
"title": "GLM 5.3",
"provider": "inferenceapis",
"model": "zai-org/GLM-5.3",
"apiKey": "<YOUR_INFERENCEAPIS_API_KEY>"
}
]
}
```
</Tab>
</Tabs>

## Autocomplete Model

We recommend configuring **deepseek-ai/DeepSeek-V4-Flash** as your autocomplete model.

<Tabs>
<Tab title="YAML">
```yaml title="config.yaml"
name: My Config
version: 0.0.1
schema: v1

models:
- name: DeepSeek V4 Flash
provider: inferenceapis
model: deepseek-ai/DeepSeek-V4-Flash
apiKey: <YOUR_INFERENCEAPIS_API_KEY>
roles:
- autocomplete
```
</Tab>
<Tab title="JSON">
```json title="config.json"
{
"models": [
{
"title": "DeepSeek V4 Flash",
"provider": "inferenceapis",
"model": "deepseek-ai/DeepSeek-V4-Flash",
"apiKey": "<YOUR_INFERENCEAPIS_API_KEY>"
}
],
"tabAutocompleteModel": {
"title": "DeepSeek V4 Flash",
"provider": "inferenceapis",
"model": "deepseek-ai/DeepSeek-V4-Flash",
"apiKey": "<YOUR_INFERENCEAPIS_API_KEY>"
}
}
```
</Tab>
</Tabs>

## Embeddings Model

We recommend configuring **BAAI/bge-m3** as your embeddings model.

<Tabs>
<Tab title="YAML">
```yaml title="config.yaml"
name: My Config
version: 0.0.1
schema: v1

models:
- name: BGE M3
provider: inferenceapis
model: BAAI/bge-m3
apiKey: <YOUR_INFERENCEAPIS_API_KEY>
roles:
- embed
```
</Tab>
<Tab title="JSON">
```json title="config.json"
{
"embeddingsProvider": {
"provider": "inferenceapis",
"model": "BAAI/bge-m3",
"apiKey": "<YOUR_INFERENCEAPIS_API_KEY>"
}
}
```
</Tab>
</Tabs>

Inference APIs also provides the Qwen/Qwen3-Embedding-8B embeddings model. [Click here](https://inferenceapis.com/models) to see the full list of available models.

[View the source](https://github.com/continuedev/continue/blob/main/core/llm/llms/InferenceAPIs.ts)
1 change: 1 addition & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
"customize/model-providers/more/deepseek",
"customize/model-providers/more/deepinfra",
"customize/model-providers/more/groq",
"customize/model-providers/more/inferenceapis",
"customize/model-providers/more/llamacpp",
"customize/model-providers/more/llamastack",
"customize/model-providers/more/mimo",
Expand Down
9 changes: 7 additions & 2 deletions extensions/vscode/config_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@
"moonshot",
"siliconflow",
"tensorix",
"inferenceapis",
"function-network",
"scaleway",
"relace",
Expand Down Expand Up @@ -282,6 +283,7 @@
"### Moonshot\nTo get started with Moonshot AI, obtain your API key from [Moonshot AI](https://platform.moonshot.cn/). Moonshot AI provides high-quality large language models with competitive pricing.\n> [Reference](https://platform.moonshot.cn/docs/api)",
"### SiliconFlow\nTo get started with SiliconFlow, obtain your API key from [SiliconCloud](https://cloud.siliconflow.cn/account/ak). SiliconCloud provides cost-effective GenAI services based on excellent open source basic models.\n> [Models](https://siliconflow.cn/zh-cn/models)",
"### Tensorix\nTensorix is an OpenAI-compatible API gateway with access to DeepSeek, Llama, Qwen, GLM, and other models. Pay-as-you-go with no subscription required.\nTo get started, create an account and get an API key at [app.tensorix.ai](https://app.tensorix.ai).\n> [Models](https://tensorix.ai/models)",
"### Inference APIs\nInference APIs hosts open-weight models (DeepSeek V4, GLM 5.3, Kimi K2.7, MiniMax M3, GPT-OSS, Qwen3-VL) in the United States with zero data retention, billed per token with no subscription.\nTo get started, create an account and get an API key at [inferenceapis.com/api-keys](https://inferenceapis.com/api-keys).\n> [Models](https://inferenceapis.com/models)",
"### Function Network offers private, affordable user-owned AI\nTo get started with Function Network, obtain your API key from [Function Network](https://www.function.network/join-waitlist). Function Network provides a variety of models for chat, completion, and embeddings.",
"### Scaleway\n Generative APIs are serverless endpoints for the most popular AI models.\nHosted in European data centers and priced competitively per million tokens used, models served by Scaleway are ideal for users requiring low latency, full data privacy, and 100% compliance with EU AI Act. To get access to the Scaleway Generative APIs, read the [Quickstart guide](https://www.scaleway.com/en/docs/ai-data/generative-apis/quickstart/) and get a [valid API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/).",
"### Relace\n Relace provides a fast apply model. To get started, obtain an API key from [here](https://app.relace.ai/settings/api-keys).",
Expand Down Expand Up @@ -2871,6 +2873,7 @@
"lmstudio",
"siliconflow",
"tensorix",
"inferenceapis",
"function-network",
"scaleway",
"ovhcloud"
Expand Down Expand Up @@ -2937,7 +2940,8 @@
"nvidia",
"gemini",
"siliconflow",
"tensorix"
"tensorix",
"inferenceapis"
]
}
},
Expand Down Expand Up @@ -3006,7 +3010,8 @@
"llm",
"huggingface-tei",
"siliconflow",
"tensorix"
"tensorix",
"inferenceapis"
]
},
"params": {
Expand Down
20 changes: 20 additions & 0 deletions gui/src/pages/AddNewModel/configs/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1270,6 +1270,26 @@ To get started, [register](https://dataplatform.cloud.ibm.com/registration/stepo
packages: [{ ...models.AUTODETECT }],
apiKeyUrl: "https://app.tensorix.ai",
},
inferenceapis: {
title: "Inference APIs",
provider: "inferenceapis",
description:
"Inference APIs hosts open-weight models (DeepSeek V4, GLM 5.3, Kimi K2.7, MiniMax M3, GPT-OSS, Qwen3-VL) in the United States with zero data retention, billed per token with no subscription.",
longDescription:
"To get started with Inference APIs, create an account and get an API key at [inferenceapis.com/api-keys](https://inferenceapis.com/api-keys).",
tags: [ModelProviderTags.RequiresApiKey, ModelProviderTags.OpenSource],
collectInputFor: [
{
inputType: "text",
key: "apiKey",
label: "API Key",
placeholder: "Enter your Inference APIs API key",
required: true,
},
],
packages: [{ ...models.AUTODETECT }],
apiKeyUrl: "https://inferenceapis.com/api-keys",
},
venice: {
title: "Venice",
provider: "venice",
Expand Down
2 changes: 2 additions & 0 deletions packages/openai-adapters/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,8 @@ export function constructLlmApi(config: LLMConfig): BaseLlmApi | undefined {
return openAICompatible("https://api.function.network/v1/", config);
case "tensorix":
return openAICompatible("https://api.tensorix.ai/v1/", config);
case "inferenceapis":
return openAICompatible("https://api.inferenceapis.com/v1/", config);
case "openrouter":
return new OpenRouterApi(config);
case "clawrouter":
Expand Down
1 change: 1 addition & 0 deletions packages/openai-adapters/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ export const OpenAIConfigSchema = BasePlusConfig.extend({
z.literal("zAI"),
z.literal("scaleway"),
z.literal("tensorix"),
z.literal("inferenceapis"),
z.literal("ncompass"),
z.literal("relace"),
z.literal("huggingface-inference-api"),
Expand Down
Loading