MinimXTutorial

MiniMax M2.5 con el SDK de Anthropic en Python

MiniMax es un modelo de inteligencia artificial que puedes usar a través del SDK de Anthropic. En este tutorial aprenderás a configurar un proyecto Python desde cero para interactuar con el modelo MiniMax-M2.5.

Requisitos Previos

1. Crear el Proyecto

mkdir minimax-demo
cd minimax-demo

2. Crear el Entorno Virtual

Windows (PowerShell)

python -m venv venv
.\venv\Scripts\Activate.ps1

Windows (Git Bash)

python -m venv venv
source venv/Scripts/activate

macOS / Linux

python -m venv venv
source venv/bin/activate

3. Instalar Dependencias

pip install anthropic python-dotenv
  • anthropic — SDK oficial de Anthropic, compatible con la API de MiniMax
  • python-dotenv — Carga variables de entorno desde un archivo .env

4. Configurar Variables de Entorno

Crear un archivo .env en la raíz del proyecto:

ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
ANTHROPIC_API_KEY=tu-api-key-aqui
Variable Descripción
ANTHROPIC_BASE_URL Redirige el SDK de Anthropic hacia la API de MiniMax
ANTHROPIC_API_KEY Tu API key de MiniMax

Importante: Nunca subas el archivo .env a un repositorio. Agrega .env a tu .gitignore.

5. Código Básico

Crear el archivo main.py:

from dotenv import load_dotenv
load_dotenv()

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="MiniMax-M2.5",
    max_tokens=1000,
    system="You are a helpful assistant.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Hi, how are you?"
                }
            ]
        }
    ]
)

for block in message.content:
    if block.type == "thinking":
        print(f"Thinking:\n{block.thinking}\n")
    elif block.type == "text":
        print(f"Text:\n{block.text}\n")

6. Ejecutar

python main.py

Salida esperada:

Text:
Hi there! I'm doing well, thanks for asking. Ready to help you with whatever you need...

7. Ejemplos Avanzados

Conversación Multi-turno

from dotenv import load_dotenv
load_dotenv()

import anthropic

client = anthropic.Anthropic()

messages = []

while True:
    user_input = input("Tú: ")
    if user_input.lower() in ("salir", "exit", "quit"):
        break

    messages.append({
        "role": "user",
        "content": user_input
    })

    response = client.messages.create(
        model="MiniMax-M2.5",
        max_tokens=1000,
        system="You are a helpful assistant that responds in Spanish.",
        messages=messages
    )

    assistant_text = response.content[0].text
    print(f"MiniMax: {assistant_text}\n")

    messages.append({
        "role": "assistant",
        "content": assistant_text
    })

Streaming (Respuesta en Tiempo Real)

from dotenv import load_dotenv
load_dotenv()

import anthropic

client = anthropic.Anthropic()

print("MiniMax: ", end="", flush=True)

with client.messages.stream(
    model="MiniMax-M2.5",
    max_tokens=1000,
    system="You are a helpful assistant.",
    messages=[
        {"role": "user", "content": "Explain what Python is in 3 sentences."}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

print()

Generar Código

from dotenv import load_dotenv
load_dotenv()

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="MiniMax-M2.5",
    max_tokens=2000,
    system="You are an expert Python developer. Return only code, no explanations.",
    messages=[
        {
            "role": "user",
            "content": "Create a function that validates an email address using regex"
        }
    ]
)

print(message.content[0].text)

8. Parámetros del Modelo

Parámetro Tipo Descripción
model string Modelo a usar (MiniMax-M2.5)
max_tokens int Máximo de tokens en la respuesta
system string Instrucción de sistema (personalidad del asistente)
messages list Historial de mensajes de la conversación
temperature float Creatividad (0.0 = determinista, 1.0 = creativo)
top_p float Nucleus sampling (alternativa a temperature)
stop_sequences list Secuencias donde el modelo deja de generar

Ejemplo con parámetros adicionales:

message = client.messages.create(
    model="MiniMax-M2.5",
    max_tokens=500,
    temperature=0.7,
    stop_sequences=["\n\n"],
    system="You are a creative writer.",
    messages=[
        {"role": "user", "content": "Write a short poem about coding"}
    ]
)

9. Estructura Final del Proyecto

minimax-demo/
├── venv/           # Entorno virtual
├── .env            # Variables de entorno (NO subir a git)
├── .gitignore      # Ignorar venv/ y .env
└── main.py         # Script principal

.gitignore recomendado:

venv/
.env
__pycache__/
*.pyc

10. Solución de Problemas

Error: AuthenticationError

Tu API key es inválida o no está configurada. Verifica el archivo .env.

Error: Connection refused

Verifica que ANTHROPIC_BASE_URL sea exactamente https://api.minimax.io/anthropic.

Error: ModuleNotFoundError: No module named 'dotenv'

Instala el paquete:

pip install python-dotenv

El .env no se carga

Asegúrate de que load_dotenv() se llame antes de importar anthropic:

from dotenv import load_dotenv
load_dotenv()  # <-- primero

import anthropic  # <-- después

Recursos