node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
80 lines (79 loc) • 2.64 kB
TypeScript
import { NIMResCode } from './client_def';
import { UserNameCard } from './user_def';
/** @brief AI 数字人消息角色类型 */
export declare enum NIMAIModelRoleType {
/** 系统 */
kNIMMessageAIModelRoleTypeSystem = 0,
/** 用户 */
kNIMMessageAIModelRoleTypeUser = 1,
/** 助手 */
kNIMMessageAIModelRoleTypeAssistant = 2
}
/** @brief AI 数字人消息模型类型 */
export declare enum NIMAIModelType {
kNIMMessageAIModelTypeUnknown = 0,
/** 通义千问 */
kNIMMessageAIModelTypeQianWen = 1,
/** 微软 Azure */
kNIMMessageAIModelTypeAzure = 2,
/** 私有本地大模型 */
kNIMMessageAIModelTypePrivate = 3
}
/** @brief 调用大模型的请求内容 */
export interface NIMAIModelCallContent {
msg_: string;
type_: number;
}
/** @brief AI 数字人消息上下文参数 */
export interface NIMAIModelCallMessage {
role_: NIMAIModelRoleType;
msg_: string;
type_: number;
}
/** @brief AI 数字人模型配置参数 */
export interface NIMAIModelConfigParams {
prompt_: string;
max_tokens_: number;
top_p_: number;
temperature_: number;
}
/** @brief AI 数字人代理请求反垃圾配置 */
export interface NIMProxyAICallAntispamConfig {
antispam_enabled_: boolean;
antispam_business_id_: string;
}
export interface NIMAIModelCallBase {
account_id_: string;
content_: NIMAIModelCallContent;
messages_: Array<NIMAIModelCallMessage>;
prompt_variables_: string;
model_config_params_: NIMAIModelConfigParams;
}
/** @brief AI 数字人代理请求结果 */
export interface NIMAIModelCallResult {
account_id_: string;
request_id_: string;
content_: NIMAIModelCallContent;
}
export interface AIUserNameCard extends UserNameCard {
model_type_: NIMAIModelType;
}
/** @brief AI 数字人模型类型 */
export interface NIMAIModelConfig extends NIMAIModelConfigParams {
/** 具体大模型版本模型名 */
model_: string;
/** 提示词对应的变量 */
prompt_keys_: Array<string>;
}
/** @brief AI 数字人代理请求参数 */
export interface NIMProxyAIModelCallParams extends NIMAIModelCallBase {
request_id_: string;
antispam_config_: NIMProxyAICallAntispamConfig;
}
export type GetAIUserListCallback = (rescode: NIMResCode, users: Array<AIUserNameCard>) => void;
export type ProxyAIModelCallCallback = (rescode: NIMResCode) => void;
export interface NIMAIAPI {
InitEventHandlers(): void;
GetAIUserList(cb: GetAIUserListCallback): Promise<Array<AIUserNameCard>>;
ProxyAIModelCall(params: NIMProxyAIModelCallParams, cb: ProxyAIModelCallCallback): Promise<void>;
}