Integration guides · 2026-08-28

Moving a Muse Spark Contributor prototype to the standard tier

Plan a Muse Spark Contributor migration with data checks, explicit model configuration, regression evaluation, content-free monitoring, and a rollback that preserves data boundaries.

LLMTR editorial diagram for Moving a Muse Spark Contributor prototype to the standard tier, showing three labeled concepts in a sequence or comparison.

Review data use before changing traffic

To move a Muse Spark Contributor prototype to the standard tier, change the LLMTR model identifier from meta/muse-spark-1.2-contributor to meta/muse-spark-1.2, alongside data review, regression evaluation, and rollback planning. LLMTR records describe both tiers as the same 1.2 checkpoint. Sharing a checkpoint does not guarantee identical responses.

Warning: prompts and completions under the Contributor tier may be used for Meta model training. Do not submit confidential, personal, or customer data. This includes system messages, tool results, conversation history, and attachments; cleaning only the latest user message is insufficient.

LLMTR states that standard prompts and completions are not used for Meta model training. This does not guarantee absolute privacy, zero retention, or processing in a particular country. Review current provider and LLMTR processing terms before enabling production data. Selecting standard does not authorize data use.

Make model identity part of configuration

Read the model from one versioned configuration instead of scattering its name across files. Interactive applications, background workers, and scheduled jobs should share an allowlist. Rejecting Contributor in production configuration helps prevent an overlooked worker from sending traffic to the wrong tier.

Both LLMTR identifiers use POST /v1/chat/completions. Do not switch to the Responses API when changing tiers. Use LLMTR credentials and the LLMTR base address, not direct Meta API credentials.

Settings to change or review during migration
SettingPrototypeMove to standard
Modelmeta/muse-spark-1.2-contributormeta/muse-spark-1.2
Data acceptanceNon-sensitive examples onlySeparate approval under processing terms
Request contractChat CompletionsSame route; unchanged prompts and settings
Failure routingPrototype policyNo automatic return to Contributor

Prepare one request using the standard identifier

This Python example accepts only the standard model and sends a synthetic task. Configure LLMTR_BASE_URL as your complete API base URL including /v1, and LLMTR_API_KEY as your LLMTR key. LLMTR_MODEL is an application variable for this example; omitting it selects the standard identifier.

The code prints model identity, finish reason, and usage, not prompt or response content. The 2048 output budget is illustrative, not sufficient for every task. This example was not executed; running it creates a billable API request. Complete the data review before adding real data.

A trial pinned to the standard tier without content logging

import json
import os
from urllib.request import Request, urlopen

model = os.environ.get("LLMTR_MODEL", "meta/muse-spark-1.2")
if model != "meta/muse-spark-1.2":
    raise ValueError("This example requires the standard tier.")

payload = {
    "model": model,
    "messages": [{
        "role": "user",
        "content": "Synthetic task: explain why 17 * 23 equals 391."
    }],
    "reasoning_effort": "minimal",
    "max_tokens": 2048,
    "stream": False
}
request = Request(
    os.environ["LLMTR_BASE_URL"].rstrip("/") + "/chat/completions",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["LLMTR_API_KEY"],
        "Content-Type": "application/json"
    },
    method="POST"
)
with urlopen(request, timeout=60) as response:
    result = json.load(response)
choices = result.get("choices") or []
print(json.dumps({
    "model": result.get("model"),
    "finish_reason": choices[0].get("finish_reason") if choices else None,
    "usage": result.get("usage")
}))

Evaluate outcomes instead of matching sentences

Freeze the non-sensitive evaluation set used for the prototype. Evaluate standard with the same prompt version, tools, reasoning_effort, and output budget. Changing both identity and prompts obscures the cause of differences. Measure task acceptance criteria rather than exact wording.

For tool workflows, preserve Muse Spark’s tool_choice: auto restriction. Moving to standard does not add required or named selection. Validate tool arguments in the application, and do not execute real side effects during evaluation.

  • Check required fields and business rules.
  • Track empty content, truncated output, and parsing failures separately.
  • Test tool selection, argument correctness, and permission checks.
  • Define acceptance thresholds before seeing results; track failed examples by identifier instead of saving their content.

Expand traffic gradually without recording content

After data approval, start with a small traffic group. Monitor model identity, configuration version, latency, token usage, finish reason, and HTTP error type. Do not move prompts, customer text, or tool results into debugging logs.

Set a spending boundary before migration. Meta’s pricing and limits page required login when checked on August 28, 2026, so no current tariff or fixed RPM is stated here. Budget using rates verified in your account, without treating cache hits as guaranteed savings. Selecting standard does not promise unlimited capacity or an SLA.

Preserve the data boundary during rollback

Document rollback triggers and ownership beforehand. On a critical failure, stop new traffic or return to a previously evaluated standard configuration. Restoring an older application version must not silently restore the Contributor identifier; preserve the production model allowlist separately.

Check data classification and target model before replaying queued jobs. Do not create automatic Contributor fallback. Before retrying a tool workflow after a timeout, establish whether its earlier side effect occurred. Changing tiers does not undo processing of content previously submitted to Contributor.

Frequently asked questions

Is changing the model identifier enough?

The request contract may stay the same, but safe migration also requires data review, configuration across all workers, regression results, and a checked rollback policy.

Why does the same checkpoint not guarantee identical answers?

Checkpoint identity does not imply deterministic generation. Request settings, conversation context, and generation variability can affect answers; evaluate task outcomes.

Can Contributor be a fallback when standard fails?

Do not route production requests containing customer, personal, or confidential data to Contributor. Use an explicit procedure to stop traffic or restore an approved standard configuration.

Related posts