Skip to main content
Lesson 9 of 14 · Mistral Deployment: Cloud and Self-Hosting

Snowflake, IBM watsonx, and Outscale

Lesson 9 of 14 Updated November 2, 2026 Advanced
On this page
  1. Three complementary platforms
  2. Snowflake Cortex
  3. IBM watsonx.ai
  4. Outscale
  5. Comparing the three platforms
  6. Key takeaways

Three complementary platforms

Beyond the major hyperscalers (Azure, GCP, AWS), Mistral is available on three additional platforms that address specific needs: Snowflake Cortex for data teams, IBM watsonx for regulated enterprises, and Outscale for European data sovereignty. None of these aim to replace general-purpose platforms; instead, each excels in a particular scenario. This lesson gives you a clear overview of all three.

Snowflake Cortex

Snowflake Cortex embeds AI models directly into the Snowflake platform. Its main advantage boils down to one sentence: you call Mistral from your SQL queries without ever moving data out of Snowflake. Two models are available: Mistral Large 2 under the identifier mistral-large2 for advanced reasoning, and Mistral 7B, a lightweight serverless option. Prerequisites include a Snowflake account in a Cortex-compatible region and the CORTEX_USER role enabled.

The most elegant integration is a pure SQL call:

-- Direct call within a SQL query
SELECT SNOWFLAKE.CORTEX.COMPLETE(
    'mistral-large2',
    'Summarize the main trends in this dataset.'
) AS summary;

The real value emerges when you combine the model with your existing tables. Imagine a reviews table containing millions of customer reviews: instead of writing an export script, building an API call pipeline, and reimporting results, you generate a sentiment column in a single query.

-- Analyze each row in a table
SELECT
    id,
    description,
    SNOWFLAKE.CORTEX.COMPLETE(
        'mistral-large2',
        CONCAT('Classify this text (positive/negative/neutral): ', description)
    ) AS sentiment
FROM reviews
LIMIT 100;

The LIMIT 100 in this example isn’t decorative: always start with a sample to estimate costs and verify response formats before running processing on the entire table. The same logic is accessible in Python via Snowpark, letting you integrate calls into an existing pipeline:

from snowflake.cortex import Complete

# Simple call
completion = Complete(
    model="mistral-large2",
    prompt="What are Snowflake's advantages for AI?"
)
print(completion)

Cortex shines for large-scale text classification, enriching data directly within SQL pipelines, generating summaries over massive datasets, and performing sentiment analysis without ever exporting data.

IBM watsonx.ai

IBM watsonx.ai is IBM’s enterprise AI platform, designed for regulated industries such as banking, insurance, and healthcare. Mistral models, including Mistral Large, are available both as SaaS and on-premise, making this a strong option when internal audits prohibit sending data to public cloud services. Access requires an IBM watsonx project (IBM_CLOUD_PROJECT_ID), a Service ID with Watson Machine Learning access and the EDITOR role, and an IBM Cloud API key (IBM_CLOUD_API_KEY).

Your chosen region determines the endpoint URL you pass to the client:

RegionCode
Dallasus-south
Londoneu-gb
Frankfurteu-de
Tokyojp-tok

Installation involves three packages:

pip install httpx ibm-watsonx-ai mistral-common

The third package deserves special attention. The mistral-common package is essential for correct prompt formatting. Without it, the tokenizer can produce silent errors—responses that seem plausible but are based on improperly tokenized prompts. This is the worst-case scenario because nothing signals that a problem exists.

Once credentials are in place, the call itself remains straightforward:

from ibm_watsonx_ai.foundation_models import ModelInference
import os

model = ModelInference(
    model_id="mistralai/mistral-large",
    credentials={
        "url": "https://eu-de.ml.cloud.ibm.com",
        "apikey": os.environ["IBM_CLOUD_API_KEY"]
    },
    project_id=os.environ["IBM_CLOUD_PROJECT_ID"]
)

response = model.generate_text(
    prompt="What are the GDPR requirements for AI data processing?"
)
print(response)

Avoid sending raw strings: use the Mistral tokenizer to prevent the silent tokenization errors mentioned earlier.

from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest

tokenizer = MistralTokenizer.from_model("mistral-large-latest")

request = ChatCompletionRequest(
    messages=[UserMessage(content="Your prompt here")]
)
tokens = tokenizer.encode_chat_completion(request)

Outscale

Outscale is a European cloud provider, a subsidiary of Dassault Systèmes. It’s the go-to choice for organizations requiring full data sovereignty within the European Union. Three models are available: Mistral Small (24.09), Codestral (24.05) specialized for code, and Ministral 8B (24.10). Deployment happens through the Outscale marketplace, which delivers a VM with GPU and the model pre-deployed—you don’t need to configure inference yourself.

A welcome difference from the previous two platforms: Outscale works with the standard Mistral client by simply pointing server_url to your instance.

import os
from mistralai.client import Mistral

client = Mistral(server_url=os.environ["OUTSCALE_SERVER_URL"])

response = client.chat.complete(
    model=os.environ["OUTSCALE_MODEL_NAME"],
    messages=[
        {"role": "user", "content": "What are the advantages of a European sovereign cloud?"}
    ],
    temperature=0
)
print(response.choices[0].message.content)

If you’ve deployed Codestral, FIM (fill-in-the-middle) completion works the same way: you provide the beginning and end of the code, and the model fills in the middle. This is the mechanism behind completion assistants in code editors.

response = client.fim.complete(
    model=os.environ["OUTSCALE_MODEL_NAME"],
    prompt="def fibonacci(n: int) -> int:",
    suffix="return result"
)
print(response.choices[0].message.content)

Comparing the three platforms

CriterionSnowflake CortexIBM watsonxOutscale
Target audienceData/SQL teamsRegulated enterpriseEU sovereignty
AccessNative SQL + PythonIBM SDKMistral client
Data locationStays in SnowflakeIBM CloudEuropean cloud
ModelsLarge, 7BLargeSmall, Codestral, 8B
ComplianceSOC 2, HIPAASOC 2, HIPAA, PCISecNumCloud

Key takeaways

  • Snowflake Cortex — ideal if your data is already in Snowflake; call AI directly from SQL
  • IBM watsonx — regulated enterprise platform; requires mistral-common for formatting
  • Outscale — European sovereignty; marketplace deployment with pre-configured GPU
  • Each platform has its own SDK — only Outscale uses the standard Mistral client