Construye apps de Next.js y React impulsadas por IA con Venice AI y el Vercel AI SDK
El Vercel AI SDK es la forma más popular de construir funciones de IA en aplicaciones Next.js, React, Svelte y Vue. Venice funciona out of the box como proveedor compatible con OpenAI.
Crea un proveedor de Venice usando el adaptador compatible con OpenAI:
// lib/venice.tsimport { createOpenAI } from '@ai-sdk/openai';const openai = createOpenAI({ apiKey: process.env.VENICE_API_KEY!, baseURL: 'https://api.venice.ai/api/v1',});// Usa .chat() para asegurar la compatibilidad con el endpoint chat completions de Veniceexport const venice = (modelId: string) => openai.chat(modelId);
Usar .chat() garantiza que las solicitudes vayan al endpoint /chat/completions de Venice. La sintaxis predeterminada openai('model') puede usar endpoints más nuevos de OpenAI que Venice aún no admite.
import { streamText, tool } from 'ai';import { venice } from '@/lib/venice';import { z } from 'zod';const result = streamText({ model: venice('zai-org-glm-5-1'), messages: [{ role: 'user', content: 'What is the weather in Tokyo?' }], tools: { getWeather: tool({ description: 'Get current weather for a location', parameters: z.object({ location: z.string().describe('City name'), }), execute: async ({ location }) => { // Tu llamada a la API del tiempo aquí return { temperature: 22, condition: 'Sunny', location }; }, }), },});for await (const part of result.fullStream) { if (part.type === 'text-delta') { process.stdout.write(part.textDelta); } else if (part.type === 'tool-result') { console.log('Tool result:', part.result); }}
import { streamText } from 'ai';import { venice } from '@/lib/venice';const result = streamText({ model: venice('venice-uncensored'), messages: [{ role: 'user', content: 'What happened in AI news today?' }], // Parámetros específicos de Venice experimental_providerMetadata: { venice_parameters: { enable_web_search: 'auto', }, },});
Si experimental_providerMetadata no pasa, puedes usar un wrapper de fetch personalizado o llamar directamente a la API de Venice para las funciones de búsqueda web.