Nuevos usuariosPlanes gratuitos de DNS y CDN para cada cuenta nueva.Crear una cuenta

Primeros pasos con Yeap LLM API mediante el SDK de OpenAI

Yeap LLM API es compatible con OpenAI: conserve su SDK y apunte base_url a https://llm.yeap.cloud/v1. Incluye creación de claves, ejemplos en Python y Node.js, streaming, embeddings y límites de cuota, modelos e IP por clave.

Yeap LLM API es una pasarela de modelos compatible con OpenAI. El objetivo es sencillo: no tener que aprender a usar otro SDK ni reescribir código. Conserve su SDK de OpenAI actual, cambie base_url a https://llm.yeap.cloud/v1, utilice una clave de API de Yeap y estará listo para empezar. El uso se factura por token con cargo al saldo de su cuenta de Yeap, el mismo que utilizan sus otros productos de Yeap.

Endpoints disponibles

EndpointFinalidad
POST /v1/chat/completionsGeneración de respuestas de chat, con streaming
POST /v1/completionsGeneración de continuaciones de texto
POST /v1/embeddingsEmbeddings
POST /v1/images/generationsGeneración de imágenes
POST /v1/audio/transcriptionsConversión de voz a texto
GET /v1/modelsListar los modelos disponibles para su clave

Todos los endpoints se autentican con Authorization: Bearer <key>. Los modelos y los precios cambian con el tiempo, y la lista de referencia es siempre GET /v1/models o la lista de modelos de la consola; por eso los ejemplos siguientes usan marcadores de posición en lugar de nombres de modelos concretos.

Paso 1: Cree una clave de API

Inicie sesión en console.yeap.cloud, vaya a LLM → Tokens y cree una clave. Puede configurar:

  • Nombre: recomendamos nombrarla por proyecto o entorno, por ejemplo, blog-summarizer-prod;
  • Cuota: un límite de gasto para esta clave, o sin límite;
  • Límites de modelos: restringir la clave a modelos concretos;
  • Límites de IP: aceptar solicitudes solo desde IP específicas;
  • Caducidad: la clave deja de funcionar automáticamente después de esta fecha y hora.

Las claves empiezan por sk-; guarde la suya en cuanto se cree. Utilice una clave distinta por proyecto y por entorno, y asigne una cuota baja a las claves de entornos que no sean de producción para limitar el impacto de una filtración.

Guarde la clave en una variable de entorno en lugar de incluirla en su repositorio:

export YEAP_API_KEY="sk-..."

Paso 2: Compruebe la conectividad con curl

curl https://llm.yeap.cloud/v1/models \
  -H "Authorization: Bearer $YEAP_API_KEY"

En la respuesta JSON, el id de cada elemento del arreglo data es un nombre de modelo que puede utilizar en las solicitudes.

Paso 3: Python

Instale el SDK oficial con pip install openai.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["YEAP_API_KEY"],
    base_url="https://llm.yeap.cloud/v1",
)

resp = client.chat.completions.create(
    model="your-model-id",  # pick one from /v1/models
    messages=[
        {"role": "system", "content": "You are a concise technical assistant."},
        {"role": "user", "content": "Explain what a CDN is in one sentence."},
    ],
)

print(resp.choices[0].message.content)
print(resp.usage)  # prompt_tokens / completion_tokens / total_tokens

Streaming

Las aplicaciones de chat suelen necesitar mostrar la salida a medida que se genera. Configure stream=True y la respuesta llegará de forma incremental como eventos enviados por el servidor:

