-
Notifications
You must be signed in to change notification settings - Fork 137
[agent-network] Document loading a provider's models from the vendor #945
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -55,7 +55,8 @@ and budgets (see [How It Works](/agent-network/how-it-works#llm-apis-and-ai-gate | |
| 3. Paste the provider's **API key**. It is stored encrypted server-side and never sent to | ||
| callers. | ||
| 4. _(Optional)_ Restrict the **allowed models** and set **per-model pricing** used for cost | ||
| estimates in usage and logs. | ||
| estimates in usage and logs. On supported providers, **Load models from provider** fills | ||
| this in from the vendor — see [Load Models from the Provider](#load-models-from-the-provider). | ||
| 5. _(Optional, gateways)_ Fill any gateway-specific fields (for example a Portkey config | ||
| ID) and the identity headers used for attribution. | ||
| 6. Save the provider. | ||
|
|
@@ -136,6 +137,47 @@ Self-hosters can seed the catalog defaults these fields prefill from with a | |
| pricing file. See | ||
| [`server.agentNetwork.pricingDefaultsFile`](/selfhosted/maintenance/configuration-files#agent-network-settings). | ||
|
|
||
| ### Load Models from the Provider | ||
|
|
||
| NetBird ships a catalog of known models, but it can't see your account: which OpenAI models | ||
| your organization is entitled to, which Bedrock inference profiles exist in your account and | ||
| region, or which Vertex AI models your project has enabled. The catalog also drifts as | ||
| vendors retire models. | ||
|
|
||
| On the **Models** tab, **Load models from provider** asks the vendor which models your own | ||
| credential can actually reach and turns the answer into editable rows, each pre-filled with | ||
| the price NetBird would bill it at. | ||
|
|
||
| Available for **OpenAI**, **Anthropic**, **Amazon Bedrock** and **Google Vertex AI**. AI | ||
| gateways expose no comparable listing endpoint, so the button reports that and the catalog | ||
| list is used instead. | ||
|
|
||
| A few details worth knowing: | ||
|
|
||
| - **Models already on the form are left alone.** A rate you set deliberately is not | ||
| overwritten by a reload. | ||
| - **Models NetBird can't price arrive at $0** and are highlighted, rather than being hidden. | ||
| The vendor says your credential can reach them, so leaving them out would hide models you | ||
| really have. Saving with any of them prompts for confirmation — usage against a $0 model is | ||
| tracked at zero and doesn't count toward [budget limits](/agent-network/policies/limits). | ||
| - **Editing a saved provider reuses the stored key.** The API key never returns to your | ||
| browser, so the refresh runs against the credential already on the record. Change the | ||
| provider, or type a replacement key over the masked one, and the values on screen are used | ||
| instead. | ||
|
Comment on lines
+163
to
+166
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Use provider-neutral credential wording. Line 163 calls the value a stored key, and Line 164 calls it an API key. Vertex AI uses a service account key. Use The related Vertex AI setup identifies the credential as a service account key. 🤖 Prompt for AI Agents |
||
| - **Bedrock ids are registered exactly as AWS issues them**, region prefix included | ||
| (`eu.anthropic.claude-sonnet-5-20260514-v1:0`), because that is the only form that works at | ||
| invoke time. Only `ACTIVE` inference profiles are offered. The listing comes from the | ||
| Bedrock control plane, which is a different host from the runtime endpoint you configured — | ||
| NetBird derives it from your upstream URL. | ||
| - **Vertex AI lists what the publisher offers**, not what your project has enabled, so treat | ||
| it as a suggestion alongside the catalog rather than a definitive list. | ||
|
|
||
| <Note> | ||
| The vendor call is made by NetBird's management service using the provider's credential, not | ||
| from your browser and not over your agents' tunnels. It only ever dials public vendor | ||
| endpoints and does not follow redirects. | ||
| </Note> | ||
|
|
||
| ### Adding a Model Not in the Catalog | ||
|
|
||
| If the model you need isn't in the picker, type its model ID directly into the **Model** field | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Limit the reachability claim to account-scoped discovery.
Line 147 says that the credential can reach every returned model. Line 160 repeats that guarantee. The Vertex AI note at Line 172 says that the result is only the publisher catalog, not the project-enabled models. Qualify these statements so users do not add unavailable Vertex AI models.
The later Vertex AI note in this section provides the conflicting behavior.
Also applies to: 160-161
🤖 Prompt for AI Agents