@ai-sdk/azure 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { OpenAIChatSettings, OpenAIChatLanguageModel } from '@ai-sdk/openai/internal';
1
+ import { OpenAIChatSettings, OpenAIChatLanguageModel, OpenAIEmbeddingSettings, OpenAIEmbeddingModel, OpenAICompletionSettings, OpenAICompletionLanguageModel } from '@ai-sdk/openai/internal';
2
2
 
3
3
  interface AzureOpenAIProvider {
4
4
  (deploymentId: string, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
@@ -10,6 +10,18 @@ interface AzureOpenAIProvider {
10
10
  Creates an Azure OpenAI chat model for text generation.
11
11
  */
12
12
  chat(deploymentId: string, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
13
+ /**
14
+ Creates an Azure OpenAI model for text embeddings.
15
+ */
16
+ embedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): OpenAIEmbeddingModel;
17
+ /**
18
+ Creates an Azure OpenAI model for text embeddings.
19
+ */
20
+ textEmbedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): OpenAIEmbeddingModel;
21
+ /**
22
+ * Creates an Azure OpenAI completion model for text generation.
23
+ */
24
+ completion(deploymentId: string, settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
13
25
  }
14
26
  interface AzureOpenAIProviderSettings {
15
27
  /**
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { OpenAIChatSettings, OpenAIChatLanguageModel } from '@ai-sdk/openai/internal';
1
+ import { OpenAIChatSettings, OpenAIChatLanguageModel, OpenAIEmbeddingSettings, OpenAIEmbeddingModel, OpenAICompletionSettings, OpenAICompletionLanguageModel } from '@ai-sdk/openai/internal';
2
2
 
3
3
  interface AzureOpenAIProvider {
4
4
  (deploymentId: string, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
@@ -10,6 +10,18 @@ interface AzureOpenAIProvider {
10
10
  Creates an Azure OpenAI chat model for text generation.
11
11
  */
12
12
  chat(deploymentId: string, settings?: OpenAIChatSettings): OpenAIChatLanguageModel;
13
+ /**
14
+ Creates an Azure OpenAI model for text embeddings.
15
+ */
16
+ embedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): OpenAIEmbeddingModel;
17
+ /**
18
+ Creates an Azure OpenAI model for text embeddings.
19
+ */
20
+ textEmbedding(deploymentId: string, settings?: OpenAIEmbeddingSettings): OpenAIEmbeddingModel;
21
+ /**
22
+ * Creates an Azure OpenAI completion model for text generation.
23
+ */
24
+ completion(deploymentId: string, settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
13
25
  }
14
26
  interface AzureOpenAIProviderSettings {
15
27
  /**
package/dist/index.js CHANGED
@@ -42,13 +42,27 @@ function createAzure(options = {}) {
42
42
  environmentVariableName: "AZURE_RESOURCE_NAME",
43
43
  description: "Azure OpenAI resource name"
44
44
  });
45
+ const url = ({ path, modelId }) => `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`;
45
46
  const createChatModel = (deploymentName, settings = {}) => new import_internal.OpenAIChatLanguageModel(deploymentName, settings, {
46
47
  provider: "azure-openai.chat",
48
+ url,
47
49
  headers: getHeaders,
48
- url: ({ path, modelId }) => `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`,
49
50
  compatibility: "compatible",
50
51
  fetch: options.fetch
51
52
  });
53
+ const createCompletionModel = (modelId, settings = {}) => new import_internal.OpenAICompletionLanguageModel(modelId, settings, {
54
+ provider: "azure-openai.completion",
55
+ url,
56
+ compatibility: "compatible",
57
+ headers: getHeaders,
58
+ fetch: options.fetch
59
+ });
60
+ const createEmbeddingModel = (modelId, settings = {}) => new import_internal.OpenAIEmbeddingModel(modelId, settings, {
61
+ provider: "azure-openai.embeddings",
62
+ headers: getHeaders,
63
+ url,
64
+ fetch: options.fetch
65
+ });
52
66
  const provider = function(deploymentId, settings) {
53
67
  if (new.target) {
54
68
  throw new Error(
@@ -59,6 +73,9 @@ function createAzure(options = {}) {
59
73
  };
60
74
  provider.languageModel = createChatModel;
61
75
  provider.chat = createChatModel;
76
+ provider.completion = createCompletionModel;
77
+ provider.embedding = createEmbeddingModel;
78
+ provider.textEmbedding = createEmbeddingModel;
62
79
  return provider;
63
80
  }
64
81
  var azure = createAzure({});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts"],"sourcesContent":["export * from './azure-openai-provider';\n","import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n} from '@ai-sdk/openai/internal';\nimport { loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider {\n (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource.\n */\n resourceName?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: typeof fetch;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n });\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n headers: getHeaders,\n url: ({ path, modelId }) =>\n `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`,\n compatibility: 'compatible',\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n\n return provider as AzureOpenAIProvider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure({});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAGO;AACP,4BAAwC;AA8CjC,SAAS,YACd,UAAuC,CAAC,GACnB;AACrB,QAAM,aAAa,OAAO;AAAA,IACxB,eAAW,kCAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkB,UACtB,mCAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wCAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV,SAAS;AAAA,IACT,KAAK,CAAC,EAAE,MAAM,QAAQ,MACpB,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI;AAAA,IACpF,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAEhB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY,CAAC,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts"],"sourcesContent":["export * from './azure-openai-provider';\n","import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAICompletionSettings,\n OpenAICompletionLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport { loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider {\n (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): OpenAIEmbeddingModel;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): OpenAIEmbeddingModel;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): OpenAICompletionLanguageModel;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource.\n */\n resourceName?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: typeof fetch;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n });\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const url = ({ path, modelId }: { path: string; modelId: string }) =>\n `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`;\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'compatible',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'compatible',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n\n return provider as AzureOpenAIProvider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure({});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAOO;AACP,4BAAwC;AAsEjC,SAAS,YACd,UAAuC,CAAC,GACnB;AACrB,QAAM,aAAa,OAAO;AAAA,IACxB,eAAW,kCAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkB,UACtB,mCAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,MAAM,CAAC,EAAE,MAAM,QAAQ,MAC3B,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI;AAEpF,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wCAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,wBAAwB,CAC5B,SACA,WAAqC,CAAC,MAEtC,IAAI,8CAA8B,SAAS,UAAU;AAAA,IACnD,UAAU;AAAA,IACV;AAAA,IACA,eAAe;AAAA,IACf,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAC3B,SACA,WAAoC,CAAC,MAErC,IAAI,qCAAqB,SAAS,UAAU;AAAA,IAC1C,UAAU;AAAA,IACV,SAAS;AAAA,IACT;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,gBAAgB;AAEzB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY,CAAC,CAAC;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,6 +1,8 @@
