지원 기능
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 4 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 in 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 test of speech synthesis.',
});
// 오디오 파일 저장
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: 'Hello, world!',
});
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { embedMany } from 'ai';
const { embeddings, usage } = await embedMany({
model: aihubmix.embedding('text-embedding-3-small'),
values: [
'A sunny day at the beach',
'A rainy afternoon in the city',
'A snowy night in the mountains',
],
});
console.log('임베딩 벡터:', embeddings);
console.log('사용량:', usage);
관련 자료:
마지막 업데이트: 2026-06-01