From 6a6d56fc0e5b0ac4ceb806313ea8e1a5de4d49ad Mon Sep 17 00:00:00 2001 From: Lee-Si-Yoon Date: Sat, 1 Aug 2026 00:57:01 +0900 Subject: [PATCH] feat(provider): add Friendli as declarative provider (#10762) --- crates/goose-providers/src/declarative.rs | 1 + .../src/declarative/definitions/friendli.json | 21 +++++++++++++++++++ .../docs/getting-started/providers.md | 1 + 3 files changed, 23 insertions(+) create mode 100644 crates/goose-providers/src/declarative/definitions/friendli.json diff --git a/crates/goose-providers/src/declarative.rs b/crates/goose-providers/src/declarative.rs index bbbd25537..7d13f9a15 100644 --- a/crates/goose-providers/src/declarative.rs +++ b/crates/goose-providers/src/declarative.rs @@ -19,6 +19,7 @@ pub(crate) mod declarative_providers { deepseek, empiriolabs, fireworks, + friendli, futurmix, groq, iflytek, diff --git a/crates/goose-providers/src/declarative/definitions/friendli.json b/crates/goose-providers/src/declarative/definitions/friendli.json new file mode 100644 index 000000000..f274a593c --- /dev/null +++ b/crates/goose-providers/src/declarative/definitions/friendli.json @@ -0,0 +1,21 @@ +{ + "name": "friendli", + "engine": "openai", + "display_name": "Friendli AI", + "description": "Friendli Model APIs provide instant access to a curated set of models, powered by a proprietary inference stack called Friendli Engine for high-performance, cost-efficient inference.", + "api_key_env": "FRIENDLI_API_KEY", + "base_url": "https://api.friendli.ai/serverless/v1", + "catalog_provider_id": "friendli", + "model_doc_link": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", + "preserves_thinking": true, + "supports_streaming": true, + "dynamic_models": true, + "models": [ + {"name": "zai-org/GLM-5.2", "context_limit": 1048576}, + {"name": "zai-org/GLM-5.1", "context_limit": 202752}, + {"name": "MiniMaxAI/MiniMax-M2.5", "context_limit": 196608}, + {"name": "deepseek-ai/DeepSeek-V3.2", "context_limit": 163840}, + {"name": "Qwen/Qwen3-235B-A22B-Instruct-2507", "context_limit": 262144}, + {"name": "google/gemma-4-31B-it", "context_limit": 262144} + ] +} diff --git a/documentation/docs/getting-started/providers.md b/documentation/docs/getting-started/providers.md index d7200c278..afe07646f 100644 --- a/documentation/docs/getting-started/providers.md +++ b/documentation/docs/getting-started/providers.md @@ -33,6 +33,7 @@ goose is compatible with a wide range of LLM providers, allowing you to choose a | [Databricks](https://www.databricks.com/) | Unified data analytics and AI platform for building and deploying models. | `DATABRICKS_HOST`, `DATABRICKS_TOKEN` | | [Docker Model Runner](https://docs.docker.com/ai/model-runner/) | Local models running in Docker Desktop or Docker CE with OpenAI-compatible API endpoints. **Because this provider runs locally, you must first [download a model](#local-llms).** | `OPENAI_HOST`, `OPENAI_BASE_PATH` | | [EmpirioLabs AI](https://empiriolabs.ai/) | Frontier open and proprietary chat models (Qwen, DeepSeek, GLM, Kimi, MiniMax) through one OpenAI-compatible API with streaming. Catalog available at `https://api.empiriolabs.ai/v1/models`. | `EMPIRIOLABS_API_KEY` | +| [Friendli AI](https://friendli.ai/) | Friendli Model APIs provide instant access to a curated set of models, powered by a proprietary inference stack called [Friendli Engine](https://friendli.ai/why-friendliai) for high-performance, cost-efficient inference. | `FRIENDLI_API_KEY` | | [FuturMix](https://futurmix.ai/) | Unified AI gateway providing access to models from Anthropic, Google, OpenAI, and DeepSeek through an OpenAI-compatible API. | `FUTURMIX_API_KEY` | | [Gemini](https://ai.google.dev/gemini-api/docs) | Advanced LLMs by Google with multimodal capabilities (text, images). Gemini 3 models support configurable [thinking levels](#gemini-3-thinking-levels). | `GOOGLE_API_KEY`, `GEMINI3_THINKING_LEVEL` (optional) | | [GCP Vertex AI](https://cloud.google.com/vertex-ai) | Google Cloud's Vertex AI platform, supporting Gemini and Claude models. **Credentials must be [configured in advance](https://cloud.google.com/vertex-ai/docs/authentication).** Filters for allowed models by organization policy (if configured). | `GCP_PROJECT_ID`, `GCP_LOCATION` and optionally `GCP_MAX_RATE_LIMIT_RETRIES` (5), `GCP_MAX_OVERLOADED_RETRIES` (5), `GCP_INITIAL_RETRY_INTERVAL_MS` (5000), `GCP_BACKOFF_MULTIPLIER` (2.0), `GCP_MAX_RETRY_INTERVAL_MS` (320_000). |