diff --git a/core/llm/autodetect.ts b/core/llm/autodetect.ts index c8511554b8b..69fdb5090eb 100644 --- a/core/llm/autodetect.ts +++ b/core/llm/autodetect.ts @@ -62,6 +62,7 @@ const PROVIDER_HANDLES_TEMPLATING: string[] = [ "vertexai", "watsonx", "nebius", + "crusoe", "relace", "openrouter", "clawrouter", @@ -129,6 +130,7 @@ const PROVIDER_SUPPORTS_IMAGES: string[] = [ "azure", "scaleway", "nebius", + "crusoe", "ovhcloud", "watsonx", "zAI", @@ -248,6 +250,7 @@ const PARALLEL_PROVIDERS: string[] = [ "sambanova", "ovhcloud", "nebius", + "crusoe", "vertexai", "function-network", "scaleway", diff --git a/core/llm/llms/Crusoe.ts b/core/llm/llms/Crusoe.ts new file mode 100644 index 00000000000..6c65c401c0b --- /dev/null +++ b/core/llm/llms/Crusoe.ts @@ -0,0 +1,13 @@ +import { LLMOptions } from "../.."; + +import OpenAI from "./OpenAI"; + +class Crusoe extends OpenAI { + static providerName = "crusoe"; + static defaultOptions: Partial = { + apiBase: "https://api.inference.crusoecloud.com/v1", + useLegacyCompletionsEndpoint: false, + }; +} + +export default Crusoe; diff --git a/core/llm/llms/index.ts b/core/llm/llms/index.ts index 4978f0617f2..516d00ac334 100644 --- a/core/llm/llms/index.ts +++ b/core/llm/llms/index.ts @@ -17,6 +17,7 @@ import BedrockImport from "./BedrockImport"; import Cerebras from "./Cerebras"; import Cloudflare from "./Cloudflare"; import Cohere from "./Cohere"; +import Crusoe from "./Crusoe"; import CometAPI from "./CometAPI"; import DeepInfra from "./DeepInfra"; import Deepseek from "./Deepseek"; @@ -119,6 +120,7 @@ export const LLMClasses = [ Cerebras, Asksage, Nebius, + Crusoe, Nous, Venice, VertexAI, diff --git a/docs/customize/model-providers/more/crusoe.mdx b/docs/customize/model-providers/more/crusoe.mdx new file mode 100644 index 00000000000..eed7fcfdde5 --- /dev/null +++ b/docs/customize/model-providers/more/crusoe.mdx @@ -0,0 +1,96 @@ +--- +title: "Crusoe" +description: "Configure Crusoe Managed Inference with Continue to access open-weight models like GLM 5.2, DeepSeek V3, and gpt-oss on an OpenAI-compatible API" +--- + +Crusoe Managed Inference is an OpenAI-compatible API for open-weight models such as GLM, DeepSeek, Nemotron, and gpt-oss, served from Crusoe's vertically integrated AI cloud. + + + You can get an API key in the [Crusoe Console](https://console.crusoe.ai/) under **Security > Inference API Key**. For pricing, see the [Crusoe pricing page](https://crusoe.ai/cloud/pricing). + + +## Available Models + +| Model | Context Length | Notes | +|-------|----------------|-------| +| `zai/GLM-5.2` | 256k | Strong coding and agentic tool use, reasoning on by default | +| `zai/GLM-5.1` | 202k | Reasoning model | +| `openai/gpt-oss-120b` | 131k | Tool use, low/medium/high reasoning effort | +| `google/gemma-4-31b-it` | 262k | Structured output, toggleable reasoning | +| `deepseek-ai/DeepSeek-V3-0324` | 163k | General chat | +| `moonshotai/Kimi-K2.6` | 256k | Agentic tool use, reasoning | +| `meta-llama/Llama-3.3-70B-Instruct` | 131k | General chat and tool use | +| `nvidia/Nemotron-3-Nano-Omni-Reasoning-30B-A3B` | 262k | Multimodal reasoning | + +The current catalog is always available from the [models endpoint](https://api.inference.crusoecloud.com/v1/models) and the [Crusoe Managed Inference docs](https://docs.crusoecloud.com/managed-inference/overview). + +## Chat Model + +We recommend configuring **GLM 5.2** as your chat model. + + + + ```yaml title="config.yaml" + name: My Config + version: 0.0.1 + schema: v1 + + models: + - name: GLM 5.2 + provider: crusoe + model: zai/GLM-5.2 + apiKey: + ``` + + + ```json title="config.json" + { + "models": [ + { + "title": "GLM 5.2", + "provider": "crusoe", + "model": "zai/GLM-5.2", + "apiKey": "" + } + ] + } + ``` + + + +## Function Calling Example + +Models with function calling support include GLM 5.2, gpt-oss-120b, Kimi K2.6, and Llama 3.3 70B: + + + + ```yaml title="config.yaml" + name: My Config + version: 0.0.1 + schema: v1 + + models: + - name: gpt-oss-120b + provider: crusoe + model: openai/gpt-oss-120b + apiKey: + capabilities: + - tool_use + ``` + + + ```json title="config.json" + { + "models": [ + { + "title": "gpt-oss-120b", + "provider": "crusoe", + "model": "openai/gpt-oss-120b", + "apiKey": "", + "capabilities": ["tool_use"] + } + ] + } + ``` + + diff --git a/docs/docs.json b/docs/docs.json index b7a1d83f13a..ab0d4ff483f 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -107,6 +107,7 @@ "pages": [ "customize/model-providers/more/asksage", "customize/model-providers/more/clawrouter", + "customize/model-providers/more/crusoe", "customize/model-providers/more/deepseek", "customize/model-providers/more/deepinfra", "customize/model-providers/more/groq", diff --git a/gui/src/pages/AddNewModel/configs/models.ts b/gui/src/pages/AddNewModel/configs/models.ts index 7065248d68f..28f3440eac6 100644 --- a/gui/src/pages/AddNewModel/configs/models.ts +++ b/gui/src/pages/AddNewModel/configs/models.ts @@ -37,6 +37,33 @@ export interface ModelPackage { } export const models: { [key: string]: ModelPackage } = { + crusoeGlm52: { + title: "GLM 5.2", + description: + "Z.ai's GLM 5.2 with 256k context, strong coding and agentic tool use, served on Crusoe Managed Inference.", + refUrl: "https://docs.crusoecloud.com/managed-inference/overview", + params: { + title: "GLM 5.2", + model: "zai/GLM-5.2", + contextLength: 256_000, + }, + icon: "zai.svg", + providerOptions: ["crusoe"], + isOpenSource: true, + }, + crusoeGemma4: { + title: "Gemma 4 31B", + description: + "Google's Gemma 4 31B instruction-tuned model with 262k context, served on Crusoe Managed Inference.", + refUrl: "https://docs.crusoecloud.com/managed-inference/overview", + params: { + title: "Gemma 4 31B", + model: "google/gemma-4-31b-it", + contextLength: 262_000, + }, + providerOptions: ["crusoe"], + isOpenSource: true, + }, hermes3Llama31_405b: { title: "Hermes 3 Llama 3.1 405B", description: @@ -213,10 +240,15 @@ export const models: { [key: string]: ModelPackage } = { title: "gpt-oss-120b (OVHcloud)", contextLength: 131072, }, + crusoe: { + model: "openai/gpt-oss-120b", + title: "gpt-oss-120b (Crusoe)", + contextLength: 131072, + }, }, }, ], - providerOptions: ["vllm", "ovhcloud"], + providerOptions: ["vllm", "ovhcloud", "crusoe"], isOpenSource: true, }, llama318BChat: { diff --git a/gui/src/pages/AddNewModel/configs/providers.ts b/gui/src/pages/AddNewModel/configs/providers.ts index 9e2aba08c5c..1e91c87c2cd 100644 --- a/gui/src/pages/AddNewModel/configs/providers.ts +++ b/gui/src/pages/AddNewModel/configs/providers.ts @@ -1390,4 +1390,29 @@ Fund your wallet with USDC on Solana or Base. ClawRouter uses x402 micropayments ], apiKeyUrl: "https://portal.nousresearch.com", }, + crusoe: { + title: "Crusoe", + provider: "crusoe", + refPage: "crusoe", + description: + "Crusoe Managed Inference serves open-weight models like GLM 5.2 on an OpenAI-compatible API.", + longDescription: + "Crusoe provides Managed Inference, an OpenAI-compatible API for open-weight models such as GLM, DeepSeek, and Nemotron. Get an API key in the [Crusoe Console](https://console.crusoe.ai/) under Security > Inference API Key.", + tags: [ModelProviderTags.RequiresApiKey, ModelProviderTags.OpenSource], + params: { + apiBase: "https://api.inference.crusoecloud.com/v1", + }, + collectInputFor: [ + { + inputType: "text", + key: "apiKey", + label: "API Key", + placeholder: "Enter your Crusoe API key", + required: true, + }, + ...completionParamsInputsConfigs, + ], + packages: [models.crusoeGlm52, models.gptOss120B, models.crusoeGemma4], + apiKeyUrl: "https://console.crusoe.ai/", + }, };