Salesforce/Agentforce

[Agentforce] Models API

리보리 2025. 11. 2. 17:09

Model API

정의

  • Salesforce가 지원하는 파트너 모델(OpenAI, Anthropic, Google 등)과 Einstein Studio에서 구성한 BYOM을 하나의 표준 REST/Apex 인터페이스로 호출 가능
  • 모든 호출은 Einstein Trust Layer(데이터 마스킹, 독성 스코어링 등) 적용
  • 과금은 Einstein Requests 기준



엔드포인트

CapabilityHTTPPath설명

Generate ChatPOST/models/{modelName}/chat-generations멀티턴 대화 메시지(system/user/assistant) 목록을 입력으로 챗응답 생성
Generate TextPOST/models/{modelName}/generations단일 프롬프트 입력으로 텍스트 생성
Generate EmbeddingsPOST/models/{modelName}/embeddings입력 텍스트에 대한 임베딩 벡터 생성
Submit FeedbackPOST/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분 동안 허용하는 최대 호출 횟수



개발자 문서