Cencori 프로바이더
Cencori 프로바이더
Cencori는 AI 애플리케이션을 위한 통합 인프라 레이어예요. 단일 API 하나로 보안, 관측성(observability), 멀티 프로바이더 지원을 내장하고 있어요.
Cencori를 사용하면 다음과 같은 기능을 얻을 수 있어요:
- 멀티 프로바이더 게이트웨이: OpenAI, Anthropic, Google Gemini, Mistral, DeepSeek 등을 하나의 API로 접근
- 내장 보안: 자동 PII(개인정보) 탐지, 프롬프트 인젝션 보호, 콘텐츠 필터링
- 완전한 관측성: 모든 요청에 대한 전체 감사 로그, 분석, 비용 추적
- 투명한 과금: 실시간 비용 확인이 가능한 크레딧 기반 결제
출처: 문서
본문
설정 (Setup)
Cencori 프로바이더는 cencori 모듈에서 사용할 수 있어요. 다음과 같이 설치할 수 있어요:
프로바이더 인스턴스 (Provider Instance)
Cencori 프로바이더 인스턴스를 만들려면 createCencori 함수를 사용하세요:
import { createCencori } from 'cencori/vercel';
const cencori = createCencori({
apiKey: 'YOUR_...EY',
});
Cencori API 키는 Cencori 대시보드에서 받을 수 있어요.
환경 변수 (Environment Variable)
또는 CENCORI_API_KEY 환경 변수를 설정하고 기본 프로바이더를 사용할 수 있어요:
import { cencori } from 'cencori/vercel';
// CENCORI_API_KEY 환경 변수를 사용
const model = cencori('gpt-4o');
언어 모델 (Language Models)
Cencori는 여러 제공업체의 언어 모델에 대한 접근을 제공해요. 프로바이더 함수를 직접 사용해 모델을 만들 수 있어요:
// OpenAI 모델
const gpt4o = cencori('gpt-4o');
const gpt4oMini = cencori('gpt-4o-mini');
// Anthropic 모델
const claude = cencori('claude-3-5-sonnet');
const opus = cencori('claude-3-opus');
// Google Gemini 모델
const gemini = cencori('gemini-2.5-flash');
const geminiPro = cencori('gemini-3.1-pro-preview');
// 기타 프로바이더
const mistral = cencori('mistral-large');
const deepseek = cencori('deepseek-v3.2');
const grok = cencori('grok-4');
const llama = cencori('llama-3-70b');
사용 가능한 전체 모델 목록은 Cencori 문서에서 확인할 수 있어요.
예시 (Examples)
다음은 AI SDK와 함께 Cencori를 사용하는 예시예요:
generateText
import { cencori } from 'cencori/vercel';
import { generateText } from 'ai';
const { text } = await generateText({
model: cencori('gpt-4o'),
prompt: 'What is Cencori?',
});
console.log(text);
streamText
import { cencori } from 'cencori/vercel';
import { streamText } from 'ai';
const result = streamText({
model: cencori('claude-3-5-sonnet'),
prompt: 'Write a short story about AI safety.',
});
for await (const chunk of result.textStream) {
console.log(chunk);
}
도구 호출 (Tool Calling)
Cencori는 호환되는 모든 모델에서 도구 호출을 지원해요:
import { cencori } from 'cencori/vercel';
import { generateText, tool } from 'ai';
import { z } from 'zod';
const { text, toolCalls } = await generateText({
model: cencori('gpt-4o'),
prompt: 'What is the weather in San Francisco?',
tools: {
getWeather: tool({
description: 'Get the weather for a location',
inputSchema: z.object({
location: z.string().describe('The city and state'),
}),
execute: async ({ location }) => {
return { temperature: 72, condition: 'sunny', location };
},
}),
},
});
console.log(text, toolCalls);
Next.js 라우트 핸들러 (Route Handler)
import { cencori } from 'cencori/vercel';
import { streamText } from 'ai';
export async function POST(req: Request) {
const { messages } = await req.json();
const result = streamText({
model: cencori('gemini-2.5-flash'),
messages,
});
return result.toDataStreamResponse();
}
useChat 훅 (useChat Hook)
'use client';
import { useChat } from '@ai-sdk/react';
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit } = useChat({
api: '/api/chat',
});
return (
<div>
{messages.map(m => (
<div key={m.id}>
{m.role}: {m.content}
</div>
))}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
<button type="submit">Send</button>
</form>
</div>
);
}
고급 기능 (Advanced Features)
Cencori는 AI 애플리케이션을 향상시키는 여러 고급 기능을 제공해요:
-
내장 보안 (Built-in Security): 모든 요청은 PII 탐지, 프롬프트 인젝션 보호, 유해 콘텐츠 필터링을 포함한 자동 안전 필터를 거쳐요. 안전 정책을 위반하는 요청은 모델에 도달하기 전에 차단돼요.
-
멀티 프로바이더 라우팅 (Multi-Provider Routing): 코드 변경 없이 15개 이상의 AI 제공업체(OpenAI, Anthropic, Google, Mistral, DeepSeek, xAI 등) 사이를 전환할 수 있어요. Cencori가 라우팅을 자동으로 처리해요.
-
비용 추적 (Cost Tracking): 모든 요청에 대한 실시간 비용 추적과 분석을 제공해요. 대시보드에서 모델·프로바이더·프로젝트별 상세 내역을 확인할 수 있어요.
-
완전한 감사 로그 (Complete Audit Logs): 모든 요청은 컴플라이언스와 디버깅을 위해 전체 페이로드, 토큰 사용량, 비용, 안전 점수와 함께 기록돼요.
-
자체 API 키 사용 (Bring Your Own Keys, BYOK): Cencori의 보안·관측성 레이어의 혜택을 누리면서도 각 프로바이더에 자신의 API 키를 사용할 수 있어요.
-
프로바이더 장애 조치 (Provider Failover): 기본 프로바이더를 사용할 수 없으면 백업 프로바이더로 자동 전환돼요.
이 기능들과 고급 설정 옵션에 대한 자세한 내용은 Cencori 문서를 참고하세요.
프로바이더 옵션 (Provider Options)
추가 옵션으로 프로바이더를 커스터마이즈할 수 있어요:
import { createCencori } from 'cencori/vercel';
const cencori = createCencori({
apiKey: 'YOUR_...EY',
baseUrl: 'https://cencori.com', // 커스텀 기본 URL (선택)
headers: {
// 커스텀 헤더 (선택)
'X-Custom-Header': 'value',
},
});
모델별 옵션 (Model-Specific Options)
모델별 옵션도 전달할 수 있어요:
const model = cencori('gpt-4o', {
userId: 'user-123', // 사용자별 사용량 추적
});