@h-lumos/llm-sdk
Version:
125 lines (124 loc) • 4.75 kB
TypeScript
export declare namespace DashscopeCompletions {
/**
* https://help.aliyun.com/zh/dashscope/developer-reference/model-square
*/
type CompletionModel = 'qwen-long' | 'qwen-turbo' | 'qwen-plus' | 'qwen-max' | 'qwen-max-0428' | 'qwen-max-0403' | 'qwen-max-0107' | 'qwen-max-1201' | 'qwen-max-longcontext' | 'qwen-7b-chat' | 'qwen-14b-chat' | 'qwen-72b-chat' | 'qwen-vl-v1' | 'qwen-vl-chat-v1' | 'qwen-vl-plus' | 'llama2-7b-chat-v2' | 'llama2-13b-chat-v2' | 'baichuan-7b-v1' | 'baichuan2-13b-chat-v1' | 'baichuan2-7b-chat-v1' | 'chatglm3-6b' | 'chatglm-6b-v2';
type ResponseFinish = 'stop' | 'length' | 'null';
/**
* - text 旧版本的 text
* - message 兼容 openai 的 message
*
* @defaultValue "text"
*/
type ResponseFormat = 'text' | 'message';
type CompletionParametersParam = {
/**
* 启用流式输出
*
* 默认每次输出为当前生成的整个序列,最后一次输出为最终全部生成结果
*
* 通过 {@link CompletionParametersParam.incremental_output incremental_output} 参数关闭。
*/
stream?: boolean | null;
/**
* 启用增量输出
*
* 启用 {@link ChatCompletionCreateParamsBase.stream stream} 参数时,每次输出是否每次都包含前面输出的内容。
*
* Warning: Function call 信息暂时不支持增量输出,开启时需要注意。
*
* @defaultValue false
*/
incremental_output?: boolean | null;
/**
* 生成结果的格式
*
* @defaultValue "text"
*/
result_format?: ResponseFormat;
/**
* 生成时,随机数的种子,用于控制模型生成的随机性。
*
* 如果使用相同的种子,每次运行生成的结果都将相同;
* 当需要复现模型的生成结果时,可以使用相同的种子。
* seed参数支持无符号64位整数类型。
*
* @defaultValue 1234
*/
seed?: number | null;
/**
* 用于限制模型生成token的数量,max_tokens设置的是生成上限,并不表示一定会生成这么多的token数量。最大值和默认值均为1500
*
* @defaultValue 1500
*/
max_tokens?: number | null;
/**
* 生成文本的多样性
*
* @defaultValue 0.8
*/
top_p?: number | null;
/**
* 生成时,采样候选集的大小。
*
* 例如,
* 取值为50时,仅将单次生成中得分最高的50个token组成随机采样的候选集。
* 取值越大,生成的随机性越高;取值越小,生成的确定性越高。
*
* 注意:如果top_k参数为空或者top_k的值大于100,表示不启用top_k策略,此时仅有top_p策略生效,默认是空。
*
* @defaultValue 80
*/
top_k?: number | null;
/**
* 用于控制模型生成时的重复度。提高repetition_penalty时可以降低模型生成的重复度。1.0表示不做惩罚。默认为1.1。
*/
repetition_penalty?: number | null;
/**
* 用户控制模型生成时整个序列中的重复度。
*
* 提高时可以降低模型生成的重复度,取值范围[-2.0, 2.0]。
*/
presence_penalty?: number | null;
/**
* 内容随机性
*
* @defaultValue 1.0
*/
temperature?: number | null;
/**
* 生成停止标识符
*/
stop?: string | string[] | null;
/**
* 生成时,是否参考搜索的结果。
*
* 注意:打开搜索并不意味着一定会使用搜索结果;
* 如果打开搜索,模型会将搜索结果作为prompt,进而“自行判断”是否生成结合搜索结果的文本,默认为false
*/
enable_search?: boolean | null;
};
interface CompletionCreateParams {
model: ({} & string) | CompletionModel;
input: {
prompt: string;
};
parameters?: DashscopeCompletions.CompletionParametersParam;
}
interface CompletionUsage {
output_tokens: number;
input_tokens: number;
total_tokens: number;
}
namespace Completion {
interface Output {
text: string;
finish_reason: DashscopeCompletions.ResponseFinish;
}
}
interface Completion {
request_id: string;
usage: CompletionUsage;
output: Completion.Output;
}
}