¿Qué hace openrouter-typescript-sdk?
Referencia completa para integrar más de 300 modelos de IA a través del SDK de OpenRouter para TypeScript usando el patrón callModel.
Descripción
Este skill proporciona una guía detallada para usar el SDK de OpenRouter en TypeScript, permitiendo a los desarrolladores acceder a una amplia variedad de modelos de IA de diferentes proveedores mediante una interfaz unificada. El patrón callModel simplifica la invocación de modelos, manejando la selección automática del proveedor, la facturación y el enrutamiento de solicitudes.
Características principales
- Compatibilidad con más de 300 modelos: Accede a modelos de OpenAI, Anthropic, Google, Cohere, Meta y muchos otros.
- Patrón
callModelunificado: Una sola función para invocar cualquier modelo, independientemente del proveedor. - Configuración flexible: Define temperatura, tokens máximos, streaming y otros parámetros.
- Manejo de errores integrado: Captura y gestiona errores de la API de manera consistente.
- Ejemplos prácticos: Código listo para usar en aplicaciones reales.
Instalación
npm install openrouter
Uso básico
import { OpenRouter } from 'openrouter';
const client = new OpenRouter({
apiKey: process.env.OPENROUTER_API_KEY,
});
async function main() {
const response = await client.callModel({
model: 'openai/gpt-4',
messages: [
{ role: 'user', content: '¿Cuál es la capital de Francia?' }
],
});
console.log(response.choices[0].message.content);
}
main().catch(console.error);
Configuración avanzada
const response = await client.callModel({
model: 'anthropic/claude-3-sonnet',
messages: [
{ role: 'system', content: 'Eres un asistente útil.' },
{ role: 'user', content: 'Explica la teoría de la relatividad.' }
],
temperature: 0.5,
max_tokens: 1024,
stream: false,
});
Streaming
const stream = await client.callModel({
model: 'meta-llama/llama-3.1-8b-instruct',
messages: [{ role: 'user', content: 'Cuéntame una historia.' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
Manejo de errores
try {
const response = await client.callModel({
model: 'openai/gpt-4',
messages: [{ role: 'user', content: 'Hola' }],
});
} catch (error) {
if (error instanceof OpenRouterError) {
console.error('Error de OpenRouter:', error.message);
} else {
console.error('Error desconocido:', error);
}
}
Variables de entorno
OPENROUTER_API_KEY: Tu clave de API de OpenRouter (obligatoria).OPENROUTER_BASE_URL: URL base personalizada (opcional, por defectohttps://openrouter.ai/api/v1).
Enlaces útiles
Notas
- Asegúrate de tener una clave de API válida antes de usar el SDK.
- Los costos varían según el modelo y el proveedor seleccionados.