@h-lumos/llm-sdk
Version:
79 lines (77 loc) • 2.6 kB
TypeScript
import { default as OpenAI } from 'openai';
import { RequestOptions } from 'openai/core';
import { Stream } from 'openai/streaming';
import { APIResource } from '../../resource';
export declare class Completions extends APIResource {
protected resources: Record<ChatModel, {
domain: string;
url: string;
}>;
/**
* Creates a model response for the given chat conversation.
*
* See https://help.aliyun.com/zh/dashscope/developer-reference/api-details
*/
create(body: ChatCompletionCreateParamsNonStreaming, options?: RequestOptions): Promise<OpenAI.ChatCompletion>;
create(body: ChatCompletionCreateParamsStreaming, options?: RequestOptions): Promise<Stream<OpenAI.ChatCompletionChunk>>;
}
export interface ChatCompletionCreateParamsNonStreaming extends OpenAI.ChatCompletionCreateParamsNonStreaming {
model: ChatModel;
top_k?: number | null;
chat_id?: string | null;
}
export interface ChatCompletionCreateParamsStreaming extends OpenAI.ChatCompletionCreateParamsStreaming {
model: ChatModel;
top_k?: number | null;
chat_id?: string | null;
}
export type ChatCompletionCreateParams = ChatCompletionCreateParamsNonStreaming | ChatCompletionCreateParamsStreaming;
export type ChatModel = 'spark-1.5' | 'spark-2' | 'spark-3';
export declare namespace ChatCompletions {
type ChatCompletionParameters = {
header: {
app_id: string;
uid?: string;
};
parameter: {
chat: {
domain: string;
temperature?: number | null;
max_tokens?: number | null;
top_k?: number | null;
chat_id?: string | null;
};
};
payload: {
message: {
text: OpenAI.ChatCompletionMessageParam[];
};
functions?: {
text: OpenAI.ChatCompletionCreateParams.Function[];
};
};
};
type ChatCompletionResponse = {
header: {
code: number;
message: string;
sid: string;
status: number;
};
payload: {
choices: {
status: number;
seq: number;
text: OpenAI.ChatCompletionMessage[];
};
usage: {
text: {
question_tokens: number;
prompt_tokens: number;
completion_tokens: number;
total_tokens: number;
};
};
};
};
}