AIModelImpl
subclasses AILocalModelImpl, AIRemoteModelImpl
PivotAIModel 구현체의 공통 베이스.
name/description, 등록된 명령 캐시, registerCommands 흐름(서버 전송 → 캐시 갱신),
AICommand → JSONSchema 변환을 제공한다.
실제 전송(_doRegisterCommands)과 질의(call)는 서브클래스가 구현한다.
Properties
systemContext: string (opens in a new tab) readonly
호출 측(피벗)이 설정하는 시스템 컨텍스트.
데이터 필드 메타·동작 지시문 등을 담으며, LLM 호출 시 system 메시지로 사용된다.
default: undefined
tools: Array (opens in a new tab)<AIToolSchema> readonly
모델에 등록된 도구 목록.
default: undefined
Methods
call(api, query, toolChoice?): Promise (opens in a new tab)<AIConversationTurn>
사용자의 자연어 요청을 전달하고 LLM의 응답을 받는다.
| Parameter | Type |
|---|---|
| api | PivotAIApi |
| query | string (opens in a new tab) |
| toolChoice | AIToolChoice |
dispose(): null
객체를 해제하고 null을 반환한다.
사용 예: this._obj = this._obj.dispose();
return null
registerTools(tools, clear?): Promise (opens in a new tab)<void (opens in a new tab)>
명령(도구) 목록을 등록한다.
전송(_doRegisterTools)이 성공한 경우에만 로컬 캐시를 갱신한다.
clear가 true이면 기존 목록을 비운 뒤 등록하고, false(기본)이면 추가한다.
| Parameter | Type |
|---|---|
| tools | Array (opens in a new tab)<AIToolSchema> |
| clear | boolean (opens in a new tab) |
setDeveloperContext(context?): void (opens in a new tab)
개발자 컨텍스트를 설정한다(개발자 관련 정보가 필요할 때 호출 측에서 지정).
undefined를 전달하면 컨텍스트를 해제한다.
| Parameter | Type |
|---|---|
| context | string (opens in a new tab) |
setSystemContext(context?): void (opens in a new tab)
시스템 컨텍스트를 설정한다(피벗 데이터·필드가 정해질 때 호출 측에서 지정).
undefined를 전달하면 컨텍스트를 해제한다.
| Parameter | Type |
|---|---|
| context | string (opens in a new tab) |