UNPKG

@langchain/community

Version:
1 lines 4.83 kB
{"version":3,"file":"novita.cjs","names":["ChatOpenAICompletions"],"sources":["../../src/chat_models/novita.ts"],"sourcesContent":["import type {\n BaseChatModelParams,\n LangSmithParams,\n} from \"@langchain/core/language_models/chat_models\";\nimport {\n type OpenAIClient,\n type ChatOpenAICallOptions,\n type OpenAIChatInput,\n type OpenAICoreRequestOptions,\n ChatOpenAICompletions,\n} from \"@langchain/openai\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\n\ntype NovitaUnsupportedArgs =\n | \"frequencyPenalty\"\n | \"presencePenalty\"\n | \"logitBias\"\n | \"functions\";\n\ntype NovitaUnsupportedCallOptions = \"functions\" | \"function_call\";\n\nexport interface ChatNovitaCallOptions extends Omit<\n ChatOpenAICallOptions,\n NovitaUnsupportedCallOptions\n> {\n response_format: {\n type: \"json_object\";\n schema: Record<string, unknown>;\n };\n}\n\nexport interface ChatNovitaInput\n extends\n Omit<OpenAIChatInput, \"openAIApiKey\" | NovitaUnsupportedArgs>,\n BaseChatModelParams {\n /**\n * Novita API key\n * @default process.env.NOVITA_API_KEY\n */\n novitaApiKey?: string;\n /**\n * API key alias\n * @default process.env.NOVITA_API_KEY\n */\n apiKey?: string;\n}\n\n/**\n * Novita chat model implementation\n */\nexport class ChatNovitaAI extends ChatOpenAICompletions<ChatNovitaCallOptions> {\n static lc_name() {\n return \"ChatNovita\";\n }\n\n _llmType() {\n return \"novita\";\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n novitaApiKey: \"NOVITA_API_KEY\",\n apiKey: \"NOVITA_API_KEY\",\n };\n }\n\n lc_serializable = true;\n\n constructor(\n fields?: Partial<\n Omit<OpenAIChatInput, \"openAIApiKey\" | NovitaUnsupportedArgs>\n > &\n BaseChatModelParams & {\n novitaApiKey?: string;\n apiKey?: string;\n }\n ) {\n const novitaApiKey =\n fields?.apiKey ||\n fields?.novitaApiKey ||\n getEnvironmentVariable(\"NOVITA_API_KEY\");\n\n if (!novitaApiKey) {\n throw new Error(\n `Novita API key not found. Please set the NOVITA_API_KEY environment variable or provide the key into \"novitaApiKey\"`\n );\n }\n\n super({\n ...fields,\n model: fields?.model || \"gryphe/mythomax-l2-13b\",\n apiKey: novitaApiKey,\n configuration: {\n baseURL: \"https://api.novita.ai/v3/openai/\",\n },\n });\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = super.getLsParams(options);\n params.ls_provider = \"novita\";\n return params;\n }\n\n toJSON() {\n const result = super.toJSON();\n\n if (\n \"kwargs\" in result &&\n typeof result.kwargs === \"object\" &&\n result.kwargs != null\n ) {\n delete result.kwargs.openai_api_key;\n delete result.kwargs.configuration;\n }\n\n return result;\n }\n\n async completionWithRetry(\n request: OpenAIClient.Chat.ChatCompletionCreateParamsStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Chat.Completions.ChatCompletionChunk>>;\n\n async completionWithRetry(\n request: OpenAIClient.Chat.ChatCompletionCreateParamsNonStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<OpenAIClient.Chat.Completions.ChatCompletion>;\n\n async completionWithRetry(\n request:\n | OpenAIClient.Chat.ChatCompletionCreateParamsStreaming\n | OpenAIClient.Chat.ChatCompletionCreateParamsNonStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<\n | AsyncIterable<OpenAIClient.Chat.Completions.ChatCompletionChunk>\n | OpenAIClient.Chat.Completions.ChatCompletion\n > {\n delete request.frequency_penalty;\n delete request.presence_penalty;\n delete request.logit_bias;\n delete request.functions;\n\n if (request.stream === true) {\n return super.completionWithRetry(request, options);\n }\n\n return super.completionWithRetry(request, options);\n }\n}\n"],"mappings":";;;;;;;;;AAkDA,IAAa,eAAb,cAAkCA,kBAAAA,sBAA6C;CAC7E,OAAO,UAAU;AACf,SAAO;;CAGT,WAAW;AACT,SAAO;;CAGT,IAAI,aAAoD;AACtD,SAAO;GACL,cAAc;GACd,QAAQ;GACT;;CAGH,kBAAkB;CAElB,YACE,QAOA;EACA,MAAM,eACJ,QAAQ,UACR,QAAQ,iBAAA,GAAA,0BAAA,wBACe,iBAAiB;AAE1C,MAAI,CAAC,aACH,OAAM,IAAI,MACR,sHACD;AAGH,QAAM;GACJ,GAAG;GACH,OAAO,QAAQ,SAAS;GACxB,QAAQ;GACR,eAAe,EACb,SAAS,oCACV;GACF,CAAC;;CAGJ,YAAY,SAAqD;EAC/D,MAAM,SAAS,MAAM,YAAY,QAAQ;AACzC,SAAO,cAAc;AACrB,SAAO;;CAGT,SAAS;EACP,MAAM,SAAS,MAAM,QAAQ;AAE7B,MACE,YAAY,UACZ,OAAO,OAAO,WAAW,YACzB,OAAO,UAAU,MACjB;AACA,UAAO,OAAO,OAAO;AACrB,UAAO,OAAO,OAAO;;AAGvB,SAAO;;CAaT,MAAM,oBACJ,SAGA,SAIA;AACA,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,QAAQ;AACf,SAAO,QAAQ;AAEf,MAAI,QAAQ,WAAW,KACrB,QAAO,MAAM,oBAAoB,SAAS,QAAQ;AAGpD,SAAO,MAAM,oBAAoB,SAAS,QAAQ"}