stream = client.chat.completions.create(
    model="your-model-id",
    messages=[{"role": "user", "content": "Write a short poem about cache hits."}],
    stream=True,
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Embeddings

emb = client.embeddings.create(
    model="your-embedding-model-id",
    input=["Yeap CDN supports HTTP/3", "How to purge the cache"],
)
vectors = [item.embedding for item in emb.data]
print(len(vectors), len(vectors[0]))

Generación de imágenes y transcripción

Los endpoints de imagen y audio también utilizan los métodos estándar del SDK; basta con usar un modelo del tipo correspondiente:

# Image generation
img = client.images.generate(
    model="your-image-model-id",
    prompt="A minimalist illustration of a server room",
    size="1024x1024",
)
print(img.data[0].url or "base64 image returned")

# Speech to text
with open("meeting.mp3", "rb") as f:
    tr = client.audio.transcriptions.create(
        model="your-transcription-model-id",
        file=f,
    )
print(tr.text)

Los modelos pueden devolver las imágenes como URL o como base64, por lo que conviene contemplar ambos casos en su código.

Prácticas para mantener los costos previsibles

  • Configure max_tokens. Los tokens de salida suelen costar más que los de entrada. Un límite de salida razonable para cada tipo de solicitud evita facturas inesperadas por un modelo que sigue generando texto.
  • Reduzca el contexto. En las conversaciones de varios turnos, se vuelve a enviar todo el historial en cada turno. Resumir o recortar los turnos anteriores reduce considerablemente los tokens de entrada.
  • Adapte el modelo a la tarea. La clasificación, la extracción y la reescritura suelen funcionar bien con un modelo más pequeño; reserve los más grandes para tareas que realmente requieran razonamiento. Compare varios modelos en el Playground antes de elegir uno predeterminado.
  • Utilice las cuotas de las claves como última barrera. Aunque un error haga que su código llame a la API en un bucle, la cuota de la clave evita que el gasto se dispare.

Paso 4: Node.js

Instale con npm install openai.

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.YEAP_API_KEY,
  baseURL: "https://llm.yeap.cloud/v1",
});

const stream = await client.chat.completions.create({
  model: "your-model-id",
  messages: [{ role: "user", content: "List three ways to reduce API latency." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Cambiar sin modificar el código

Los SDK oficiales de OpenAI leen las variables de entorno OPENAI_BASE_URL y OPENAI_API_KEY. Si una herramienta o un script ya utiliza el SDK de OpenAI y prefiere no modificar su código, cambie únicamente el entorno:

export OPENAI_BASE_URL="https://llm.yeap.cloud/v1"
export OPENAI_API_KEY="$YEAP_API_KEY"

Lo mismo funciona con la mayoría de las herramientas de terceros que admiten un endpoint de API personalizado: configure el endpoint como https://llm.yeap.cloud/v1 y utilice su clave de Yeap.

Errores y reintentos

En producción, prevea los fallos:

  • 401: la clave no es válida o ha caducado, o la solicitud procede de una dirección que no está en la lista de IP permitidas para la clave. Revise la configuración de la clave.
  • Cuota insuficiente: las solicitudes se rechazan cuando se agota la cuota de una clave o el saldo de la cuenta es demasiado bajo, y el mensaje de error indica el motivo. Aumente la cuota de la clave o recargue el saldo en la consola.
  • 429 y 5xx: suelen ser errores transitorios y conviene reintentar con intervalos de espera crecientes. Los SDK de OpenAI reintentan automáticamente; ajuste la cantidad con max_retries y el tiempo de espera por solicitud con timeout.
client = OpenAI(
    api_key=os.environ["YEAP_API_KEY"],
    base_url="https://llm.yeap.cloud/v1",
    max_retries=3,
    timeout=60.0,
)

Supervisar el uso

Cada solicitud se registra con el modelo, la cantidad de tokens y el costo. En el menú LLM de la consola puede consultar los registros de solicitudes y las estadísticas, y ver el gasto por clave, lo que facilita separar los proyectos. Para comparar modelos antes de escribir código, pruébelos en el Playground de la consola directamente desde su navegador.

Resumen

Para empezar con Yeap LLM API necesita tres cosas: una clave, un base_url y un nombre de modelo de /v1/models. El resto del código ya lo tiene escrito.

Cree en Yeap Cloud

Planes gratuitos de DNS y CDN para cada cuenta nueva.

Registrarse gratis