UNPKG

@langchain/community

Version:
120 lines (119 loc) 3.95 kB
import { BaseChatModel, BaseChatModelParams } from "@langchain/core/language_models/chat_models"; import { BaseMessage } from "@langchain/core/messages"; import { ChatGenerationChunk, ChatResult } from "@langchain/core/outputs"; import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base"; import Prem, { ChatCompletionStreamingCompletionData, CreateChatCompletionRequest, CreateChatCompletionResponse } from "@premai/prem-sdk"; import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager"; //#region src/chat_models/premai.d.ts type RoleEnum = "user" | "assistant"; /** * Input to chat model class. */ interface ChatPremInput extends BaseChatModelParams { project_id?: number | string; session_id?: string; messages?: { role: "user" | "assistant"; content: string; [k: string]: unknown; }[]; model?: string; system_prompt?: string; frequency_penalty?: number; logit_bias?: { [k: string]: unknown; }; max_tokens?: number; n?: number; presence_penalty?: number; response_format?: { [k: string]: unknown; }; seed?: number; stop?: string; temperature?: number; top_p?: number; tools?: { [k: string]: unknown; }[]; user?: string; /** * The Prem API key to use for requests. * @default process.env.PREM_API_KEY */ apiKey?: string; streaming?: boolean; } interface ChatCompletionCreateParamsNonStreaming extends CreateChatCompletionRequest { stream?: false; } interface ChatCompletionCreateParamsStreaming extends CreateChatCompletionRequest { stream: true; } type ChatCompletionCreateParams = ChatCompletionCreateParamsNonStreaming | ChatCompletionCreateParamsStreaming; declare function messageToPremRole(message: BaseMessage): RoleEnum; /** * Integration with a chat model. */ declare class ChatPrem<CallOptions extends BaseLanguageModelCallOptions = BaseLanguageModelCallOptions> extends BaseChatModel<CallOptions> implements ChatPremInput { client: Prem; apiKey?: string; project_id: number; session_id?: string; messages: { [k: string]: unknown; role: "user" | "assistant"; content: string; }[]; model?: string; system_prompt?: string; frequency_penalty?: number; logit_bias?: { [k: string]: unknown; }; max_tokens?: number; n?: number; presence_penalty?: number; response_format?: { [k: string]: unknown; }; seed?: number; stop?: string; temperature?: number; top_p?: number; tools?: { [k: string]: unknown; }[]; user?: string; streaming: boolean; [k: string]: unknown; static lc_name(): string; lc_serializable: boolean; /** * Replace with any secrets this class passes to `super`. * See {@link ../../langchain-cohere/src/chat_model.ts} for * an example. */ get lc_secrets(): { [key: string]: string; } | undefined; get lc_aliases(): { [key: string]: string; } | undefined; constructor(fields?: ChatPremInput); _llmType(): string; completionWithRetry(request: ChatCompletionCreateParamsStreaming, options?: any): Promise<AsyncIterable<ChatCompletionStreamingCompletionData>>; completionWithRetry(request: ChatCompletionCreateParams, options?: any): Promise<CreateChatCompletionResponse>; invocationParams(options: this["ParsedCallOptions"]): any; /** * Implement to support streaming. * Should yield chunks iteratively. */ _streamResponseChunks(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>; /** @ignore */ _combineLLMOutput(): never[]; _generate(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>; } //#endregion export { ChatCompletionCreateParams, ChatCompletionCreateParamsNonStreaming, ChatCompletionCreateParamsStreaming, ChatPrem, ChatPremInput, RoleEnum, messageToPremRole }; //# sourceMappingURL=premai.d.ts.map