koishi-plugin-davinci-003
Version:
161 lines (160 loc) • 4.43 kB
TypeScript
import { Context, segment, Element, Session, Next, Fragment } from "koishi";
import { Dvc } from "./type";
declare module "@koishijs/plugin-console" {
interface Events {
"davinci-003/getusage"(): string;
"davinci-003/chatTest"(text: string): Promise<string>;
"davinci-003/addPersonality"(personality: PersonalityConfig): Promise<string>;
}
}
interface Personality {
role: "system" | "user" | "assistant";
content: string;
}
interface PersonalityConfig {
name: string;
personality: Personality[];
}
declare module "koishi" {
interface Context {
dvc: DVc;
}
}
declare class DVc extends Dvc {
pluginConfig: Dvc.Config;
constructor(ctx: Context, config: Dvc.Config);
/**
*
* @param lang 目标语言
* @param prompt 要翻译的内容
* @returns 翻译后的内容
*/
translate(lang: string, prompt: string): Promise<string>;
/**
*
* @param session 会话
* @param prompt 描述词
* @param n 生成数量
* @param size 图片大小
* @returns Promise<string|segment>
*/
paint(session: Session, prompt: string, n: number, size: string): Promise<string | segment>;
/**
*
* @param session 会话
* @param prompt 会话内容
* @returns Promise<string | Element>
*/
dvc(session: Session, prompt: string): Promise<string | Element | void>;
/**
*
* @param session 当前会话
* @param next 通过函数
* @returns 消息
*/
middleware(session: Session, next: Next): Promise<string | string[] | segment | void | Fragment>;
/**
*
* @param message 发送给chatgpt的json列表
* @returns 将返回文字处理成json
*/
chat_with_gpt(message: Dvc.Msg[]): Promise<string>;
readableStreamDecoder(data: ReadableStream): Promise<{
contents: string;
reasoning_content: string;
}>;
/**
* 切换下一个 key
*/
key_number_pp(): void;
/**
* 先查询余额 ,如果余额为 0,切换key
* @param session 会话
* @param e Error
*/
switch_key(e: Error): Promise<void>;
/**
*
* @param sessionid QQ号
* @returns 对应QQ的会话
*/
get_chat_session(sessionid: string): Dvc.Msg[];
/**
*
* @param msg prompt消息
* @param sessionid QQ号
* @returns json消息
*/
chat(msg: string, sessionid: string, session: Session): Promise<string | segment>;
/**
*
* @param cb chat 回调函数 chat_with_gpt
* @param session 会话
* @param session_of_id 会话 ID
* @returns
*/
try_control(session_of_id: Dvc.Msg[]): Promise<string>;
/**
* 删除人格逻辑
* @param session
* @param nick_name
* @returns
*/
rm_personality(session: Session, nick_name?: string): Promise<string>;
/**
* 删除人格
* @param session 会话
* @param nick_name 人格名称
* @returns 字符串
*/
personality_rm(session: Session, nick_name: string[]): string;
/**
*
* @param session 会话
* @param type 输出类型,字符串
* @returns Promise<string>
*/
switch_output(session: Session, type: string): Promise<string>;
/**
*
* @param userId 用户QQ号
* @param resp gpt返回的json
* @returns 文字,图片或聊天记录
*/
getContent(userId: string, resp: Dvc.Msg[], messageId: string, botId: string): Promise<string | segment>;
/**
*
* @param session 会话
* @returns 切换后的引擎
*/
/**
*
* @param session 会话
* @param prompt 人格昵称
* @returns 人格切换状态
*/
switch_personality(session: Session, prompt: string): Promise<string>;
/**
* 重置个人会话,保留人格
* @param session 会话
* @returns
*/
reset(session: Session): string;
add_personality(session: Session, nick_name: string): Promise<string>;
/**
* 设置人格
* @param session 会话
* @param nick_name 人格昵称
* @param description 对话
* @returns 字符
*/
set_personality(session: Session, nick_name: string): string;
/**
*
* @param session 当前会话
* @returns 返回清空的消息
*/
clear(session: Session): string;
}
declare namespace DVc { }
export default DVc;