1
1
  // src/azure-openai-provider.ts
2
2
  import {
3
- OpenAIChatLanguageModel
3
+ OpenAIChatLanguageModel,
4
+ OpenAIEmbeddingModel,
5
+ OpenAICompletionLanguageModel
4
6
  } from "@ai-sdk/openai/internal";
5
7
  import { loadApiKey, loadSetting } from "@ai-sdk/provider-utils";
6
8
  function createAzure(options = {}) {
@@ -17,13 +19,27 @@ function createAzure(options = {}) {
17
19
  environmentVariableName: "AZURE_RESOURCE_NAME",
18
20
  description: "Azure OpenAI resource name"
19
21
  });
22
+ const url = ({ path, modelId }) => `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`;
20
23
  const createChatModel = (deploymentName, settings = {}) => new OpenAIChatLanguageModel(deploymentName, settings, {
21
24
  provider: "azure-openai.chat",
25
+ url,
22
26
  headers: getHeaders,
23
- url: ({ path, modelId }) => `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`,
24
27
  compatibility: "compatible",
25
28
  fetch: options.fetch
26
29
  });
30
+ const createCompletionModel = (modelId, settings = {}) => new OpenAICompletionLanguageModel(modelId, settings, {
31
+ provider: "azure-openai.completion",
32
+ url,
33
+ compatibility: "compatible",
34
+ headers: getHeaders,
35
+ fetch: options.fetch
36
+ });
37
+ const createEmbeddingModel = (modelId, settings = {}) => new OpenAIEmbeddingModel(modelId, settings, {
38
+ provider: "azure-openai.embeddings",
39
+ headers: getHeaders,
40
+ url,
41
+ fetch: options.fetch
42
+ });
27
43
  const provider = function(deploymentId, settings) {
28
44
  if (new.target) {
29
45
  throw new Error(
@@ -34,6 +50,9 @@ function createAzure(options = {}) {
34
50
  };
35
51
  provider.languageModel = createChatModel;
36
52
  provider.chat = createChatModel;
53
+ provider.completion = createCompletionModel;
54
+ provider.embedding = createEmbeddingModel;
55
+ provider.textEmbedding = createEmbeddingModel;
37
56
  return provider;
38
57
  }
39
58
  var azure = createAzure({});
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/azure-openai-provider.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n} from '@ai-sdk/openai/internal';\nimport { loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider {\n (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource.\n */\n resourceName?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: typeof fetch;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n });\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n headers: getHeaders,\n url: ({ path, modelId }) =>\n `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`,\n compatibility: 'compatible',\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n\n return provider as AzureOpenAIProvider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure({});\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,YAAY,mBAAmB;AA8CjC,SAAS,YACd,UAAuC,CAAC,GACnB;AACrB,QAAM,aAAa,OAAO;AAAA,IACxB,WAAW,WAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkB,MACtB,YAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wBAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV,SAAS;AAAA,IACT,KAAK,CAAC,EAAE,MAAM,QAAQ,MACpB,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI;AAAA,IACpF,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAEhB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY,CAAC,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/azure-openai-provider.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAIChatSettings,\n OpenAIEmbeddingModel,\n OpenAIEmbeddingSettings,\n OpenAICompletionSettings,\n OpenAICompletionLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport { loadApiKey, loadSetting } from '@ai-sdk/provider-utils';\n\nexport interface AzureOpenAIProvider {\n (\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n languageModel(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI chat model for text generation.\n */\n chat(\n deploymentId: string,\n settings?: OpenAIChatSettings,\n ): OpenAIChatLanguageModel;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n embedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): OpenAIEmbeddingModel;\n\n /**\nCreates an Azure OpenAI model for text embeddings.\n */\n textEmbedding(\n deploymentId: string,\n settings?: OpenAIEmbeddingSettings,\n ): OpenAIEmbeddingModel;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(\n deploymentId: string,\n settings?: OpenAICompletionSettings,\n ): OpenAICompletionLanguageModel;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\nName of the Azure OpenAI resource.\n */\n resourceName?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: typeof fetch;\n}\n\n/**\nCreate an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => ({\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n });\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const url = ({ path, modelId }: { path: string; modelId: string }) =>\n `https://${getResourceName()}.openai.azure.com/openai/deployments/${modelId}${path}?api-version=2024-05-01-preview`;\n\n const createChatModel = (\n deploymentName: string,\n settings: OpenAIChatSettings = {},\n ) =>\n new OpenAIChatLanguageModel(deploymentName, settings, {\n provider: 'azure-openai.chat',\n url,\n headers: getHeaders,\n compatibility: 'compatible',\n fetch: options.fetch,\n });\n\n const createCompletionModel = (\n modelId: string,\n settings: OpenAICompletionSettings = {},\n ) =>\n new OpenAICompletionLanguageModel(modelId, settings, {\n provider: 'azure-openai.completion',\n url,\n compatibility: 'compatible',\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (\n modelId: string,\n settings: OpenAIEmbeddingSettings = {},\n ) =>\n new OpenAIEmbeddingModel(modelId, settings, {\n provider: 'azure-openai.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const provider = function (\n deploymentId: string,\n settings?: OpenAIChatSettings | OpenAICompletionSettings,\n ) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(deploymentId, settings as OpenAIChatSettings);\n };\n\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n\n return provider as AzureOpenAIProvider;\n}\n\n/**\nDefault Azure OpenAI provider instance.\n */\nexport const azure = createAzure({});\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAGA;AAAA,OACK;AACP,SAAS,YAAY,mBAAmB;AAsEjC,SAAS,YACd,UAAuC,CAAC,GACnB;AACrB,QAAM,aAAa,OAAO;AAAA,IACxB,WAAW,WAAW;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAEA,QAAM,kBAAkB,MACtB,YAAY;AAAA,IACV,cAAc,QAAQ;AAAA,IACtB,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB,aAAa;AAAA,EACf,CAAC;AAEH,QAAM,MAAM,CAAC,EAAE,MAAM,QAAQ,MAC3B,WAAW,gBAAgB,CAAC,wCAAwC,OAAO,GAAG,IAAI;AAEpF,QAAM,kBAAkB,CACtB,gBACA,WAA+B,CAAC,MAEhC,IAAI,wBAAwB,gBAAgB,UAAU;AAAA,IACpD,UAAU;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,wBAAwB,CAC5B,SACA,WAAqC,CAAC,MAEtC,IAAI,8BAA8B,SAAS,UAAU;AAAA,IACnD,UAAU;AAAA,IACV;AAAA,IACA,eAAe;AAAA,IACf,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,uBAAuB,CAC3B,SACA,WAAoC,CAAC,MAErC,IAAI,qBAAqB,SAAS,UAAU;AAAA,IAC1C,UAAU;AAAA,IACV,SAAS;AAAA,IACT;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB,CAAC;AAEH,QAAM,WAAW,SACf,cACA,UACA;AACA,QAAI,YAAY;AACd,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,WAAO,gBAAgB,cAAc,QAA8B;AAAA,EACrE;AAEA,WAAS,gBAAgB;AACzB,WAAS,OAAO;AAChB,WAAS,aAAa;AACtB,WAAS,YAAY;AACrB,WAAS,gBAAgB;AAEzB,SAAO;AACT;AAKO,IAAM,QAAQ,YAAY,CAAC,CAAC;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/azure",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -18,7 +18,7 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@ai-sdk/openai": "0.0.30",
21
+ "@ai-sdk/openai": "0.0.32",
22
22
  "@ai-sdk/provider": "0.0.10",
23
23
  "@ai-sdk/provider-utils": "0.0.15"
24
24
  },