MistralClient.API.Classifiers (mistralex_ai v0.1.0)

View Source

Classifiers API for text classification and content moderation.

This module provides functions for:

  • Text moderation and safety classification
  • Chat conversation moderation
  • General text classification
  • Chat conversation classification

Examples

# Text moderation
{:ok, response} = MistralClient.API.Classifiers.moderate(
  client,
  "mistral-moderation-latest",
  ["This is some text to moderate"]
)

# Chat moderation
{:ok, response} = MistralClient.API.Classifiers.moderate_chat(
  client,
  "mistral-moderation-latest",
  [[%{role: "user", content: "Hello, how are you?"}]]
)

# Text classification
{:ok, response} = MistralClient.API.Classifiers.classify(
  client,
  "mistral-classifier-latest",
  ["Text to classify"]
)

# Chat classification
{:ok, response} = MistralClient.API.Classifiers.classify_chat(
  client,
  "mistral-classifier-latest",
  [%{messages: [%{role: "user", content: "Hello"}]}]
)

Summary

Functions

Classifications - Classify text into categories.

Chat Classifications - Classify chat conversations into categories.

Moderations - Analyze text for safety and content policy violations.

Chat Moderations - Analyze chat conversations for safety and content policy violations.

Functions

classify(client, model, inputs)

Classifications - Classify text into categories.

Parameters

  • client - The client configuration
  • model - ID of the model to use
  • inputs - Text to classify (string or list of strings)

Returns

  • {:ok, ClassificationResponse.t()} on success
  • {:error, term()} on failure

Examples

{:ok, response} = MistralClient.API.Classifiers.classify(
  client,
  "mistral-classifier-latest",
  "This is some text to classify"
)

{:ok, response} = MistralClient.API.Classifiers.classify(
  client,
  "mistral-classifier-latest",
  ["Text 1", "Text 2", "Text 3"]
)

classify_chat(client, model, inputs)

@spec classify_chat(MistralClient.Client.t() | MistralClient.Config.t(), String.t(), [
  map()
]) ::
  {:ok, MistralClient.Models.ClassificationResponse.t()} | {:error, term()}

Chat Classifications - Classify chat conversations into categories.

Parameters

  • client - The client configuration
  • model - ID of the model to use
  • inputs - Chat conversations to classify

Returns

  • {:ok, ClassificationResponse.t()} on success
  • {:error, term()} on failure

Examples

{:ok, response} = MistralClient.API.Classifiers.classify_chat(
  client,
  "mistral-classifier-latest",
  [%{messages: [%{role: "user", content: "Hello"}]}]
)

moderate(client, model, inputs)

Moderations - Analyze text for safety and content policy violations.

Parameters

  • client - The client configuration
  • model - ID of the model to use (e.g., "mistral-moderation-latest")
  • inputs - Text to classify (string or list of strings)

Returns

  • {:ok, ModerationResponse.t()} on success
  • {:error, term()} on failure

Examples

{:ok, response} = MistralClient.API.Classifiers.moderate(
  client,
  "mistral-moderation-latest",
  "This is some text to moderate"
)

{:ok, response} = MistralClient.API.Classifiers.moderate(
  client,
  "mistral-moderation-latest",
  ["Text 1", "Text 2", "Text 3"]
)

moderate_chat(client, model, inputs)

@spec moderate_chat(MistralClient.Client.t() | MistralClient.Config.t(), String.t(), [
  [map()]
]) ::
  {:ok, MistralClient.Models.ModerationResponse.t()} | {:error, term()}

Chat Moderations - Analyze chat conversations for safety and content policy violations.

Parameters

  • client - The client configuration
  • model - ID of the model to use
  • inputs - Chat conversations to classify (list of message lists)

Returns

  • {:ok, ModerationResponse.t()} on success
  • {:error, term()} on failure

Examples

{:ok, response} = MistralClient.API.Classifiers.moderate_chat(
  client,
  "mistral-moderation-latest",
  [
    [
      %{role: "user", content: "Hello"},
      %{role: "assistant", content: "Hi there!"}
    ]
  ]
)