Vercel AI SDK
AI SDK dapat digunakan dengan Inferray melalui provider standarnya. Pilih provider dengan format API yang Anda inginkan; semuanya mengakses model yang sama.
Provider yang kompatibel dengan OpenAI
Opsi paling langsung: Chat Completions untuk setiap model.
npm install ai @ai-sdk/openai-compatible
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText, streamText } from "ai";
const inferray = createOpenAICompatible({
name: "inferray",
baseURL: "https://api.inferray.com/v1",
apiKey: process.env.INFERRAY_API_KEY,
});
const { text } = await generateText({
model: inferray("claude-sonnet-4-6"),
prompt: "Write a haiku about caching.",
});
const result = streamText({
model: inferray("gpt-5.5"),
prompt: "Explain backpressure in two sentences.",
});
for await (const delta of result.textStream) process.stdout.write(delta);
Tools
import { generateText, stepCountIs, tool } from "ai";
import { z } from "zod";
const { text } = await generateText({
model: inferray("gpt-5.5"),
tools: {
weather: tool({
description: "Current weather for a city",
inputSchema: z.object({ city: z.string() }),
execute: async ({ city }) => ({ city, temperatureC: 18 }),
}),
},
stopWhen: stepCountIs(5),
prompt: "Do I need a jacket in Berlin?",
});
generateObject dan structured output bekerja dengan cara yang sama, pada model yang mendukung structured outputs.
Gambar dan embedding
import { embedMany, generateImage } from "ai";
const { image } = await generateImage({
model: inferray.imageModel("gpt-image-2"),
prompt: "A lighthouse in a storm, oil painting",
});
const { embeddings } = await embedMany({
model: inferray.textEmbeddingModel("text-embedding-3-small"),
values: ["first document", "second document"],
});
Versi AI SDK yang lebih lama mengekspor generateImage sebagai experimental_generateImage.
Provider OpenAI dan Anthropic
@ai-sdk/openai menggunakan Responses API, dan @ai-sdk/anthropic menggunakan Messages API. Keduanya menerima Base URL:
import { createOpenAI } from "@ai-sdk/openai";
import { createAnthropic } from "@ai-sdk/anthropic";
const openai = createOpenAI({ baseURL: "https://api.inferray.com/v1", apiKey: process.env.INFERRAY_API_KEY });
const anthropic = createAnthropic({ baseURL: "https://api.inferray.com/v1", apiKey: process.env.INFERRAY_API_KEY });
await generateText({ model: anthropic("claude-opus-4-8"), prompt: "Hello" });
Gunakan provider ini jika Anda membutuhkan opsi khusus provider, seperti opsi provider thinking atau cacheControl milik Anthropic.
String model biasa (protokol gateway)
Saat Anda memberikan string biasa — model: "claude-sonnet-4-6" — AI SDK menyelesaikannya melalui provider gateway default-nya, yang menggunakan wire protocol sendiri. Inferray juga mendukung protokol tersebut, sehingga aplikasi yang ditulis dengan cara itu cukup diarahkan ulang provider-nya:
import { createGateway } from "@ai-sdk/gateway";
globalThis.AI_SDK_DEFAULT_PROVIDER = createGateway({
baseURL: "https://api.inferray.com/v3/ai",
apiKey: process.env.INFERRAY_API_KEY,
});
| AI SDK | Base URL |
|---|---|
| 5 | https://api.inferray.com/v1/ai |
| 6 | https://api.inferray.com/v3/ai |
| 7 | https://api.inferray.com/v4/ai |
Gunakan ID model Inferray persis seperti yang tercantum di katalog, tanpa prefiks provider. gateway.getAvailableModels() menampilkan daftar model teks yang dapat digunakan oleh key Anda, dan gateway.getCredits() mengembalikan saldo Anda. Pembuatan teks, streaming, function tools, dan input gambar didukung pada protokol ini; tools bawaan provider tidak didukung.