ai 6.0.0-beta.145 → 6.0.0-beta.147

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.147
4
+
5
+ ### Patch Changes
6
+
7
+ - 637eaa4: feat(ai): print model warnings in embed and embedMany
8
+
9
+ ## 6.0.0-beta.146
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [e9e157f]
14
+ - @ai-sdk/provider-utils@4.0.0-beta.47
15
+ - @ai-sdk/gateway@2.0.0-beta.77
16
+
3
17
  ## 6.0.0-beta.145
4
18
 
5
19
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3612,6 +3612,10 @@ interface EmbedResult {
3612
3612
  */
3613
3613
  readonly usage: EmbeddingModelUsage;
3614
3614
  /**
3615
+ Warnings for the call, e.g. unsupported settings.
3616
+ */
3617
+ readonly warnings: Array<Warning>;
3618
+ /**
3615
3619
  Optional provider-specific metadata.
3616
3620
  */
3617
3621
  readonly providerMetadata?: ProviderMetadata;
@@ -3696,6 +3700,10 @@ interface EmbedManyResult {
3696
3700
  */
3697
3701
  readonly usage: EmbeddingModelUsage;
3698
3702
  /**
3703
+ Warnings for the call, e.g. unsupported settings.
3704
+ */
3705
+ readonly warnings: Array<Warning>;
3706
+ /**
3699
3707
  Optional provider-specific metadata.
3700
3708
  */
3701
3709
  readonly providerMetadata?: ProviderMetadata;
package/dist/index.d.ts CHANGED
@@ -3612,6 +3612,10 @@ interface EmbedResult {
3612
3612
  */
3613
3613
  readonly usage: EmbeddingModelUsage;
3614
3614
  /**
3615
+ Warnings for the call, e.g. unsupported settings.
3616
+ */
3617
+ readonly warnings: Array<Warning>;
3618
+ /**
3615
3619
  Optional provider-specific metadata.
3616
3620
  */
3617
3621
  readonly providerMetadata?: ProviderMetadata;
@@ -3696,6 +3700,10 @@ interface EmbedManyResult {
3696
3700
  */
3697
3701
  readonly usage: EmbeddingModelUsage;
3698
3702
  /**
3703
+ Warnings for the call, e.g. unsupported settings.
3704
+ */
3705
+ readonly warnings: Array<Warning>;
3706
+ /**
3699
3707
  Optional provider-specific metadata.
3700
3708
  */
3701
3709
  readonly providerMetadata?: ProviderMetadata;
package/dist/index.js CHANGED
@@ -962,7 +962,7 @@ function detectMediaType({
962
962
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
963
963
 
964
964
  // src/version.ts
965
- var VERSION = true ? "6.0.0-beta.145" : "0.0.0-test";
965
+ var VERSION = true ? "6.0.0-beta.147" : "0.0.0-test";
966
966
 
967
967
  // src/util/download/download.ts
968
968
  var download = async ({ url }) => {
@@ -7697,7 +7697,7 @@ async function embed({
7697
7697
  }),
7698
7698
  tracer,
7699
7699
  fn: async (span) => {
7700
- const { embedding, usage, response, providerMetadata } = await retry(
7700
+ const { embedding, usage, warnings, response, providerMetadata } = await retry(
7701
7701
  () => (
7702
7702
  // nested spans to align with the embedMany telemetry data:
7703
7703
  recordSpan({
@@ -7741,6 +7741,7 @@ async function embed({
7741
7741
  return {
7742
7742
  embedding: embedding2,
7743
7743
  usage: usage2,
7744
+ warnings: modelResponse.warnings,
7744
7745
  providerMetadata: modelResponse.providerMetadata,
7745
7746
  response: modelResponse.response
7746
7747
  };
@@ -7757,10 +7758,12 @@ async function embed({
7757
7758
  }
7758
7759
  })
7759
7760
  );
7761
+ logWarnings({ warnings, provider: model.provider, model: model.modelId });
7760
7762
  return new DefaultEmbedResult({
7761
7763
  value,
7762
7764
  embedding,
7763
7765
  usage,
7766
+ warnings,
7764
7767
  providerMetadata,
7765
7768
  response
7766
7769
  });
@@ -7772,6 +7775,7 @@ var DefaultEmbedResult = class {
7772
7775
  this.value = options.value;
7773
7776
  this.embedding = options.embedding;
7774
7777
  this.usage = options.usage;
7778
+ this.warnings = options.warnings;
7775
7779
  this.providerMetadata = options.providerMetadata;
7776
7780
  this.response = options.response;
7777
7781
  }
@@ -7840,58 +7844,57 @@ async function embedMany({
7840
7844
  model.supportsParallelCalls
7841
7845
  ]);
7842
7846
  if (maxEmbeddingsPerCall == null || maxEmbeddingsPerCall === Infinity) {
7843
- const { embeddings: embeddings2, usage, response, providerMetadata: providerMetadata2 } = await retry(
7844
- () => {
7845
- return recordSpan({
7846
- name: "ai.embedMany.doEmbed",
7847
- attributes: selectTelemetryAttributes({
7848
- telemetry,
7849
- attributes: {
7850
- ...assembleOperationName({
7851
- operationId: "ai.embedMany.doEmbed",
7852
- telemetry
7853
- }),
7854
- ...baseTelemetryAttributes,
7855
- // specific settings that only make sense on the outer level:
7856
- "ai.values": {
7857
- input: () => values.map((value) => JSON.stringify(value))
7858
- }
7847
+ const { embeddings: embeddings2, usage, warnings: warnings2, response, providerMetadata: providerMetadata2 } = await retry(() => {
7848
+ return recordSpan({
7849
+ name: "ai.embedMany.doEmbed",
7850
+ attributes: selectTelemetryAttributes({
7851
+ telemetry,
7852
+ attributes: {
7853
+ ...assembleOperationName({
7854
+ operationId: "ai.embedMany.doEmbed",
7855
+ telemetry
7856
+ }),
7857
+ ...baseTelemetryAttributes,
7858
+ // specific settings that only make sense on the outer level:
7859
+ "ai.values": {
7860
+ input: () => values.map((value) => JSON.stringify(value))
7859
7861
  }
7860
- }),
7861
- tracer,
7862
- fn: async (doEmbedSpan) => {
7863
- var _a16;
7864
- const modelResponse = await model.doEmbed({
7865
- values,
7866
- abortSignal,
7867
- headers: headersWithUserAgent,
7868
- providerOptions
7869
- });
7870
- const embeddings3 = modelResponse.embeddings;
7871
- const usage2 = (_a16 = modelResponse.usage) != null ? _a16 : { tokens: NaN };
7872
- doEmbedSpan.setAttributes(
7873
- await selectTelemetryAttributes({
7874
- telemetry,
7875
- attributes: {
7876
- "ai.embeddings": {
7877
- output: () => embeddings3.map(
7878
- (embedding) => JSON.stringify(embedding)
7879
- )
7880
- },
7881
- "ai.usage.tokens": usage2.tokens
7882
- }
7883
- })
7884
- );
7885
- return {
7886
- embeddings: embeddings3,
7887
- usage: usage2,
7888
- providerMetadata: modelResponse.providerMetadata,
7889
- response: modelResponse.response
7890
- };
7891
7862
  }
7892
- });
7893
- }
7894
- );
7863
+ }),
7864
+ tracer,
7865
+ fn: async (doEmbedSpan) => {
7866
+ var _a16;
7867
+ const modelResponse = await model.doEmbed({
7868
+ values,
7869
+ abortSignal,
7870
+ headers: headersWithUserAgent,
7871
+ providerOptions
7872
+ });
7873
+ const embeddings3 = modelResponse.embeddings;
7874
+ const usage2 = (_a16 = modelResponse.usage) != null ? _a16 : { tokens: NaN };
7875
+ doEmbedSpan.setAttributes(
7876
+ await selectTelemetryAttributes({
7877
+ telemetry,
7878
+ attributes: {
7879
+ "ai.embeddings": {
7880
+ output: () => embeddings3.map(
7881
+ (embedding) => JSON.stringify(embedding)
7882
+ )
7883
+ },
7884
+ "ai.usage.tokens": usage2.tokens
7885
+ }
7886
+ })
7887
+ );
7888
+ return {
7889
+ embeddings: embeddings3,
7890
+ usage: usage2,
7891
+ warnings: modelResponse.warnings,
7892
+ providerMetadata: modelResponse.providerMetadata,
7893
+ response: modelResponse.response
7894
+ };
7895
+ }
7896
+ });
7897
+ });
7895
7898
  span.setAttributes(
7896
7899
  await selectTelemetryAttributes({
7897
7900
  telemetry,
@@ -7903,16 +7906,23 @@ async function embedMany({
7903
7906
  }
7904
7907
  })
7905
7908
  );
7909
+ logWarnings({
7910
+ warnings: warnings2,
7911
+ provider: model.provider,
7912
+ model: model.modelId
7913
+ });
7906
7914
  return new DefaultEmbedManyResult({
7907
7915
  values,
7908
7916
  embeddings: embeddings2,
7909
7917
  usage,
7918
+ warnings: warnings2,
7910
7919
  providerMetadata: providerMetadata2,
7911
7920
  responses: [response]
7912
7921
  });
7913
7922
  }
7914
7923
  const valueChunks = splitArray(values, maxEmbeddingsPerCall);
7915
7924
  const embeddings = [];
7925
+ const warnings = [];
7916
7926
  const responses = [];
7917
7927
  let tokens = 0;
7918
7928
  let providerMetadata;
@@ -7967,6 +7977,7 @@ async function embedMany({
7967
7977
  return {
7968
7978
  embeddings: embeddings2,
7969
7979
  usage,
7980
+ warnings: modelResponse.warnings,
7970
7981
  providerMetadata: modelResponse.providerMetadata,
7971
7982
  response: modelResponse.response
7972
7983
  };
@@ -7977,6 +7988,7 @@ async function embedMany({
7977
7988
  );
7978
7989
  for (const result of results) {
7979
7990
  embeddings.push(...result.embeddings);
7991
+ warnings.push(...result.warnings);
7980
7992
  responses.push(result.response);
7981
7993
  tokens += result.usage.tokens;
7982
7994
  if (result.providerMetadata) {
@@ -8006,10 +8018,16 @@ async function embedMany({
8006
8018
  }
8007
8019
  })
8008
8020
  );
8021
+ logWarnings({
8022
+ warnings,
8023
+ provider: model.provider,
8024
+ model: model.modelId
8025
+ });
8009
8026
  return new DefaultEmbedManyResult({
8010
8027
  values,
8011
8028
  embeddings,
8012
8029
  usage: { tokens },
8030
+ warnings,
8013
8031
  providerMetadata,
8014
8032
  responses
8015
8033
  });
@@ -8021,6 +8039,7 @@ var DefaultEmbedManyResult = class {
8021
8039
  this.values = options.values;
8022
8040
  this.embeddings = options.embeddings;
8023
8041
  this.usage = options.usage;
8042
+ this.warnings = options.warnings;
8024
8043
  this.providerMetadata = options.providerMetadata;
8025
8044
  this.responses = options.responses;
8026
8045
  }