Model API
정의
- Salesforce가 지원하는 파트너 모델(OpenAI, Anthropic, Google 등)과 Einstein Studio에서 구성한 BYOM을 하나의 표준 REST/Apex 인터페이스로 호출 가능
- 모든 호출은 Einstein Trust Layer(데이터 마스킹, 독성 스코어링 등) 적용
- 과금은 Einstein Requests 기준
엔드포인트
CapabilityHTTPPath설명
| Generate Chat | POST | /models/{modelName}/chat-generations | 멀티턴 대화 메시지(system/user/assistant) 목록을 입력으로 챗응답 생성 |
| Generate Text | POST | /models/{modelName}/generations | 단일 프롬프트 입력으로 텍스트 생성 |
| Generate Embeddings | POST | /models/{modelName}/embeddings | 입력 텍스트에 대한 임베딩 벡터 생성 |
| Submit Feedback | POST | /feedback | 생성물에 대한 피드백 제출 |
Chat(멀티턴)
- system / user / assistant 3가지 역할을 지원
- 시스템 지침은 system 메시지로 제공
- localization 객체에 defaultLocale(필수, localization를 쓸 때)를 설정하고, 필요하면 inputLocales, expectedLocales를 함께 전달
- 로케일을 정확히 주면 데이터 마스킹/독성 스코어링/피드백 처리 효과가 좋아짐
POST https://api.salesforce.com/einstein/platform/v1/models/{modelName}/chat-generations
{
"messages": [
{"role":"system","content":"...지침..."},
{"role":"user","content":"...질문..."}
],
"localization": { "defaultLocale": "ko-KR" }
}
Text(단일 프롬프트)
- prompt에 지침을 프롬프트 앞부분에 포함시켜 보냄
POST https://api.salesforce.com/einstein/platform/v1/models/{modelName}/generations
{
"prompt": "..."
}
임베딩
- 정의: 자연어 텍스트를 숫자 벡터로 표현(의미가 비슷하면 가까움).
- 유사도 검색(semantic search), RAG, 분류/클러스터링, 중복 탐지 등에서 사용함.
- Models API의 “Generate Embeddings” 엔드포인트로 벡터를 만들 수 있음
POST https://api.salesforce.com/einstein/platform/v1/models/{modelName}/embeddings
{
"input": ["환불 정책은 무엇인가요?", "비밀번호 재설정 방법을 단계별로 알려줘."],
"localization": { "defaultLocale": "ko-KR" }
}Prompt Builder(템플릿 호출) vs Models API
- Prompt Builder + Connect API: 지침/머지필드/버전이 템플릿 내부에 있고, 호출자는 템플릿 ID만 실행.
- Models API: 지침/대화 이력/모델 구성 전환/임베딩 생성 등 저수준을 코드에서 직접 제어.
가격 및 리밋
- Models API 호출은 Einstein Requests 과금 체계를 따름(요율표 별도)
- 생성(챗/텍스트): 기본 500 RPM/ORG당.
- 임베딩·피드백: 1,000 RPM/ORG당. 한도 초과 시 429를 반환.
- Apex로 호출하면 Apex Callout 리밋 함께 적용
** 레이트 리밋(rate limit): 일정 시간당 보낼 수 있는 API 요청 수의 상한
** RPM (Requests Per Minute): 분당 요청 수 = 1분 동안 허용하는 최대 호출 횟수
개발자 문서