Scribbler310's picture
feat: enhance dashboard
c2b7eb3 verified
{"version":3,"file":"llms.cjs","names":["OpenAI","getEndpoint","getHeadersWithUserAgent","AzureOpenAIClient"],"sources":["../../src/azure/llms.ts"],"sourcesContent":["import { type ClientOptions, AzureOpenAI as AzureOpenAIClient } from \"openai\";\nimport { type BaseLLMParams } from \"@langchain/core/language_models/llms\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport { OpenAI } from \"../llms.js\";\nimport {\n OpenAIEndpointConfig,\n getEndpoint,\n getHeadersWithUserAgent,\n} from \"../utils/azure.js\";\nimport type {\n OpenAIInput,\n AzureOpenAIInput,\n OpenAICoreRequestOptions,\n} from \"../types.js\";\n\nexport class AzureOpenAI extends OpenAI {\n azureOpenAIApiVersion?: string;\n\n azureOpenAIApiKey?: string;\n\n azureADTokenProvider?: () => Promise<string>;\n\n azureOpenAIApiInstanceName?: string;\n\n azureOpenAIApiDeploymentName?: string;\n\n azureOpenAIBasePath?: string;\n\n azureOpenAIEndpoint?: string;\n\n get lc_aliases(): Record<string, string> {\n return {\n ...super.lc_aliases,\n openAIApiKey: \"openai_api_key\",\n openAIApiVersion: \"openai_api_version\",\n openAIBasePath: \"openai_api_base\",\n deploymentName: \"deployment_name\",\n azureOpenAIEndpoint: \"azure_endpoint\",\n azureOpenAIApiVersion: \"openai_api_version\",\n azureOpenAIBasePath: \"openai_api_base\",\n azureOpenAIApiDeploymentName: \"deployment_name\",\n };\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n ...super.lc_secrets,\n azureOpenAIApiKey: \"AZURE_OPENAI_API_KEY\",\n };\n }\n\n constructor(\n fields?: Partial<OpenAIInput> & {\n openAIApiKey?: string;\n openAIApiVersion?: string;\n openAIBasePath?: string;\n deploymentName?: string;\n } & Partial<AzureOpenAIInput> &\n BaseLLMParams & {\n configuration?: ClientOptions;\n }\n ) {\n super(fields);\n\n this.azureOpenAIApiDeploymentName =\n (fields?.azureOpenAIApiCompletionsDeploymentName ||\n fields?.azureOpenAIApiDeploymentName) ??\n (getEnvironmentVariable(\"AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME\") ||\n getEnvironmentVariable(\"AZURE_OPENAI_API_DEPLOYMENT_NAME\"));\n\n this.azureOpenAIApiKey =\n fields?.azureOpenAIApiKey ??\n (typeof fields?.openAIApiKey === \"string\"\n ? fields?.openAIApiKey\n : undefined) ??\n (typeof fields?.apiKey === \"string\" ? fields?.apiKey : undefined) ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_KEY\");\n\n this.azureOpenAIApiInstanceName =\n fields?.azureOpenAIApiInstanceName ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_INSTANCE_NAME\");\n\n this.azureOpenAIApiVersion =\n fields?.azureOpenAIApiVersion ??\n fields?.openAIApiVersion ??\n getEnvironmentVariable(\"AZURE_OPENAI_API_VERSION\");\n\n this.azureOpenAIBasePath =\n fields?.azureOpenAIBasePath ??\n getEnvironmentVariable(\"AZURE_OPENAI_BASE_PATH\");\n\n this.azureOpenAIEndpoint =\n fields?.azureOpenAIEndpoint ??\n getEnvironmentVariable(\"AZURE_OPENAI_ENDPOINT\");\n\n this.azureADTokenProvider = fields?.azureADTokenProvider;\n\n if (!this.azureOpenAIApiKey && !this.apiKey && !this.azureADTokenProvider) {\n throw new Error(\"Azure OpenAI API key or Token Provider not found\");\n }\n }\n\n protected _getClientOptions(\n options: OpenAICoreRequestOptions | undefined\n ): OpenAICoreRequestOptions {\n if (!this.client) {\n const openAIEndpointConfig: OpenAIEndpointConfig = {\n azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,\n azureOpenAIApiKey: this.azureOpenAIApiKey,\n azureOpenAIBasePath: this.azureOpenAIBasePath,\n azureADTokenProvider: this.azureADTokenProvider,\n baseURL: this.clientConfig.baseURL,\n };\n\n const endpoint = getEndpoint(openAIEndpointConfig);\n\n const { apiKey: existingApiKey, ...clientConfigRest } = this.clientConfig;\n const params: Omit<ClientOptions, \"apiKey\"> & { apiKey?: string } = {\n ...clientConfigRest,\n baseURL: endpoint,\n timeout: this.timeout,\n maxRetries: 0,\n };\n\n if (!this.azureADTokenProvider) {\n params.apiKey = openAIEndpointConfig.azureOpenAIApiKey;\n }\n\n if (!params.baseURL) {\n delete params.baseURL;\n }\n\n params.defaultHeaders = getHeadersWithUserAgent(\n params.defaultHeaders,\n true,\n \"2.0.0\"\n );\n\n this.client = new AzureOpenAIClient({\n apiVersion: this.azureOpenAIApiVersion,\n azureADTokenProvider: this.azureADTokenProvider,\n ...params,\n });\n }\n\n const requestOptions = {\n ...this.clientConfig,\n ...options,\n } as OpenAICoreRequestOptions;\n if (this.azureOpenAIApiKey) {\n requestOptions.headers = {\n \"api-key\": this.azureOpenAIApiKey,\n ...requestOptions.headers,\n };\n requestOptions.query = {\n \"api-version\": this.azureOpenAIApiVersion,\n ...requestOptions.query,\n };\n }\n return requestOptions;\n }\n\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n toJSON(): any {\n const json = super.toJSON() as unknown;\n\n function isRecord(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === \"object\" && obj != null;\n }\n\n if (isRecord(json) && isRecord(json.kwargs)) {\n delete json.kwargs.azure_openai_base_path;\n delete json.kwargs.azure_openai_api_deployment_name;\n delete json.kwargs.azure_openai_api_key;\n delete json.kwargs.azure_openai_api_version;\n delete json.kwargs.azure_open_ai_base_path;\n }\n\n return json;\n }\n}\n"],"mappings":";;;;;AAeA,IAAa,cAAb,cAAiCA,aAAAA,OAAO;CACtC;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,IAAI,aAAqC;AACvC,SAAO;GACL,GAAG,MAAM;GACT,cAAc;GACd,kBAAkB;GAClB,gBAAgB;GAChB,gBAAgB;GAChB,qBAAqB;GACrB,uBAAuB;GACvB,qBAAqB;GACrB,8BAA8B;GAC/B;;CAGH,IAAI,aAAoD;AACtD,SAAO;GACL,GAAG,MAAM;GACT,mBAAmB;GACpB;;CAGH,YACE,QASA;AACA,QAAM,OAAO;AAEb,OAAK,gCACF,QAAQ,2CACP,QAAQ,mCAAA,GAAA,0BAAA,wBACc,+CAA+C,KAAA,GAAA,0BAAA,wBAC9C,mCAAmC;AAE9D,OAAK,oBACH,QAAQ,sBACP,OAAO,QAAQ,iBAAiB,WAC7B,QAAQ,eACR,KAAA,OACH,OAAO,QAAQ,WAAW,WAAW,QAAQ,SAAS,KAAA,OAAA,GAAA,0BAAA,wBAChC,uBAAuB;AAEhD,OAAK,6BACH,QAAQ,+BAAA,GAAA,0BAAA,wBACe,iCAAiC;AAE1D,OAAK,wBACH,QAAQ,yBACR,QAAQ,qBAAA,GAAA,0BAAA,wBACe,2BAA2B;AAEpD,OAAK,sBACH,QAAQ,wBAAA,GAAA,0BAAA,wBACe,yBAAyB;AAElD,OAAK,sBACH,QAAQ,wBAAA,GAAA,0BAAA,wBACe,wBAAwB;AAEjD,OAAK,uBAAuB,QAAQ;AAEpC,MAAI,CAAC,KAAK,qBAAqB,CAAC,KAAK,UAAU,CAAC,KAAK,qBACnD,OAAM,IAAI,MAAM,mDAAmD;;CAIvE,kBACE,SAC0B;AAC1B,MAAI,CAAC,KAAK,QAAQ;GAChB,MAAM,uBAA6C;IACjD,8BAA8B,KAAK;IACnC,4BAA4B,KAAK;IACjC,mBAAmB,KAAK;IACxB,qBAAqB,KAAK;IAC1B,sBAAsB,KAAK;IAC3B,SAAS,KAAK,aAAa;IAC5B;GAED,MAAM,WAAWC,cAAAA,YAAY,qBAAqB;GAElD,MAAM,EAAE,QAAQ,gBAAgB,GAAG,qBAAqB,KAAK;GAC7D,MAAM,SAA8D;IAClE,GAAG;IACH,SAAS;IACT,SAAS,KAAK;IACd,YAAY;IACb;AAED,OAAI,CAAC,KAAK,qBACR,QAAO,SAAS,qBAAqB;AAGvC,OAAI,CAAC,OAAO,QACV,QAAO,OAAO;AAGhB,UAAO,iBAAiBC,cAAAA,wBACtB,OAAO,gBACP,MACA,QACD;AAED,QAAK,SAAS,IAAIC,OAAAA,YAAkB;IAClC,YAAY,KAAK;IACjB,sBAAsB,KAAK;IAC3B,GAAG;IACJ,CAAC;;EAGJ,MAAM,iBAAiB;GACrB,GAAG,KAAK;GACR,GAAG;GACJ;AACD,MAAI,KAAK,mBAAmB;AAC1B,kBAAe,UAAU;IACvB,WAAW,KAAK;IAChB,GAAG,eAAe;IACnB;AACD,kBAAe,QAAQ;IACrB,eAAe,KAAK;IACpB,GAAG,eAAe;IACnB;;AAEH,SAAO;;CAIT,SAAc;EACZ,MAAM,OAAO,MAAM,QAAQ;EAE3B,SAAS,SAAS,KAA8C;AAC9D,UAAO,OAAO,QAAQ,YAAY,OAAO;;AAG3C,MAAI,SAAS,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE;AAC3C,UAAO,KAAK,OAAO;AACnB,UAAO,KAAK,OAAO;AACnB,UAAO,KAAK,OAAO;AACnB,UAAO,KAAK,OAAO;AACnB,UAAO,KAAK,OAAO;;AAGrB,SAAO"}