PivotAIModelManager
PivotAITypes에 정의된 AI 모델들을 등록·관리하고, 질의를 위임하는 매니저.
모델은 name으로 식별되며, 하나의 모델을 활성(active) 모델로 지정해 기본 질의 대상으로 사용한다.
Properties
activeModel: PivotAIModel readonly
현재 활성 모델. 등록된 모델이 없으면 null.
default: undefined
models: Array (opens in a new tab)<PivotAIModel> readonly
등록된 모든 모델 목록.
default: undefined
Methods
clear(): void (opens in a new tab)
등록된 모든 모델을 제거하고 활성 모델을 해제한다.
get(name): PivotAIModel
name에 해당하는 모델을 반환한다. 없으면 null.
| Parameter | Type |
|---|---|
| name | string (opens in a new tab) |
has(name): boolean (opens in a new tab)
name에 해당하는 모델이 등록되어 있는지 여부.
| Parameter | Type |
|---|---|
| name | string (opens in a new tab) |
query(api, query, modelName?, toolChoice?): Promise (opens in a new tab)<AIConversationTurn>
자연어 요청을 모델에 전달하여 응답을 받는다.
modelName을 지정하면 해당 모델로, 생략하면 활성 모델로 질의한다.
toolChoice로 도구 호출 정책(특정 명령 강제 등)을 지정할 수 있다.
질의할 모델이 없으면 예외를 throw한다(모델 호출 실패 또한 예외로 전파된다).
| Parameter | Type |
|---|---|
| api | PivotAIApi |
| query | string (opens in a new tab) |
| modelName | string (opens in a new tab) |
| toolChoice | AIToolChoice |
register(model, activate?): PivotAIModel
모델을 등록한다. 같은 name의 모델이 이미 있으면 교체한다.
활성 모델이 아직 없거나 activate가 true이면 이 모델을 활성 모델로 지정한다.
| Parameter | Type |
|---|---|
| model | PivotAIModel |
| activate | boolean (opens in a new tab) |
return 등록된 모델
registerTools(tools, clear?, modelName?): Promise (opens in a new tab)<void (opens in a new tab)>
모든(또는 지정한) 모델에 명령(도구) 목록을 등록한다.
| Parameter | Type | Description |
|---|---|---|
| tools | Array (opens in a new tab)<AIToolSchema> | 등록할 명령 목록 |
| clear | boolean (opens in a new tab) | true이면 기존 목록을 비운 뒤 등록한다. |
| modelName | string (opens in a new tab) | 지정하면 해당 모델에만 등록한다. 생략하면 모든 모델에 등록한다. |
setActiveModel(name): boolean (opens in a new tab)
name에 해당하는 모델을 활성 모델로 지정한다.
| Parameter | Type |
|---|---|
| name | string (opens in a new tab) |
return 지정된 활성 모델
unregister(name): boolean (opens in a new tab)
name에 해당하는 모델을 제거한다.
제거된 모델이 활성 모델이었다면, 남은 모델 중 하나를 활성 모델로 다시 지정한다.
| Parameter | Type |
|---|---|
| name | string (opens in a new tab) |
return 제거되었으면 true