Фреймворки
Vercel AI SDK
Подключить Hubris к Vercel AI SDK через @ai-sdk/openai-compatible.
Vercel AI SDK
Vercel AI SDK подключается к Hubris через провайдер @ai-sdk/openai-compatible — он принимает любой OpenAI-совместимый endpoint.
Установка
npm install ai @ai-sdk/openai-compatible
Подключение
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
const hubris = createOpenAICompatible({
name: "hubris",
baseURL: "https://api.hubris.pw/v1",
apiKey: process.env.HUBRIS_API_KEY,
});
generateText (одиночный запрос)
import { generateText } from "ai";
const { text } = await generateText({
model: hubris.chatModel("anthropic/claude-haiku-4.5"),
prompt: "Привет, как дела?",
});
console.log(text);
streamText (стриминг)
import { streamText } from "ai";
const { textStream } = await streamText({
model: hubris.chatModel("anthropic/claude-haiku-4.5"),
prompt: "Расскажи короткую историю",
});
for await (const chunk of textStream) {
process.stdout.write(chunk);
}
С tool calling
import { generateText, tool } from "ai";
import { z } from "zod";
const result = await generateText({
model: hubris.chatModel("anthropic/claude-haiku-4.5"),
prompt: "Какая погода в Москве?",
tools: {
getWeather: tool({
description: "Текущая погода в городе",
parameters: z.object({ city: z.string() }),
execute: async ({ city }) => ({ city, temp: 5, condition: "sunny" }),
}),
},
});
Использование в Next.js Route Handler
// app/api/chat/route.ts
import { streamText } from "ai";
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
const hubris = createOpenAICompatible({
name: "hubris",
baseURL: "https://api.hubris.pw/v1",
apiKey: process.env.HUBRIS_API_KEY,
});
export async function POST(req: Request) {
const { messages } = await req.json();
const result = await streamText({
model: hubris.chatModel("anthropic/claude-haiku-4.5"),
messages,
});
return result.toDataStreamResponse();
}
Что дальше
- Каталог моделей — все идентификаторы.
- POST /v1/chat/completions — полная схема параметров.