Neon AI Gateway

Neon AI Gateway

Neon AI Gateway는 Neon에 내장된 모델 게이트웨이예요. 브랜치 범위(branch-scoped) Neon 자격 증명으로 OpenAI, Anthropic, Google, Meta, Alibaba 및 기타 provider의 모델에 접근할 수 있어요. AI SDK용 Neon provider는 각 모델을 필요한 게이트웨이 엔드포인트로 라우팅해요.

텍스트 생성, 스트리밍, 도구 호출, 구조화 출력, 이미지 입력을 지원해요. 모델은 호스트가 누구든 gpt-5-mini 또는 gemini-3-5-flash 같은 짧은 ID로 참조되며, 모든 요청은 Neon 브랜치에 범위가 지정돼요.

참고: Neon AI Gateway는 베타 단계예요. 사용하려면 유료 Neon 플랜과 AWS US East (Ohio) 리전(aws-us-east-2)의 프로젝트가 필요해요. 베타 기간 동안 추론은 무료예요. 현재 가용성과 가격은 AI Gateway overview에 문서화되어 있어요.

출처: 문서

본문

셋업 (Setup)

Neon provider는 @neon/ai-sdk-provider 패키지에서 사용할 수 있어요. Node.js 22 이상이 필요해요. AI SDK 7과 함께 설치하세요:

npm install ai @neon/ai-sdk-provider

Neon Console에서 브랜치를 열고 ai_gateway:invoke 범위로 자격 증명을 만드세요. 브랜치의 AI Gateway URL과 자격 증명을 환경에 설정하세요:

NEON_AI_GATEWAY_BASE_URL=https://<branch-id>-api.ai.<cell>.us-east-2.aws.neon.tech
NEON_AI_GATEWAY_TOKEN=nt_live_...

API 경로 없이 브랜치 게이트웨이 URL만 사용하세요. provider가 각 모델에 대한 경로를 추가해요.

Neon CLI를 사용한다면 neon env pull이 현재 브랜치에 대한 두 변수를 .env 파일에 써 줘요.

Neon AI Gateway quickstart가 자격 증명 만들기와 브랜치 URL 찾는 법을 설명해요.

Provider 인스턴스 (Provider Instance)

패키지는 기본 neon provider를 내보내요. 환경에서 NEON_AI_GATEWAY_BASE_URL과 NEON_AI_GATEWAY_TOKEN을 읽어요:

import { neon } from '@neon/ai-sdk-provider';

브랜치 URL과 자격 증명을 명시적으로 전달하려면 createNeon을 사용하세요:

import { createNeon } from '@neon/ai-sdk-provider';

const neon = createNeon({
  baseURL: process.env.NEON_AI_GATEWAY_BASE_URL,
  apiKey: proces...KEN,
});

createNeon은 커스텀 headers와 커스텀 fetch 구현도 받아요.

언어 모델 (Language Models)

Neon 모델 ID로 provider를 호출해 언어 모델을 만들 수 있어요:

const model = neon('gpt-5-mini');

provider를 전환하려면 모델 ID를 바꾸세요:

const openAIModel = neon('gpt-5-mini');
const anthropicModel = neon('claude-haiku-4-5');
const googleModel = neon('gemini-3-5-flash');
const metaModel = neon('llama-4-maverick');
const alibabaModel = neon('qwen3-next-80b-a3b-instruct');

모델 ID가 provider가 사용할 엔드포인트를 결정해요. OpenAI 모델은 Responses API를, Anthropic 모델은 Messages API를, 그 외 모델은 Neon의 통합 OpenAI 호환 엔드포인트를 사용해요. provider는 정식(canonical) 모델 ID뿐 아니라 레거시 databricks- 접두사 형식(예: databricks-gpt-5)도 받아들여요.

Neon은 가용성 변화에 따라 모델 카탈로그를 업데이트해요. 모델 ID를 고르기 전에 Neon model catalog를 확인하세요. 카탈로그는 models.dev의 neon provider로도 게시돼요.

예시 (Examples)

generateText

import { neon } from '@neon/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: neon('gpt-5-mini'),
  prompt: 'What is serverless Postgres?',
});

console.log(text);

streamText

import { neon } from '@neon/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: neon('gemini-3-5-flash'),
  prompt: 'Write a short story about a database branch.',
});

for await (const textPart of result.textStream) {
  process.stdout.write(textPart);
}

이미지 생성 (Image Generation)

이미지 생성을 지원하는 OpenAI 모델의 경우 neon.tools.imageGeneration이 Responses API image_generation 도구를 노출해요. streamText를 사용해 생성된 이미지를 도구 결과로 받으세요:

import { neon } from '@neon/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: neon('gpt-5-mini'),
  prompt: 'Generate an image of a neon elephant in a server room.',
  tools: {
    image: neon.tools.imageGeneration({ outputFormat: 'png' }),
  },
});

for await (const part of result.stream) {
  if (part.type === 'tool-result' && 'result' in part.output) {
    const image = Buffer.from(part.output.result as string, 'base64');
    // Save or return the generated image.
  }
}

이미지 생성은 AI SDK 이미지 모델이 아니라 도구를 통해 작동해요. provider는 generateImage(), embed(), embedMany()를 지원하지 않아요.

브랜치 범위 인증 (Branch-Scoped Authentication)

Neon은 각 게이트웨이 URL을 브랜치에 바인딩해요. 자격 증명은 생성된 브랜치와 그로부터 파생된 브랜치에서 작동해요. 예를 들어 main에서 포크한 프리뷰 브랜치는 main에서 만든 자격 증명을 사용할 수 있어요. 무관한 브랜치는 사용할 수 없어요.

모델 요청은 데이터베이스와 동일한 브랜치 격리를 따라요. AI Gateway authentication guide가 자격 증명 생성, 교체, 브랜치 바인딩을 다뤄요.

더 알아보기 (Learn more)