サポートされている機能
Aihubmixプロバイダーは以下のAI機能をサポートしており、あなたの製品がLLM駆動に限定されなくなります:- テキスト生成:様々なモデルを使用してテキストコンテンツを生成します
- ストリーミングテキスト:リアルタイムのテキストストリーミング
- 画像生成:テキストプロンプトから画像を生成します
- ベクトル埋め込み:単一およびバッチのテキスト埋め込み
- オブジェクト生成:構造化データの生成
- ストリーミングオブジェクト:リアルタイムの構造化データストリーミング
- 音声合成:テキストを音声に変換します
- 文字起こし:音声をテキストに変換します
- ツール:ウェブ検索やその他のツール
インストール
Aihubmixは@aihubmix/ai-sdk-provider モジュールで利用可能です。@aihubmix/ai-sdk-provider を介してインストールします:
npm i @aihubmix/ai-sdk-provider@0.0.1
npm i @aihubmix/ai-sdk-provider
プロバイダーインスタンス
@aihubmix/ai-sdk-provider からデフォルトのプロバイダーインスタンス aihubmix をインポートできます:
import { aihubmix } from '@aihubmix/ai-sdk-provider';
設定
Aihubmix APIキーを環境変数として設定し、安全な読み取りを確保します:export AIHUBMIX_API_KEY="your-api-key-here"
import { createAihubmix } from '@aihubmix/ai-sdk-provider';
const aihubmix = createAihubmix({
apiKey: 'your-api-key-here',
});
使用方法
必要な関数をインポートします:import { createAihubmix } from '@aihubmix/ai-sdk-provider';
import {
generateText,
streamText,
generateImage,
embed,
embedMany,
generateObject,
streamObject,
generateSpeech,
transcribe
} from 'ai';
import { z } from 'zod';
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';
const { text } = await generateText({
model: aihubmix('o4-mini'),
prompt: 'Write a vegetarian lasagna recipe for four people.',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';
const { text } = await generateText({
model: aihubmix('claude-3-7-sonnet-20250219'),
prompt: 'Explain quantum computing in simple terms.',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';
const { text } = await generateText({
model: aihubmix('gemini-2.5-flash'),
prompt: 'Create a Python script to sort a list of numbers.',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { streamText } from 'ai';
const result = streamText({
model: aihubmix('gpt-3.5-turbo'),
prompt: 'Write a short story about a robot learning to paint.',
maxOutputTokens: 256,
temperature: 0.3,
maxRetries: 3,
});
let fullText = '';
for await (const textPart of result.textStream) {
fullText += textPart;
process.stdout.write(textPart);
}
console.log('\n使用状況:', await result.usage);
console.log('完了理由:', await result.finishReason);
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateObject } from 'ai';
import { z } from 'zod';
const result = await generateObject({
model: aihubmix('gpt-4o-mini'),
schema: z.object({
recipe: z.object({
name: z.string(),
ingredients: z.array(
z.object({
name: z.string(),
amount: z.string(),
}),
),
steps: z.array(z.string()),
}),
}),
prompt: 'Generate a lasagna recipe.',
});
console.log(JSON.stringify(result.object.recipe, null, 2));
console.log('トークン使用状況:', result.usage);
console.log('完了理由:', result.finishReason);
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { streamObject } from 'ai';
import { z } from 'zod';
const result = await streamObject({
model: aihubmix('gpt-4o-mini'),
schema: z.object({
recipe: z.object({
name: z.string(),
ingredients: z.array(
z.object({
name: z.string(),
amount: z.string(),
}),
),
steps: z.array(z.string()),
}),
}),
prompt: 'Generate a lasagna recipe.',
});
for await (const objectPart of result.partialObjectStream) {
console.log(objectPart);
}
console.log('トークン使用状況:', result.usage);
console.log('最終オブジェクト:', result.object);
// Aihubmixプロバイダーは、ウェブ検索を含む様々なツールをサポートしています:
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';
const { text } = await generateText({
model: aihubmix('gpt-4'),
prompt: 'What are the latest developments in AI?',
tools: {
webSearchPreview: aihubmix.tools.webSearchPreview({
searchContextSize: 'high',
}),
},
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: aihubmix.image('gpt-image-1'),
prompt: 'A beautiful sunset over the mountains',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateSpeech } from 'ai';
const { audio } = await generateSpeech({
model: aihubmix.speech('tts-1'),
text: 'Hello, this is a text-to-speech test.',
});
// 音声ファイルを保存
await saveAudioFile(audio);
console.log('音声生成成功:', audio);
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { transcribe } from 'ai';
const { text } = await transcribe({
model: aihubmix.transcription('whisper-1'),
audio: audioFile,
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { embed } from 'ai';
const { embedding } = await embed({
model: aihubmix.embedding('text-embedding-ada-002'),
value: 'こんにちは、世界!',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { embedMany } from 'ai';
const { embeddings, usage } = await embedMany({
model: aihubmix.embedding('text-embedding-3-small'),
values: [
'ビーチの晴れた日',
'街の雨の午後',
'山間の雪の夜',
],
});
console.log('埋め込みベクトル:', embeddings);
console.log('使用状況:', usage);
関連リソース:
最終更新日:2026-06-01