Skip to main content
Nexus BYOC is available only on Enterprise plans.
This guide adds Fireworks AI models to the inference catalog of a Pinecone Nexus Bring Your Own Cloud (BYOC) deployment, deploys them, makes them the default models, and queries Nexus with them. It works for an existing deployment and for a new one before your first pulumi up. For how Fireworks fits into Nexus, see the overview. For what each catalog field does, see the reference.

Prerequisites

  • A Pinecone Enterprise plan with Nexus BYOC, and a Nexus BYOC project generated by the setup wizard. To create one, see Deploy Nexus BYOC.
  • A Fireworks API key. To create one, sign in to the Fireworks API keys page.
  • Pulumi, uv, and Python 3.12 or later, which the Nexus BYOC install also requires.
  • Your Pinecone API key and your Nexus workspace host, for the query step.

Set up your environment

1

Change to your Nexus BYOC project

Terminal
2

Set your Fireworks API key

Terminal

Add the models to your catalog

The setup wizard writes the inference catalog to inference-proxy-models.toml in your project. Replace the contents of that file with the following. This catalog keeps the Pinecone-hosted embedding and rerank models. If contexts in an existing deployment use another embedding model, keep its entry too.
inference-proxy-models.toml

Default models

[default.llm.phase_defaults] sets the default model for each work area:
  • Query (search): Answers queries and runs Optimize. This catalog uses kimi-k3.
  • Curation (curate): Builds artifacts from your sources. Curation reads every source, so choose a fast, low-cost model such as glm-5p3-flash or deepseek-v4p1-flash. This default is the model curation runs on, so it’s your main control over curation cost.
  • System (agent): Runs background workflows, such as Explore. This catalog uses glm-5p3-flash.
To run a query on another model, such as glm-5p3, select it in the model selector on a context’s Query tab or name it in the query’s model field, as shown in Query Nexus with a Fireworks model.

Vision and pricing

  • glm-5p3 is text-only, so its entry sets no_vision = true.
  • glm-5p3-flash and kimi-k3 carry prices, so usage reports their cost. To report cost for glm-5p3 and deepseek-v4p1-flash, add their prices from Fireworks pricing.

Keep the Gemini models

To keep the shipped Gemini models next to the Fireworks models, copy their entries from the original file and add their IDs to supported_llm_models. Each provider uses its own api_key_ref.

Store your Fireworks API key

Store your Fireworks API key as the stack secret that matches the api_key_ref in the catalog:
Terminal
If you use the local Pulumi backend, export PULUMI_CONFIG_PASSPHRASE before you run pulumi commands.

Validate and deploy the catalog

1

Validate the catalog

Run the validation script the setup wizard ships in your project. For each model, it checks the catalog fields and sends one small live request with your key:
Terminal
The output looks like this:
Output
A project generated by an older setup wizard has an older copy of the script, which can’t check Fireworks embedding models. To update it, copy setup/validate_models.py from the deployment repository into your project.
2

Deploy the catalog

Run pulumi up to ship the catalog to the inference proxy as a ConfigMap and store your Fireworks API key as a Kubernetes secret:
Terminal

Check your defaults

In the Nexus console, open Settings and select the Deployment tab. The Default models card shows the default for each work area, read-only, because the catalog reapplies phase_defaults on every settings pull. To change a default, edit phase_defaults and run pulumi up again.

Query Nexus with a Fireworks model

A query runs on the Query default unless it names a model by catalog ID in the model field. The response names the model that answered.
1

Set your Pinecone API key and base URL

Install requests, and set your Pinecone API key and your workspace’s API base URL. Your workspace host is the base of nexus_default_workspace_data_console_url in the pulumi up output.
Terminal
2

Run a query

The following code lists the catalog and the work-area defaults, then asks a question that names kimi-k3:
Python
Replace support-docs with the slug of one of your contexts.

Compare models

For a model with prices in the catalog, usage.cost_usd in the response reports the query’s cost. To compare models on your own questions, open each query’s trace with GET /queries/{id}/trace, which reports the steps, tokens, and latency behind the answer. A tested run used a BYOC deployment with GLM 5.3 Flash as the Curation default and Kimi K3 as the Query default. Curating one source (Pinecone_Architecture.pdf) produced 22 artifacts and 72 edges in about two minutes, at a cost of $0.03. Embeddings stayed on multilingual-e5-large. A query with Kimi K3 answered “How does Pinecone do compaction?” from the PDF and cited it, in 20 steps with two tool calls and about 17 seconds.

Use Fireworks for embeddings (optional)

You can also route embeddings to Fireworks. Existing contexts keep the embedding model they were built with, and only new contexts use the new default.
1

Add the embedding model to your catalog

Add the following entry to inference-proxy-models.toml:
inference-proxy-models.toml
Then add qwen3-embedding-8b to supported_embedding_models and make it the default embedding model. Keep multilingual-e5-large in the list, because contexts look up their embedding model by ID at query time:
inference-proxy-models.toml
2

Validate the embedding model

Run the validation script again to confirm the returned vectors match dimension:
Terminal
3

Deploy the change

Run pulumi up to ship the updated catalog:
Terminal

Next steps