@effect/ai-openai 0.20.0 → 0.21.1

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.
@@ -3,17 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withConfigOverride = exports.model = exports.Config = void 0;
6
+ exports.withConfigOverride = exports.model = exports.makeDataLoader = exports.layerDataLoader = exports.layerBatched = exports.Config = void 0;
7
7
  var AiEmbeddingModel = _interopRequireWildcard(require("@effect/ai/AiEmbeddingModel"));
8
8
  var _AiError = require("@effect/ai/AiError");
9
9
  var AiModel = _interopRequireWildcard(require("@effect/ai/AiModel"));
10
- var Tokenizer = _interopRequireWildcard(require("@effect/ai/Tokenizer"));
11
10
  var Context = _interopRequireWildcard(require("effect/Context"));
12
11
  var Effect = _interopRequireWildcard(require("effect/Effect"));
13
12
  var _Function = require("effect/Function");
14
- var Struct = _interopRequireWildcard(require("effect/Struct"));
13
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
15
14
  var _OpenAiClient = require("./OpenAiClient.js");
16
- var OpenAiTokenizer = _interopRequireWildcard(require("./OpenAiTokenizer.js"));
17
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
16
  /**
19
17
  * @since 1.0.0
@@ -35,41 +33,28 @@ class Config extends /*#__PURE__*/Context.Tag("@effect/ai-openai/OpenAiEmbedding
35
33
  // =============================================================================
36
34
  // OpenAi Embedding Model
37
35
  // =============================================================================
38
- exports.Config = Config;
39
- const batchedModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/Batched/AiModel";
40
- const dataLoaderModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/DataLoader/AiModel";
41
36
  /**
42
37
  * @since 1.0.0
43
38
  * @category Models
44
39
  */
45
- const model = (model, config) => AiModel.make({
46
- cacheKey: config.mode === "batched" ? batchedModelCacheKey : dataLoaderModelCacheKey,
47
- cachedContext: Effect.map(config.mode === "batched" ? makeBatched({
40
+ exports.Config = Config;
41
+ const model = (model, config) => {
42
+ return AiModel.make(config.mode === "batched" ? layerBatched({
48
43
  model,
49
44
  config
50
- }) : makeDataLoader({
45
+ }) : layerDataLoader({
51
46
  model,
52
47
  config
53
- }), model => Context.make(AiEmbeddingModel.AiEmbeddingModel, model)),
54
- updateRequestContext: Effect.fnUntraced(function* (context) {
55
- const parentConfig = config.mode === "batched" ? Struct.omit("mode", "maxBatchSize", "cache")(config) : Struct.omit("mode", "maxBatchSize", "window")(config);
56
- const perRequestConfig = yield* Config.getOrUndefined;
57
- return Context.mergeAll(context, Context.make(Config, {
58
- model,
59
- ...parentConfig,
60
- ...perRequestConfig
61
- }), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
62
- model: perRequestConfig?.model ?? model
63
- })));
64
- })
65
- });
48
+ }));
49
+ };
66
50
  exports.model = model;
67
- const makeRequest = (client, input, parentConfig) => Effect.context().pipe(Effect.flatMap(context => {
68
- const localConfig = context.unsafeMap.get(Config.key);
51
+ const makeRequest = (client, model, input, config) => Effect.context().pipe(Effect.flatMap(context => {
52
+ const perRequestConfig = context.unsafeMap.get(Config.key);
69
53
  return client.client.createEmbedding({
70
54
  input,
71
- ...parentConfig,
72
- ...localConfig
55
+ model,
56
+ ...config,
57
+ ...perRequestConfig
73
58
  });
74
59
  }), Effect.map(response => response.data.map(({
75
60
  embedding,
@@ -94,46 +79,64 @@ const makeRequest = (client, input, parentConfig) => Effect.context().pipe(Effec
94
79
  ...common
95
80
  });
96
81
  }));
82
+ /**
83
+ * @since 1.0.0
84
+ * @category Constructors
85
+ */
97
86
  const makeBatched = /*#__PURE__*/Effect.fnUntraced(function* (options) {
98
87
  const client = yield* _OpenAiClient.OpenAiClient;
88
+ const {
89
+ config = {},
90
+ model
91
+ } = options;
99
92
  const {
100
93
  cache,
101
94
  maxBatchSize = 2048,
102
- ...parentConfig
103
- } = options.config;
95
+ ...rest
96
+ } = config;
104
97
  return yield* AiEmbeddingModel.make({
105
98
  cache,
106
99
  maxBatchSize,
107
- embedMany(input) {
108
- return makeRequest(client, input, {
109
- ...parentConfig,
110
- model: options.model
111
- });
112
- }
100
+ embedMany: input => makeRequest(client, model, input, rest)
113
101
  });
114
102
  });
115
- const makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
103
+ /**
104
+ * @since 1.0.0
105
+ * @category Constructors
106
+ */
107
+ const makeDataLoader = exports.makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
116
108
  const client = yield* _OpenAiClient.OpenAiClient;
109
+ const {
110
+ config,
111
+ model
112
+ } = options;
117
113
  const {
118
114
  maxBatchSize = 2048,
119
115
  window,
120
- ...parentConfig
121
- } = options.config;
116
+ ...rest
117
+ } = config;
122
118
  return yield* AiEmbeddingModel.makeDataLoader({
123
119
  window,
124
120
  maxBatchSize,
125
- embedMany(input) {
126
- return makeRequest(client, input, {
127
- ...parentConfig,
128
- model: options.model
129
- });
130
- }
121
+ embedMany: input => makeRequest(client, model, input, rest)
131
122
  });
132
123
  });
124
+ /**
125
+ * @since 1.0.0
126
+ * @category Layers
127
+ */
128
+ const layerBatched = options => Layer.effect(AiEmbeddingModel.AiEmbeddingModel, makeBatched(options));
129
+ /**
130
+ * @since 1.0.0
131
+ * @category Layers
132
+ */
133
+ exports.layerBatched = layerBatched;
134
+ const layerDataLoader = options => Layer.scoped(AiEmbeddingModel.AiEmbeddingModel, makeDataLoader(options));
133
135
  /**
134
136
  * @since 1.0.0
135
137
  * @category Configuration
136
138
  */
139
+ exports.layerDataLoader = layerDataLoader;
137
140
  const withConfigOverride = exports.withConfigOverride = /*#__PURE__*/(0, _Function.dual)(2, (self, overrides) => Effect.flatMap(Config.getOrUndefined, config => Effect.provideService(self, Config, {
138
141
  ...config,
139
142
  ...overrides
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiEmbeddingModel.js","names":["AiEmbeddingModel","_interopRequireWildcard","require","_AiError","AiModel","Tokenizer","Context","Effect","_Function","Struct","_OpenAiClient","OpenAiTokenizer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Config","Tag","getOrUndefined","map","context","unsafeMap","key","exports","batchedModelCacheKey","dataLoaderModelCacheKey","model","config","make","cacheKey","mode","cachedContext","makeBatched","makeDataLoader","updateRequestContext","fnUntraced","parentConfig","omit","perRequestConfig","mergeAll","makeRequest","client","input","pipe","flatMap","localConfig","createEmbedding","response","data","embedding","index","embeddings","mapError","cause","common","module","method","_tag","AiError","description","options","OpenAiClient","cache","maxBatchSize","embedMany","window","withConfigOverride","dual","self","overrides","provideService"],"sources":["../../src/OpenAiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenAiEmbeddingModel.js","names":["AiEmbeddingModel","_interopRequireWildcard","require","_AiError","AiModel","Context","Effect","_Function","Layer","_OpenAiClient","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Config","Tag","getOrUndefined","map","context","unsafeMap","key","exports","model","config","make","mode","layerBatched","layerDataLoader","makeRequest","client","input","pipe","flatMap","perRequestConfig","createEmbedding","response","data","embedding","index","embeddings","mapError","cause","common","module","method","_tag","AiError","description","makeBatched","fnUntraced","options","OpenAiClient","cache","maxBatchSize","rest","embedMany","makeDataLoader","window","effect","scoped","withConfigOverride","dual","self","overrides","provideService"],"sources":["../../src/OpenAiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withConfigOverride = exports.model = exports.ProviderMetadata = exports.Config = void 0;
6
+ exports.withConfigOverride = exports.modelWithTokenizer = exports.model = exports.make = exports.layerWithTokenizer = exports.layer = exports.ProviderMetadata = exports.Config = void 0;
7
7
  var _AiError = require("@effect/ai/AiError");
8
8
  var AiLanguageModel = _interopRequireWildcard(require("@effect/ai/AiLanguageModel"));
9
9
  var AiModel = _interopRequireWildcard(require("@effect/ai/AiModel"));
10
10
  var AiResponse = _interopRequireWildcard(require("@effect/ai/AiResponse"));
11
- var Tokenizer = _interopRequireWildcard(require("@effect/ai/Tokenizer"));
12
11
  var Arr = _interopRequireWildcard(require("effect/Array"));
13
12
  var Context = _interopRequireWildcard(require("effect/Context"));
14
13
  var Effect = _interopRequireWildcard(require("effect/Effect"));
15
14
  var Encoding = _interopRequireWildcard(require("effect/Encoding"));
16
15
  var _Function = require("effect/Function");
16
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
17
17
  var Option = _interopRequireWildcard(require("effect/Option"));
18
18
  var Predicate = _interopRequireWildcard(require("effect/Predicate"));
19
19
  var Stream = _interopRequireWildcard(require("effect/Stream"));
@@ -55,62 +55,57 @@ class ProviderMetadata extends /*#__PURE__*/Context.Tag(InternalUtilities.Provid
55
55
  // =============================================================================
56
56
  // OpenAi Language Model
57
57
  // =============================================================================
58
+ /**
59
+ * @since 1.0.0
60
+ * @category AiModel
61
+ */
58
62
  exports.ProviderMetadata = ProviderMetadata;
59
- const cacheKey = "@effect/ai-openai/OpenAiLanguageModel";
63
+ const model = (model, config) => AiModel.make(layer({
64
+ model,
65
+ config
66
+ }));
60
67
  /**
61
68
  * @since 1.0.0
62
- * @category AI Models
69
+ * @category AiModel
63
70
  */
64
- const model = (model, config) => AiModel.make({
65
- cacheKey,
66
- cachedContext: Effect.map(make, model => Context.make(AiLanguageModel.AiLanguageModel, model)),
67
- updateRequestContext: Effect.fnUntraced(function* (context) {
68
- const perRequestConfig = yield* Config.getOrUndefined;
69
- return Context.mergeAll(context, Context.make(Config, {
70
- model,
71
- ...config,
72
- ...perRequestConfig
73
- }), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
74
- model: perRequestConfig?.model ?? model
75
- })));
76
- })
77
- });
78
71
  exports.model = model;
79
- const make = /*#__PURE__*/Effect.gen(function* () {
72
+ const modelWithTokenizer = (model, config) => AiModel.make(layerWithTokenizer({
73
+ model,
74
+ config
75
+ }));
76
+ /**
77
+ * @since 1.0.0
78
+ * @category Constructors
79
+ */
80
+ exports.modelWithTokenizer = modelWithTokenizer;
81
+ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
80
82
  const client = yield* _OpenAiClient.OpenAiClient;
81
83
  const makeRequest = Effect.fnUntraced(function* (method, {
82
84
  prompt,
83
85
  system,
84
- tools,
85
- ...options
86
+ toolChoice,
87
+ tools
86
88
  }) {
87
- const config = yield* Config;
88
- const model = config.model;
89
- if (Predicate.isUndefined(model)) {
90
- return yield* Effect.die(new _AiError.AiError({
91
- module: "OpenAiLanguageModel",
92
- method,
93
- description: "No `model` specified for request"
94
- }));
95
- }
89
+ const context = yield* Effect.context();
96
90
  const useStructured = tools.length === 1 && tools[0].structured;
97
- let toolChoice = undefined;
98
- if (Predicate.isNotUndefined(options.toolChoice) && !useStructured && tools.length > 0) {
99
- if (options.toolChoice === "auto" || options.toolChoice === "required") {
100
- toolChoice = options.toolChoice;
101
- } else if (typeof options.toolChoice === "object") {
102
- toolChoice = {
91
+ let tool_choice = undefined;
92
+ if (Predicate.isNotUndefined(toolChoice) && !useStructured && tools.length > 0) {
93
+ if (toolChoice === "auto" || toolChoice === "required") {
94
+ tool_choice = toolChoice;
95
+ } else if (typeof toolChoice === "object") {
96
+ tool_choice = {
103
97
  type: "function",
104
98
  function: {
105
- name: options.toolChoice.tool
99
+ name: toolChoice.tool
106
100
  }
107
101
  };
108
102
  }
109
103
  }
110
104
  const messages = yield* makeMessages(method, system, prompt);
111
105
  return {
112
- ...config,
113
- model,
106
+ model: options.model,
107
+ ...options.config,
108
+ ...context.unsafeMap.get(Config.key),
114
109
  messages,
115
110
  response_format: useStructured ? {
116
111
  type: "json_schema",
@@ -130,7 +125,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
130
125
  strict: true
131
126
  }
132
127
  })) : undefined,
133
- tool_choice: toolChoice
128
+ tool_choice
134
129
  };
135
130
  });
136
131
  return yield* AiLanguageModel.make({
@@ -161,10 +156,25 @@ const make = /*#__PURE__*/Effect.gen(function* () {
161
156
  }
162
157
  });
163
158
  });
159
+ /**
160
+ * @since 1.0.0
161
+ * @category Layers
162
+ */
163
+ const layer = options => Layer.effect(AiLanguageModel.AiLanguageModel, make({
164
+ model: options.model,
165
+ config: options.config
166
+ }));
167
+ /**
168
+ * @since 1.0.0
169
+ * @category Layers
170
+ */
171
+ exports.layer = layer;
172
+ const layerWithTokenizer = options => Layer.merge(layer(options), OpenAiTokenizer.layer(options));
164
173
  /**
165
174
  * @since 1.0.0
166
175
  * @category Configuration
167
176
  */
177
+ exports.layerWithTokenizer = layerWithTokenizer;
168
178
  const withConfigOverride = exports.withConfigOverride = /*#__PURE__*/(0, _Function.dual)(2, (self, overrides) => Effect.flatMap(Config.getOrUndefined, config => Effect.provideService(self, Config, {
169
179
  ...config,
170
180
  ...overrides
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiLanguageModel.js","names":["_AiError","require","AiLanguageModel","_interopRequireWildcard","AiModel","AiResponse","Tokenizer","Arr","Context","Effect","Encoding","_Function","Option","Predicate","Stream","_utilities","InternalUtilities","_OpenAiClient","_OpenAiTelemetry","OpenAiTokenizer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","constDisableValidation","disableValidation","Config","Tag","getOrUndefined","map","context","unsafeMap","key","exports","ProviderMetadata","ProviderMetadataKey","cacheKey","model","config","make","cachedContext","updateRequestContext","fnUntraced","perRequestConfig","mergeAll","gen","client","OpenAiClient","makeRequest","method","prompt","system","tools","options","isUndefined","die","AiError","module","description","useStructured","length","structured","toolChoice","undefined","isNotUndefined","type","function","name","tool","messages","makeMessages","response_format","json_schema","strict","schema","parameters","tool_choice","generateText","structuredTool","request","annotateRequest","span","rawResponse","createChatCompletion","annotateChatResponse","response","makeResponse","catchAll","cause","is","streamText","pipe","tap","stream","unwrap","annotateStreamResponse","withConfigOverride","dual","self","overrides","flatMap","provideService","match","onNone","onSome","content","role","message","_tag","text","toolCalls","part","parts","push","id","arguments","JSON","stringify","params","tool_calls","tool_call_id","result","index","data","encodeBase64","mediaType","input_audio","format","file","filename","file_data","base64","url","image_url","toString","isNonEmptyArray","userName","isNonEmptyReadonlyArray","choice","choices","MetadataPart","timestamp","Date","created","finishReason","resolveFinishReason","finish_reason","inputTokens","usage","prompt_tokens","outputTokens","completion_tokens","totalTokens","metadata","service_tier","serviceTier","system_fingerprint","systemFingerprint","completion_tokens_details","accepted_prediction_tokens","acceptedPredictionTokens","rejected_prediction_tokens","rejectedPredictionTokens","prompt_tokens_details","audio_tokens","inputAudioTokens","outputAudioTokens","FinishPart","reason","Usage","reasoningTokens","reasoning_tokens","cacheReadInputTokens","cached_tokens","cacheWriteInputTokens","providerMetadata","isNotNullable","TextPart","output","withToolCallsJson","addGenAIAnnotations","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","finishReasons","metadataPart","find","finishPart"],"sources":["../../src/OpenAiLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenAiLanguageModel.js","names":["_AiError","require","AiLanguageModel","_interopRequireWildcard","AiModel","AiResponse","Arr","Context","Effect","Encoding","_Function","Layer","Option","Predicate","Stream","_utilities","InternalUtilities","_OpenAiClient","_OpenAiTelemetry","OpenAiTokenizer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","constDisableValidation","disableValidation","Config","Tag","getOrUndefined","map","context","unsafeMap","key","exports","ProviderMetadata","ProviderMetadataKey","model","config","make","layer","modelWithTokenizer","layerWithTokenizer","fnUntraced","options","client","OpenAiClient","makeRequest","method","prompt","system","toolChoice","tools","useStructured","length","structured","tool_choice","undefined","isNotUndefined","type","function","name","tool","messages","makeMessages","response_format","json_schema","strict","description","schema","parameters","generateText","structuredTool","request","annotateRequest","span","rawResponse","createChatCompletion","annotateChatResponse","response","makeResponse","catchAll","cause","AiError","is","module","streamText","pipe","tap","stream","unwrap","annotateStreamResponse","effect","merge","withConfigOverride","dual","self","overrides","flatMap","provideService","match","onNone","onSome","content","role","message","_tag","text","toolCalls","part","parts","push","id","arguments","JSON","stringify","params","tool_calls","tool_call_id","result","index","data","encodeBase64","mediaType","input_audio","format","file","filename","file_data","base64","url","image_url","toString","isNonEmptyArray","userName","isNonEmptyReadonlyArray","choice","choices","isUndefined","MetadataPart","timestamp","Date","created","finishReason","resolveFinishReason","finish_reason","inputTokens","usage","prompt_tokens","outputTokens","completion_tokens","totalTokens","metadata","service_tier","serviceTier","system_fingerprint","systemFingerprint","completion_tokens_details","accepted_prediction_tokens","acceptedPredictionTokens","rejected_prediction_tokens","rejectedPredictionTokens","prompt_tokens_details","audio_tokens","inputAudioTokens","outputAudioTokens","FinishPart","reason","Usage","reasoningTokens","reasoning_tokens","cacheReadInputTokens","cached_tokens","cacheWriteInputTokens","providerMetadata","isNotNullable","TextPart","output","withToolCallsJson","addGenAIAnnotations","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","finishReasons","metadataPart","find","finishPart"],"sources":["../../src/OpenAiLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import * as AiEmbeddingModel from "@effect/ai/AiEmbeddingModel";
5
5
  import * as AiModel from "@effect/ai/AiModel";
6
- import * as Tokenizer from "@effect/ai/Tokenizer";
7
6
  import * as Context from "effect/Context";
8
7
  import type * as Duration from "effect/Duration";
9
8
  import * as Effect from "effect/Effect";
9
+ import * as Layer from "effect/Layer";
10
10
  import type { Simplify } from "effect/Types";
11
11
  import type * as Generated from "./Generated.js";
12
12
  import { OpenAiClient } from "./OpenAiClient.js";
@@ -64,7 +64,31 @@ export declare const model: (model: (string & {}) | Model, config: Simplify<(({
64
64
  readonly mode: "batched";
65
65
  } & Config.Batched) | ({
66
66
  readonly mode: "data-loader";
67
- } & Config.DataLoader))>) => AiModel.AiModel<AiEmbeddingModel.AiEmbeddingModel | Tokenizer.Tokenizer, OpenAiClient>;
67
+ } & Config.DataLoader))>) => AiModel.AiModel<AiEmbeddingModel.AiEmbeddingModel, OpenAiClient>;
68
+ /**
69
+ * @since 1.0.0
70
+ * @category Constructors
71
+ */
72
+ export declare const makeDataLoader: (this: unknown, options: {
73
+ readonly model: (string & {}) | Model;
74
+ readonly config: Config.DataLoader;
75
+ }) => Effect.Effect<AiEmbeddingModel.AiEmbeddingModel.Service, never, OpenAiClient | import("effect/Scope").Scope>;
76
+ /**
77
+ * @since 1.0.0
78
+ * @category Layers
79
+ */
80
+ export declare const layerBatched: (options: {
81
+ readonly model: (string & {}) | Model;
82
+ readonly config?: Config.Batched;
83
+ }) => Layer.Layer<AiEmbeddingModel.AiEmbeddingModel, never, OpenAiClient>;
84
+ /**
85
+ * @since 1.0.0
86
+ * @category Layers
87
+ */
88
+ export declare const layerDataLoader: (options: {
89
+ readonly model: (string & {}) | Model;
90
+ readonly config: Config.DataLoader;
91
+ }) => Layer.Layer<AiEmbeddingModel.AiEmbeddingModel, never, OpenAiClient>;
68
92
  /**
69
93
  * @since 1.0.0
70
94
  * @category Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiEmbeddingModel.d.ts","sourceRoot":"","sources":["../../src/OpenAiEmbeddingModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAE/D,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC,+BAA+B,CAAC,OAAO,CAAA;;AAM5E;;;GAGG;AACH,qBAAa,MAAO,SAAQ,WAGzB;IACD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAGxE;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAiB,OAAQ,SACvB,QAAQ,CACN,OAAO,CACL,IAAI,CACF,OAAO,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAC/C,OAAO,CACR,CACF,CACF;KACD;IAEF;;;OAGG;IACH,UAAiB,OAAQ,SAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE;YACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;YACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;SAC5C,CAAA;KACF;IAED;;;OAGG;IACH,UAAiB,UAAW,SAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;QACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAC/B;CACF;AASD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAC5B,QAAQ,QAAQ,CACd,CACI,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAC/C,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CACzD,CACF,KACA,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,CAwBpF,CAAA;AAuEJ;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B;;;OAGG;IACH,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3F;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAgBrF,CAAA"}
1
+ {"version":3,"file":"OpenAiEmbeddingModel.d.ts","sourceRoot":"","sources":["../../src/OpenAiEmbeddingModel.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
2
2
  import * as AiModel from "@effect/ai/AiModel";
3
- import * as Tokenizer from "@effect/ai/Tokenizer";
3
+ import type * as Tokenizer from "@effect/ai/Tokenizer";
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
+ import * as Layer from "effect/Layer";
6
7
  import type { Simplify } from "effect/Types";
7
8
  import type * as Generated from "./Generated.js";
8
9
  import { OpenAiClient } from "./OpenAiClient.js";
@@ -85,9 +86,38 @@ export declare namespace ProviderMetadata {
85
86
  }
86
87
  /**
87
88
  * @since 1.0.0
88
- * @category AI Models
89
+ * @category AiModel
89
90
  */
90
- export declare const model: (model: (string & {}) | Model, config?: Omit<Config.Service, "model">) => AiModel.AiModel<AiLanguageModel.AiLanguageModel | Tokenizer.Tokenizer, OpenAiClient>;
91
+ export declare const model: (model: (string & {}) | Model, config?: Omit<Config.Service, "model">) => AiModel.AiModel<AiLanguageModel.AiLanguageModel, OpenAiClient>;
92
+ /**
93
+ * @since 1.0.0
94
+ * @category AiModel
95
+ */
96
+ export declare const modelWithTokenizer: (model: (string & {}) | Model, config?: Omit<Config.Service, "model">) => AiModel.AiModel<AiLanguageModel.AiLanguageModel | Tokenizer.Tokenizer, OpenAiClient>;
97
+ /**
98
+ * @since 1.0.0
99
+ * @category Constructors
100
+ */
101
+ export declare const make: (this: unknown, options: {
102
+ readonly model: (string & {}) | Model;
103
+ readonly config?: Omit<Config.Service, "model">;
104
+ }) => Effect.Effect<AiLanguageModel.AiLanguageModel.Service<never>, never, OpenAiClient>;
105
+ /**
106
+ * @since 1.0.0
107
+ * @category Layers
108
+ */
109
+ export declare const layer: (options: {
110
+ readonly model: (string & {}) | Model;
111
+ readonly config?: Omit<Config.Service, "model">;
112
+ }) => Layer.Layer<AiLanguageModel.AiLanguageModel, never, OpenAiClient>;
113
+ /**
114
+ * @since 1.0.0
115
+ * @category Layers
116
+ */
117
+ export declare const layerWithTokenizer: (options: {
118
+ readonly model: (string & {}) | Model;
119
+ readonly config?: Omit<Config.Service, "model">;
120
+ }) => Layer.Layer<AiLanguageModel.AiLanguageModel | Tokenizer.Tokenizer, never, OpenAiClient>;
91
121
  /**
92
122
  * @since 1.0.0
93
123
  * @category Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiLanguageModel.d.ts","sourceRoot":"","sources":["../../src/OpenAiLanguageModel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAMhD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAA;;AAM/D;;;GAGG;AACH,qBAAa,MAAO,SAAQ,WAGzB;IACD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAGxE;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B;;;OAGG;IACH,UAAiB,OAAQ,SACvB,QAAQ,CACN,OAAO,CACL,IAAI,CACF,OAAO,SAAS,CAAC,2BAA2B,CAAC,OAAO,EACpD,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,gBAAgB,GAAG,WAAW,CACjF,CACF,CACF;KACD;CACH;;AAMD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG;AAEN;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;OAGG;IACH,UAAiB,OAAO;QACtB;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;QAC7B;;;;;;WAMG;QACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;QAClC;;;WAGG;QACH,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAA;QACzC;;;;;WAKG;QACH,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAA;QACzC;;WAEG;QACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;QACjC;;WAEG;QACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;KACnC;CACF;AAQD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAC5B,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KACrC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,CAYlF,CAAA;AAuGJ;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B;;;OAGG;IACH,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9F;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAgBxF,CAAA"}
1
+ {"version":3,"file":"OpenAiLanguageModel.d.ts","sourceRoot":"","sources":["../../src/OpenAiLanguageModel.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,11 @@
4
4
  import * as AiEmbeddingModel from "@effect/ai/AiEmbeddingModel";
5
5
  import { AiError } from "@effect/ai/AiError";
6
6
  import * as AiModel from "@effect/ai/AiModel";
7
- import * as Tokenizer from "@effect/ai/Tokenizer";
8
7
  import * as Context from "effect/Context";
9
8
  import * as Effect from "effect/Effect";
10
9
  import { dual } from "effect/Function";
11
- import * as Struct from "effect/Struct";
10
+ import * as Layer from "effect/Layer";
12
11
  import { OpenAiClient } from "./OpenAiClient.js";
13
- import * as OpenAiTokenizer from "./OpenAiTokenizer.js";
14
12
  // =============================================================================
15
13
  // Configuration
16
14
  // =============================================================================
@@ -27,39 +25,26 @@ export class Config extends /*#__PURE__*/Context.Tag("@effect/ai-openai/OpenAiEm
27
25
  // =============================================================================
28
26
  // OpenAi Embedding Model
29
27
  // =============================================================================
30
- const batchedModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/Batched/AiModel";
31
- const dataLoaderModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/DataLoader/AiModel";
32
28
  /**
33
29
  * @since 1.0.0
34
30
  * @category Models
35
31
  */
36
- export const model = (model, config) => AiModel.make({
37
- cacheKey: config.mode === "batched" ? batchedModelCacheKey : dataLoaderModelCacheKey,
38
- cachedContext: Effect.map(config.mode === "batched" ? makeBatched({
32
+ export const model = (model, config) => {
33
+ return AiModel.make(config.mode === "batched" ? layerBatched({
39
34
  model,
40
35
  config
41
- }) : makeDataLoader({
36
+ }) : layerDataLoader({
42
37
  model,
43
38
  config
44
- }), model => Context.make(AiEmbeddingModel.AiEmbeddingModel, model)),
45
- updateRequestContext: Effect.fnUntraced(function* (context) {
46
- const parentConfig = config.mode === "batched" ? Struct.omit("mode", "maxBatchSize", "cache")(config) : Struct.omit("mode", "maxBatchSize", "window")(config);
47
- const perRequestConfig = yield* Config.getOrUndefined;
48
- return Context.mergeAll(context, Context.make(Config, {
49
- model,
50
- ...parentConfig,
51
- ...perRequestConfig
52
- }), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
53
- model: perRequestConfig?.model ?? model
54
- })));
55
- })
56
- });
57
- const makeRequest = (client, input, parentConfig) => Effect.context().pipe(Effect.flatMap(context => {
58
- const localConfig = context.unsafeMap.get(Config.key);
39
+ }));
40
+ };
41
+ const makeRequest = (client, model, input, config) => Effect.context().pipe(Effect.flatMap(context => {
42
+ const perRequestConfig = context.unsafeMap.get(Config.key);
59
43
  return client.client.createEmbedding({
60
44
  input,
61
- ...parentConfig,
62
- ...localConfig
45
+ model,
46
+ ...config,
47
+ ...perRequestConfig
63
48
  });
64
49
  }), Effect.map(response => response.data.map(({
65
50
  embedding,
@@ -84,42 +69,58 @@ const makeRequest = (client, input, parentConfig) => Effect.context().pipe(Effec
84
69
  ...common
85
70
  });
86
71
  }));
72
+ /**
73
+ * @since 1.0.0
74
+ * @category Constructors
75
+ */
87
76
  const makeBatched = /*#__PURE__*/Effect.fnUntraced(function* (options) {
88
77
  const client = yield* OpenAiClient;
78
+ const {
79
+ config = {},
80
+ model
81
+ } = options;
89
82
  const {
90
83
  cache,
91
84
  maxBatchSize = 2048,
92
- ...parentConfig
93
- } = options.config;
85
+ ...rest
86
+ } = config;
94
87
  return yield* AiEmbeddingModel.make({
95
88
  cache,
96
89
  maxBatchSize,
97
- embedMany(input) {
98
- return makeRequest(client, input, {
99
- ...parentConfig,
100
- model: options.model
101
- });
102
- }
90
+ embedMany: input => makeRequest(client, model, input, rest)
103
91
  });
104
92
  });
105
- const makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
93
+ /**
94
+ * @since 1.0.0
95
+ * @category Constructors
96
+ */
97
+ export const makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
106
98
  const client = yield* OpenAiClient;
99
+ const {
100
+ config,
101
+ model
102
+ } = options;
107
103
  const {
108
104
  maxBatchSize = 2048,
109
105
  window,
110
- ...parentConfig
111
- } = options.config;
106
+ ...rest
107
+ } = config;
112
108
  return yield* AiEmbeddingModel.makeDataLoader({
113
109
  window,
114
110
  maxBatchSize,
115
- embedMany(input) {
116
- return makeRequest(client, input, {
117
- ...parentConfig,
118
- model: options.model
119
- });
120
- }
111
+ embedMany: input => makeRequest(client, model, input, rest)
121
112
  });
122
113
  });
114
+ /**
115
+ * @since 1.0.0
116
+ * @category Layers
117
+ */
118
+ export const layerBatched = options => Layer.effect(AiEmbeddingModel.AiEmbeddingModel, makeBatched(options));
119
+ /**
120
+ * @since 1.0.0
121
+ * @category Layers
122
+ */
123
+ export const layerDataLoader = options => Layer.scoped(AiEmbeddingModel.AiEmbeddingModel, makeDataLoader(options));
123
124
  /**
124
125
  * @since 1.0.0
125
126
  * @category Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiEmbeddingModel.js","names":["AiEmbeddingModel","AiError","AiModel","Tokenizer","Context","Effect","dual","Struct","OpenAiClient","OpenAiTokenizer","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","batchedModelCacheKey","dataLoaderModelCacheKey","model","config","make","cacheKey","mode","cachedContext","makeBatched","makeDataLoader","updateRequestContext","fnUntraced","parentConfig","omit","perRequestConfig","mergeAll","makeRequest","client","input","pipe","flatMap","localConfig","createEmbedding","response","data","embedding","index","embeddings","mapError","cause","common","module","method","_tag","description","options","cache","maxBatchSize","embedMany","window","withConfigOverride","self","overrides","provideService"],"sources":["../../src/OpenAiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenAiEmbeddingModel.js","names":["AiEmbeddingModel","AiError","AiModel","Context","Effect","dual","Layer","OpenAiClient","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","model","config","make","mode","layerBatched","layerDataLoader","makeRequest","client","input","pipe","flatMap","perRequestConfig","createEmbedding","response","data","embedding","index","embeddings","mapError","cause","common","module","method","_tag","description","makeBatched","fnUntraced","options","cache","maxBatchSize","rest","embedMany","makeDataLoader","window","effect","scoped","withConfigOverride","self","overrides","provideService"],"sources":["../../src/OpenAiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,12 @@ import { AiError } from "@effect/ai/AiError";
5
5
  import * as AiLanguageModel from "@effect/ai/AiLanguageModel";
6
6
  import * as AiModel from "@effect/ai/AiModel";
7
7
  import * as AiResponse from "@effect/ai/AiResponse";
8
- import * as Tokenizer from "@effect/ai/Tokenizer";
9
8
  import * as Arr from "effect/Array";
10
9
  import * as Context from "effect/Context";
11
10
  import * as Effect from "effect/Effect";
12
11
  import * as Encoding from "effect/Encoding";
13
12
  import { dual } from "effect/Function";
13
+ import * as Layer from "effect/Layer";
14
14
  import * as Option from "effect/Option";
15
15
  import * as Predicate from "effect/Predicate";
16
16
  import * as Stream from "effect/Stream";
@@ -46,60 +46,54 @@ export class ProviderMetadata extends /*#__PURE__*/Context.Tag(InternalUtilities
46
46
  // =============================================================================
47
47
  // OpenAi Language Model
48
48
  // =============================================================================
49
- const cacheKey = "@effect/ai-openai/OpenAiLanguageModel";
50
49
  /**
51
50
  * @since 1.0.0
52
- * @category AI Models
51
+ * @category AiModel
53
52
  */
54
- export const model = (model, config) => AiModel.make({
55
- cacheKey,
56
- cachedContext: Effect.map(make, model => Context.make(AiLanguageModel.AiLanguageModel, model)),
57
- updateRequestContext: Effect.fnUntraced(function* (context) {
58
- const perRequestConfig = yield* Config.getOrUndefined;
59
- return Context.mergeAll(context, Context.make(Config, {
60
- model,
61
- ...config,
62
- ...perRequestConfig
63
- }), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
64
- model: perRequestConfig?.model ?? model
65
- })));
66
- })
67
- });
68
- const make = /*#__PURE__*/Effect.gen(function* () {
53
+ export const model = (model, config) => AiModel.make(layer({
54
+ model,
55
+ config
56
+ }));
57
+ /**
58
+ * @since 1.0.0
59
+ * @category AiModel
60
+ */
61
+ export const modelWithTokenizer = (model, config) => AiModel.make(layerWithTokenizer({
62
+ model,
63
+ config
64
+ }));
65
+ /**
66
+ * @since 1.0.0
67
+ * @category Constructors
68
+ */
69
+ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
69
70
  const client = yield* OpenAiClient;
70
71
  const makeRequest = Effect.fnUntraced(function* (method, {
71
72
  prompt,
72
73
  system,
73
- tools,
74
- ...options
74
+ toolChoice,
75
+ tools
75
76
  }) {
76
- const config = yield* Config;
77
- const model = config.model;
78
- if (Predicate.isUndefined(model)) {
79
- return yield* Effect.die(new AiError({
80
- module: "OpenAiLanguageModel",
81
- method,
82
- description: "No `model` specified for request"
83
- }));
84
- }
77
+ const context = yield* Effect.context();
85
78
  const useStructured = tools.length === 1 && tools[0].structured;
86
- let toolChoice = undefined;
87
- if (Predicate.isNotUndefined(options.toolChoice) && !useStructured && tools.length > 0) {
88
- if (options.toolChoice === "auto" || options.toolChoice === "required") {
89
- toolChoice = options.toolChoice;
90
- } else if (typeof options.toolChoice === "object") {
91
- toolChoice = {
79
+ let tool_choice = undefined;
80
+ if (Predicate.isNotUndefined(toolChoice) && !useStructured && tools.length > 0) {
81
+ if (toolChoice === "auto" || toolChoice === "required") {
82
+ tool_choice = toolChoice;
83
+ } else if (typeof toolChoice === "object") {
84
+ tool_choice = {
92
85
  type: "function",
93
86
  function: {
94
- name: options.toolChoice.tool
87
+ name: toolChoice.tool
95
88
  }
96
89
  };
97
90
  }
98
91
  }
99
92
  const messages = yield* makeMessages(method, system, prompt);
100
93
  return {
101
- ...config,
102
- model,
94
+ model: options.model,
95
+ ...options.config,
96
+ ...context.unsafeMap.get(Config.key),
103
97
  messages,
104
98
  response_format: useStructured ? {
105
99
  type: "json_schema",
@@ -119,7 +113,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
119
113
  strict: true
120
114
  }
121
115
  })) : undefined,
122
- tool_choice: toolChoice
116
+ tool_choice
123
117
  };
124
118
  });
125
119
  return yield* AiLanguageModel.make({
@@ -150,6 +144,19 @@ const make = /*#__PURE__*/Effect.gen(function* () {
150
144
  }
151
145
  });
152
146
  });
147
+ /**
148
+ * @since 1.0.0
149
+ * @category Layers
150
+ */
151
+ export const layer = options => Layer.effect(AiLanguageModel.AiLanguageModel, make({
152
+ model: options.model,
153
+ config: options.config
154
+ }));
155
+ /**
156
+ * @since 1.0.0
157
+ * @category Layers
158
+ */
159
+ export const layerWithTokenizer = options => Layer.merge(layer(options), OpenAiTokenizer.layer(options));
153
160
  /**
154
161
  * @since 1.0.0
155
162
  * @category Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiLanguageModel.js","names":["AiError","AiLanguageModel","AiModel","AiResponse","Tokenizer","Arr","Context","Effect","Encoding","dual","Option","Predicate","Stream","resolveFinishReason","InternalUtilities","OpenAiClient","addGenAIAnnotations","OpenAiTokenizer","constDisableValidation","disableValidation","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","ProviderMetadata","ProviderMetadataKey","cacheKey","model","config","make","cachedContext","updateRequestContext","fnUntraced","perRequestConfig","mergeAll","gen","client","makeRequest","method","prompt","system","tools","options","isUndefined","die","module","description","useStructured","length","structured","toolChoice","undefined","isNotUndefined","type","function","name","tool","messages","makeMessages","response_format","json_schema","strict","schema","parameters","tool_choice","generateText","structuredTool","request","annotateRequest","span","rawResponse","createChatCompletion","annotateChatResponse","response","makeResponse","catchAll","cause","is","streamText","pipe","tap","stream","unwrap","annotateStreamResponse","withConfigOverride","self","overrides","flatMap","provideService","match","onNone","onSome","content","role","message","_tag","text","toolCalls","part","parts","push","id","arguments","JSON","stringify","params","tool_calls","tool_call_id","result","index","data","encodeBase64","mediaType","input_audio","format","file","filename","file_data","base64","url","image_url","toString","isNonEmptyArray","userName","isNonEmptyReadonlyArray","choice","choices","MetadataPart","timestamp","Date","created","finishReason","finish_reason","inputTokens","usage","prompt_tokens","outputTokens","completion_tokens","totalTokens","metadata","service_tier","serviceTier","system_fingerprint","systemFingerprint","completion_tokens_details","accepted_prediction_tokens","acceptedPredictionTokens","rejected_prediction_tokens","rejectedPredictionTokens","prompt_tokens_details","audio_tokens","inputAudioTokens","outputAudioTokens","FinishPart","reason","Usage","reasoningTokens","reasoning_tokens","cacheReadInputTokens","cached_tokens","cacheWriteInputTokens","providerMetadata","isNotNullable","TextPart","output","withToolCallsJson","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","finishReasons","metadataPart","find","finishPart"],"sources":["../../src/OpenAiLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenAiLanguageModel.js","names":["AiError","AiLanguageModel","AiModel","AiResponse","Arr","Context","Effect","Encoding","dual","Layer","Option","Predicate","Stream","resolveFinishReason","InternalUtilities","OpenAiClient","addGenAIAnnotations","OpenAiTokenizer","constDisableValidation","disableValidation","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","ProviderMetadata","ProviderMetadataKey","model","config","make","layer","modelWithTokenizer","layerWithTokenizer","fnUntraced","options","client","makeRequest","method","prompt","system","toolChoice","tools","useStructured","length","structured","tool_choice","undefined","isNotUndefined","type","function","name","tool","messages","makeMessages","response_format","json_schema","strict","description","schema","parameters","generateText","structuredTool","request","annotateRequest","span","rawResponse","createChatCompletion","annotateChatResponse","response","makeResponse","catchAll","cause","is","module","streamText","pipe","tap","stream","unwrap","annotateStreamResponse","effect","merge","withConfigOverride","self","overrides","flatMap","provideService","match","onNone","onSome","content","role","message","_tag","text","toolCalls","part","parts","push","id","arguments","JSON","stringify","params","tool_calls","tool_call_id","result","index","data","encodeBase64","mediaType","input_audio","format","file","filename","file_data","base64","url","image_url","toString","isNonEmptyArray","userName","isNonEmptyReadonlyArray","choice","choices","isUndefined","MetadataPart","timestamp","Date","created","finishReason","finish_reason","inputTokens","usage","prompt_tokens","outputTokens","completion_tokens","totalTokens","metadata","service_tier","serviceTier","system_fingerprint","systemFingerprint","completion_tokens_details","accepted_prediction_tokens","acceptedPredictionTokens","rejected_prediction_tokens","rejectedPredictionTokens","prompt_tokens_details","audio_tokens","inputAudioTokens","outputAudioTokens","FinishPart","reason","Usage","reasoningTokens","reasoning_tokens","cacheReadInputTokens","cached_tokens","cacheWriteInputTokens","providerMetadata","isNotNullable","TextPart","output","withToolCallsJson","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","finishReasons","metadataPart","find","finishPart"],"sources":["../../src/OpenAiLanguageModel.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,OAAO,QAAQ,oBAAoB;AAE5C,OAAO,KAAKC,eAAe,MAAM,4BAA4B;AAC7D,OAAO,KAAKC,OAAO,MAAM,oBAAoB;AAC7C,OAAO,KAAKC,UAAU,MAAM,uBAAuB;AAEnD,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAIvC,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,OAAO,KAAKC,iBAAiB,MAAM,yBAAyB;AAC5D,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD,MAAMC,sBAAsB,GAAG;EAAEC,iBAAiB,EAAE;AAAI,CAAW;AAQnE;AACA;AACA;AAEA;;;;AAIA,OAAM,MAAOC,MAAO,sBAAQf,OAAO,CAACgB,GAAG,CAAC,8CAA8C,CAAC,EAGpF;EACD;;;EAGA,OAAgBC,cAAc,gBAA8ChB,MAAM,CAACiB,GAAG,cACpFjB,MAAM,CAACkB,OAAO,EAAS,EACtBA,OAAO,IAAKA,OAAO,CAACC,SAAS,CAACC,GAAG,CAACN,MAAM,CAACO,GAAG,CAAC,CAC/C;;AAuBH;AACA;AACA;AAEA;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQvB,OAAO,CAACgB,GAAG,CAACP,iBAAiB,CAACe,mBAAmB,CAAC,EAGrF;AA8CH;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMC,KAAK,GAAGA,CACnBA,KAA4B,EAC5BC,MAAsC,KAC6B7B,OAAO,CAAC8B,IAAI,CAACC,KAAK,CAAC;EAAEH,KAAK;EAAEC;AAAM,CAAE,CAAC,CAAC;AAE3G;;;;AAIA,OAAO,MAAMG,kBAAkB,GAAGA,CAChCJ,KAA4B,EAC5BC,MAAsC,KAEtC7B,OAAO,CAAC8B,IAAI,CAACG,kBAAkB,CAAC;EAAEL,KAAK;EAAEC;AAAM,CAAE,CAAC,CAAC;AAErD;;;;AAIA,OAAO,MAAMC,IAAI,gBAAG1B,MAAM,CAAC8B,UAAU,CAAC,WAAUC,OAG/C;EACC,MAAMC,MAAM,GAAG,OAAOvB,YAAY;EAElC,MAAMwB,WAAW,GAAGjC,MAAM,CAAC8B,UAAU,CACnC,WAAUI,MAAc,EAAE;IAAEC,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAK,CAA0C;IACrG,MAAMpB,OAAO,GAAG,OAAOlB,MAAM,CAACkB,OAAO,EAAS;IAC9C,MAAMqB,aAAa,GAAGD,KAAK,CAACE,MAAM,KAAK,CAAC,IAAIF,KAAK,CAAC,CAAC,CAAC,CAACG,UAAU;IAC/D,IAAIC,WAAW,GAAwEC,SAAS;IAChG,IAAItC,SAAS,CAACuC,cAAc,CAACP,UAAU,CAAC,IAAI,CAACE,aAAa,IAAID,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MAC9E,IAAIH,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,UAAU,EAAE;QACtDK,WAAW,GAAGL,UAAU;MAC1B,CAAC,MAAM,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;QACzCK,WAAW,GAAG;UAAEG,IAAI,EAAE,UAAU;UAAEC,QAAQ,EAAE;YAAEC,IAAI,EAAEV,UAAU,CAACW;UAAI;QAAE,CAAE;MACzE;IACF;IACA,MAAMC,QAAQ,GAAG,OAAOC,YAAY,CAAChB,MAAM,EAAEE,MAAM,EAAED,MAAM,CAAC;IAC5D,OAAO;MACLX,KAAK,EAAEO,OAAO,CAACP,KAAK;MACpB,GAAGO,OAAO,CAACN,MAAM;MACjB,GAAGP,OAAO,CAACC,SAAS,CAACC,GAAG,CAACN,MAAM,CAACO,GAAG,CAAC;MACpC4B,QAAQ;MACRE,eAAe,EAAEZ,aAAa,GAC5B;QACEM,IAAI,EAAE,aAAa;QACnBO,WAAW,EAAE;UACXC,MAAM,EAAE,IAAI;UACZN,IAAI,EAAET,KAAK,CAAC,CAAC,CAAC,CAACS,IAAI;UACnBO,WAAW,EAAEhB,KAAK,CAAC,CAAC,CAAC,CAACgB,WAAW;UACjCC,MAAM,EAAEjB,KAAK,CAAC,CAAC,CAAC,CAACkB;;OAEpB,GACDb,SAAS;MACXL,KAAK,EAAE,CAACC,aAAa,IAAID,KAAK,CAACE,MAAM,GAAG,CAAC,GACvCF,KAAK,CAACrB,GAAG,CAAE+B,IAAI,KAAM;QACnBH,IAAI,EAAE,UAAU;QAChBC,QAAQ,EAAE;UACRC,IAAI,EAAEC,IAAI,CAACD,IAAI;UACfO,WAAW,EAAEN,IAAI,CAACM,WAAW;UAC7BE,UAAU,EAAER,IAAI,CAACQ,UAAiB;UAClCH,MAAM,EAAE;;OAEX,CAAC,CAAC,GACHV,SAAS;MACXD;KAC8D;EAClE,CAAC,CACF;EAED,OAAO,OAAO/C,eAAe,CAAC+B,IAAI,CAAC;IACjC+B,YAAY,EAAEzD,MAAM,CAAC8B,UAAU,CAC7B,WAAUC,OAAO;MACf,MAAM2B,cAAc,GAAG3B,OAAO,CAACO,KAAK,CAACE,MAAM,KAAK,CAAC,IAAIT,OAAO,CAACO,KAAK,CAAC,CAAC,CAAC,CAACG,UAAU,GAC5EV,OAAO,CAACO,KAAK,CAAC,CAAC,CAAC,GAChBK,SAAS;MACb,MAAMgB,OAAO,GAAG,OAAO1B,WAAW,CAAC,cAAc,EAAEF,OAAO,CAAC;MAC3D6B,eAAe,CAAC7B,OAAO,CAAC8B,IAAI,EAAEF,OAAO,CAAC;MACtC,MAAMG,WAAW,GAAG,OAAO9B,MAAM,CAACA,MAAM,CAAC+B,oBAAoB,CAACJ,OAAO,CAAC;MACtEK,oBAAoB,CAACjC,OAAO,CAAC8B,IAAI,EAAEC,WAAW,CAAC;MAC/C,MAAMG,QAAQ,GAAG,OAAOC,YAAY,CAACJ,WAAW,EAAE,cAAc,EAAEJ,cAAc,CAAC;MACjF,OAAOO,QAAQ;IACjB,CAAC,EACDjE,MAAM,CAACmE,QAAQ,CAAEC,KAAK,IACpB1E,OAAO,CAAC2E,EAAE,CAACD,KAAK,CAAC,GAAGA,KAAK,GAAG,IAAI1E,OAAO,CAAC;MACtC4E,MAAM,EAAE,qBAAqB;MAC7BpC,MAAM,EAAE,cAAc;MACtBoB,WAAW,EAAE,mBAAmB;MAChCc;KACD,CAAC,CACH,CACF;IACDG,UAAUA,CAACxC,OAAO;MAChB,OAAOE,WAAW,CAAC,YAAY,EAAEF,OAAO,CAAC,CAACyC,IAAI,CAC5CxE,MAAM,CAACyE,GAAG,CAAEd,OAAO,IAAKC,eAAe,CAAC7B,OAAO,CAAC8B,IAAI,EAAEF,OAAO,CAAC,CAAC,EAC/D3D,MAAM,CAACiB,GAAG,CAACe,MAAM,CAAC0C,MAAM,CAAC,EACzBpE,MAAM,CAACqE,MAAM,EACbrE,MAAM,CAACW,GAAG,CAAEgD,QAAQ,IAAI;QACtBW,sBAAsB,CAAC7C,OAAO,CAAC8B,IAAI,EAAEI,QAAQ,CAAC;QAC9C,OAAOA,QAAQ;MACjB,CAAC,CAAC,EACF3D,MAAM,CAAC6D,QAAQ,CAAEC,KAAK,IACpB1E,OAAO,CAAC2E,EAAE,CAACD,KAAK,CAAC,GAAGA,KAAK,GAAG,IAAI1E,OAAO,CAAC;QACtC4E,MAAM,EAAE,qBAAqB;QAC7BpC,MAAM,EAAE,YAAY;QACpBoB,WAAW,EAAE,mBAAmB;QAChCc;OACD,CAAC,CACH,CACF;IACH;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMzC,KAAK,GAAII,OAGrB,IACC5B,KAAK,CAAC0E,MAAM,CAAClF,eAAe,CAACA,eAAe,EAAE+B,IAAI,CAAC;EAAEF,KAAK,EAAEO,OAAO,CAACP,KAAK;EAAEC,MAAM,EAAEM,OAAO,CAACN;AAAM,CAAE,CAAC,CAAC;AAEvG;;;;AAIA,OAAO,MAAMI,kBAAkB,GAAIE,OAGlC,IACC5B,KAAK,CAAC2E,KAAK,CAACnD,KAAK,CAACI,OAAO,CAAC,EAAEpB,eAAe,CAACgB,KAAK,CAACI,OAAO,CAAC,CAAC;AAE7D;;;;AAIA,OAAO,MAAMgD,kBAAkB,gBAW3B7E,IAAI,CAWN,CAAC,EAAE,CAAC8E,IAAI,EAAEC,SAAS,KACnBjF,MAAM,CAACkF,OAAO,CACZpE,MAAM,CAACE,cAAc,EACpBS,MAAM,IAAKzB,MAAM,CAACmF,cAAc,CAACH,IAAI,EAAElE,MAAM,EAAE;EAAE,GAAGW,MAAM;EAAE,GAAGwD;AAAS,CAAE,CAAC,CAC7E,CAAC;AAEJ,MAAM/B,YAAY,gBAAGlD,MAAM,CAAC8B,UAAU,CAAC,WACrCI,MAAc,EACdE,MAA6B,EAC7BD,MAAuB;EAIvB,MAAMc,QAAQ,GAAa7C,MAAM,CAACgF,KAAK,CAAChD,MAAM,EAAE;IAC9CiD,MAAM,EAAEA,CAAA,KAAM,EAAE;IAChBC,MAAM,EAAGC,OAAO,IAAK,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAED;IAAO,CAAE;GAClD,CAAC;EACF,KAAK,MAAME,OAAO,IAAItD,MAAM,CAACc,QAAQ,EAAE;IACrC,QAAQwC,OAAO,CAACC,IAAI;MAClB,KAAK,kBAAkB;QAAE;UACvB,IAAIC,IAAI,GAAG,EAAE;UACb,MAAMC,SAAS,GAAkE,EAAE;UACnF,KAAK,MAAMC,IAAI,IAAIJ,OAAO,CAACK,KAAK,EAAE;YAChC,QAAQD,IAAI,CAACH,IAAI;cACf,KAAK,UAAU;gBAAE;kBACfC,IAAI,IAAIE,IAAI,CAACF,IAAI;kBACjB;gBACF;cACA,KAAK,cAAc;gBAAE;kBACnBC,SAAS,CAACG,IAAI,CAAC;oBACbC,EAAE,EAAEH,IAAI,CAACG,EAAE;oBACXnD,IAAI,EAAE,UAAU;oBAChBC,QAAQ,EAAE;sBACRC,IAAI,EAAE8C,IAAI,CAAC9C,IAAI;sBACfkD,SAAS,EAAEC,IAAI,CAACC,SAAS,CAACN,IAAI,CAACO,MAAM;;mBAExC,CAAC;kBACF;gBACF;YACF;UACF;UACAnD,QAAQ,CAAC8C,IAAI,CAAC;YACZP,IAAI,EAAE,WAAW;YACjBD,OAAO,EAAEI,IAAI;YACbU,UAAU,EAAET,SAAS,CAACpD,MAAM,GAAG,CAAC,GAAGoD,SAAS,GAAGjD;WAChD,CAAC;UAEF;QACF;MACA,KAAK,aAAa;QAAE;UAClB,KAAK,MAAMkD,IAAI,IAAIJ,OAAO,CAACK,KAAK,EAAE;YAChC7C,QAAQ,CAAC8C,IAAI,CAAC;cACZP,IAAI,EAAE,MAAM;cACZc,YAAY,EAAET,IAAI,CAACG,EAAE;cACrBT,OAAO,EAAEW,IAAI,CAACC,SAAS,CAACN,IAAI,CAACU,MAAM;aACpC,CAAC;UACJ;UACA;QACF;MACA,KAAK,aAAa;QAAE;UAClB;UACA,IAAId,OAAO,CAACK,KAAK,CAACtD,MAAM,KAAK,CAAC,IAAIiD,OAAO,CAACK,KAAK,CAAC,CAAC,CAAC,CAACJ,IAAI,KAAK,UAAU,EAAE;YACtEzC,QAAQ,CAAC8C,IAAI,CAAC;cAAEP,IAAI,EAAE,MAAM;cAAED,OAAO,EAAEE,OAAO,CAACK,KAAK,CAAC,CAAC,CAAC,CAACH;YAAI,CAAE,CAAC;YAC/D;UACF;UACA,MAAMJ,OAAO,GAAoB,EAAE;UACnC,KAAK,IAAIiB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGf,OAAO,CAACK,KAAK,CAACtD,MAAM,EAAEgE,KAAK,EAAE,EAAE;YACzD,MAAMX,IAAI,GAAGJ,OAAO,CAACK,KAAK,CAACU,KAAK,CAAC;YACjC,QAAQX,IAAI,CAACH,IAAI;cACf;cACA,KAAK,UAAU;gBAAE;kBACf,MAAMe,IAAI,GAAGxG,QAAQ,CAACyG,YAAY,CAACb,IAAI,CAACY,IAAI,CAAC;kBAC7C,QAAQZ,IAAI,CAACc,SAAS;oBACpB,KAAK,WAAW;sBAAE;wBAChBpB,OAAO,CAACQ,IAAI,CAAC;0BACXlD,IAAI,EAAE,aAAa;0BACnB+D,WAAW,EAAE;4BAAEH,IAAI;4BAAEI,MAAM,EAAE;0BAAK;yBACnC,CAAC;wBACF;sBACF;oBACA,KAAK,WAAW;oBAChB,KAAK,YAAY;sBAAE;wBACjBtB,OAAO,CAACQ,IAAI,CAAC;0BACXlD,IAAI,EAAE,aAAa;0BACnB+D,WAAW,EAAE;4BAAEH,IAAI;4BAAEI,MAAM,EAAE;0BAAK;yBACnC,CAAC;wBACF;sBACF;oBACA,KAAK,iBAAiB;sBAAE;wBACtBtB,OAAO,CAACQ,IAAI,CAAC;0BACXlD,IAAI,EAAE,MAAM;0BACZiE,IAAI,EAAE;4BACJC,QAAQ,EAAElB,IAAI,CAAC9C,IAAI,IAAI,QAAQyD,KAAK,MAAM;4BAC1CQ,SAAS,EAAE,+BAA+BP,IAAI;;yBAEjD,CAAC;wBACF;sBACF;oBACA;sBAAS;wBACP,OAAO,OAAO,IAAI/G,OAAO,CAAC;0BACxB4E,MAAM,EAAE,qBAAqB;0BAC7BpC,MAAM,EAAE,EAAE;0BACVoB,WAAW,EAAE,gDAAgDuC,IAAI,CAACc,SAAS;yBAC5E,CAAC;sBACJ;kBACF;kBACA;gBACF;cACA,KAAK,aAAa;gBAAE;kBAClB,OAAO,OAAO,IAAIjH,OAAO,CAAC;oBACxB4E,MAAM,EAAE,qBAAqB;oBAC7BpC,MAAM;oBACNoB,WAAW,EAAE;mBACd,CAAC;gBACJ;cACA,KAAK,UAAU;gBAAE;kBACfiC,OAAO,CAACQ,IAAI,CAAC;oBAAElD,IAAI,EAAE,MAAM;oBAAE8C,IAAI,EAAEE,IAAI,CAACF;kBAAI,CAAE,CAAC;kBAC/C;gBACF;cACA,KAAK,WAAW;gBAAE;kBAChB,MAAMgB,SAAS,GAAGd,IAAI,CAACc,SAAS,IAAI,YAAY;kBAChD,MAAMM,MAAM,GAAGhH,QAAQ,CAACyG,YAAY,CAACb,IAAI,CAACY,IAAI,CAAC;kBAC/C,MAAMS,GAAG,GAAG,QAAQP,SAAS,WAAWM,MAAM,EAAE;kBAChD1B,OAAO,CAACQ,IAAI,CAAC;oBAAElD,IAAI,EAAE,WAAW;oBAAEsE,SAAS,EAAE;sBAAED;oBAAG;kBAAE,CAAE,CAAC;kBACvD;gBACF;cACA,KAAK,cAAc;gBAAE;kBACnB;kBACA;kBACA3B,OAAO,CAACQ,IAAI,CAAC;oBAAElD,IAAI,EAAE,WAAW;oBAAEsE,SAAS,EAAE;sBAAED,GAAG,EAAErB,IAAI,CAACqB,GAAG,CAACE,QAAQ;oBAAE;kBAAE,CAAE,CAAC;gBAC9E;YACF;UACF;UACA,IAAItH,GAAG,CAACuH,eAAe,CAAC9B,OAAO,CAAC,EAAE;YAChCtC,QAAQ,CAAC8C,IAAI,CAAC;cACZP,IAAI,EAAE,MAAM;cACZzC,IAAI,EAAE0C,OAAO,CAAC6B,QAAQ;cACtB/B;aACD,CAAC;UACJ;UACA;QACF;IACF;EACF;EACA,IAAIzF,GAAG,CAACyH,uBAAuB,CAACtE,QAAQ,CAAC,EAAE;IACzC,OAAOA,QAAQ;EACjB;EACA,OAAO,OAAO,IAAIvD,OAAO,CAAC;IACxB4E,MAAM,EAAE,qBAAqB;IAC7BpC,MAAM;IACNoB,WAAW,EAAE;GACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAMY,YAAY,gBAAGlE,MAAM,CAAC8B,UAAU,CAAC,WACrCmC,QAA4D,EAC5D/B,MAAc,EACdwB,cAAwE;EAExE,MAAM8D,MAAM,GAAGvD,QAAQ,CAACwD,OAAO,CAAC,CAAC,CAAC;EAClC,IAAIpH,SAAS,CAACqH,WAAW,CAACF,MAAM,CAAC,EAAE;IACjC,OAAO,OAAO,IAAI9H,OAAO,CAAC;MACxB4E,MAAM,EAAE,qBAAqB;MAC7BpC,MAAM;MACNoB,WAAW,EAAE;KACd,CAAC;EACJ;EACA,MAAMwC,KAAK,GAA2B,EAAE;EACxCA,KAAK,CAACC,IAAI,CACR,IAAIlG,UAAU,CAAC8H,YAAY,CAAC;IAC1B3B,EAAE,EAAE/B,QAAQ,CAAC+B,EAAE;IACfxE,KAAK,EAAEyC,QAAQ,CAACzC,KAAK;IACrB;IACAoG,SAAS,EAAE,IAAIC,IAAI,CAAC5D,QAAQ,CAAC6D,OAAO,GAAG,IAAI;GAC5C,EAAElH,sBAAsB,CAAC,CAC3B;EACD,MAAMmH,YAAY,GAAGxH,mBAAmB,CAACiH,MAAM,CAACQ,aAAa,CAAC;EAC9D,MAAMC,WAAW,GAAGhE,QAAQ,CAACiE,KAAK,EAAEC,aAAa,IAAI,CAAC;EACtD,MAAMC,YAAY,GAAGnE,QAAQ,CAACiE,KAAK,EAAEG,iBAAiB,IAAI,CAAC;EAC3D,MAAMC,WAAW,GAAGL,WAAW,GAAGG,YAAY;EAC9C,MAAMG,QAAQ,GAA4B,EAAE;EAC5C,IAAIlI,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACuE,YAAY,CAAC,EAAE;IACnDD,QAAQ,CAACE,WAAW,GAAGxE,QAAQ,CAACuE,YAAY;EAC9C;EACA,IAAInI,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACyE,kBAAkB,CAAC,EAAE;IACzDH,QAAQ,CAACI,iBAAiB,GAAG1E,QAAQ,CAACyE,kBAAkB;EAC1D;EACA,IAAIrI,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEC,0BAA0B,CAAC,EAAE;IACnGN,QAAQ,CAACO,wBAAwB,GAAG7E,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEC,0BAA0B,IAAI,CAAC;EAChH;EACA,IAAIxI,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEG,0BAA0B,CAAC,EAAE;IACnGR,QAAQ,CAACS,wBAAwB,GAAG/E,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEG,0BAA0B,IAAI,CAAC;EAChH;EACA,IAAI1I,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACiE,KAAK,EAAEe,qBAAqB,EAAEC,YAAY,CAAC,EAAE;IACjFX,QAAQ,CAACY,gBAAgB,GAAGlF,QAAQ,CAACiE,KAAK,EAAEe,qBAAqB,EAAEC,YAAY,IAAI,CAAC;EACtF;EACA,IAAI7I,SAAS,CAACuC,cAAc,CAACqB,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEM,YAAY,CAAC,EAAE;IACrFX,QAAQ,CAACa,iBAAiB,GAAGnF,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEM,YAAY,IAAI,CAAC;EAC3F;EACApD,KAAK,CAACC,IAAI,CACR,IAAIlG,UAAU,CAACwJ,UAAU,CAAC;IACxBC,MAAM,EAAEvB,YAAY;IACpBG,KAAK,EAAE,IAAIrI,UAAU,CAAC0J,KAAK,CAAC;MAC1BtB,WAAW;MACXG,YAAY;MACZE,WAAW;MACXkB,eAAe,EAAEvF,QAAQ,CAACiE,KAAK,EAAEU,yBAAyB,EAAEa,gBAAgB,IAAI,CAAC;MACjFC,oBAAoB,EAAEzF,QAAQ,CAACiE,KAAK,EAAEe,qBAAqB,EAAEU,aAAa,IAAI,CAAC;MAC/EC,qBAAqB,EAAE;KACxB,EAAEhJ,sBAAsB,CAAC;IAC1BiJ,gBAAgB,EAAE;MAAE,CAACrJ,iBAAiB,CAACe,mBAAmB,GAAGgH;IAAQ;GACtE,EAAE3H,sBAAsB,CAAC,CAC3B;EACD,IAAIP,SAAS,CAACyJ,aAAa,CAACtC,MAAM,CAAC/B,OAAO,CAACF,OAAO,CAAC,EAAE;IACnDO,KAAK,CAACC,IAAI,CACR,IAAIlG,UAAU,CAACkK,QAAQ,CAAC;MACtBpE,IAAI,EAAE6B,MAAM,CAAC/B,OAAO,CAACF;KACtB,EAAE3E,sBAAsB,CAAC,CAC3B;EACH;EACA,MAAMoJ,MAAM,GAAG,IAAInK,UAAU,CAACA,UAAU,CAAC;IAAEiG;EAAK,CAAE,EAAElF,sBAAsB,CAAC;EAC3E,IAAIP,SAAS,CAACuC,cAAc,CAACc,cAAc,CAAC,EAAE;IAC5C,OAAO,OAAO7D,UAAU,CAACoK,iBAAiB,CAACD,MAAM,EAAE,CAAC;MAClDhE,EAAE,EAAE/B,QAAQ,CAAC+B,EAAE;MACfjD,IAAI,EAAEW,cAAc,CAACX,IAAI;MACzBqD,MAAM,EAAEoB,MAAM,CAAC/B,OAAO,CAACF;KACxB,CAAC,CAAC;EACL;EACA,IACElF,SAAS,CAACuC,cAAc,CAAC4E,MAAM,CAAC/B,OAAO,CAACY,UAAU,CAAC,IACnDmB,MAAM,CAAC/B,OAAO,CAACY,UAAU,CAAC7D,MAAM,GAAG,CAAC,EACpC;IACA,OAAO,OAAO3C,UAAU,CAACoK,iBAAiB,CACxCD,MAAM,EACNxC,MAAM,CAAC/B,OAAO,CAACY,UAAU,CAACpF,GAAG,CAAE+B,IAAI,KAAM;MACvCgD,EAAE,EAAEhD,IAAI,CAACgD,EAAE;MACXjD,IAAI,EAAEC,IAAI,CAACF,QAAQ,CAACC,IAAI;MACxBqD,MAAM,EAAEpD,IAAI,CAACF,QAAQ,CAACmD;KACvB,CAAC,CAAC,CACJ;EACH;EACA,OAAO+D,MAAM;AACf,CAAC,CAAC;AAEF,MAAMpG,eAAe,GAAGA,CACtBC,IAAU,EACVF,OAA6D,KACrD;EACRjD,mBAAmB,CAACmD,IAAI,EAAE;IACxBzB,MAAM,EAAE,QAAQ;IAChB8H,SAAS,EAAE;MAAEnH,IAAI,EAAE;IAAM,CAAE;IAC3BY,OAAO,EAAE;MACPnC,KAAK,EAAEmC,OAAO,CAACnC,KAAK;MACpB2I,WAAW,EAAExG,OAAO,CAACwG,WAAW;MAChCC,IAAI,EAAEzG,OAAO,CAAC0G,KAAK;MACnBC,SAAS,EAAE3G,OAAO,CAAC4G,UAAU;MAC7BC,aAAa,EAAE1K,GAAG,CAAC2K,MAAM,CAAC9G,OAAO,CAAC+G,IAAI,CAAC,CAACC,MAAM,CAACtK,SAAS,CAACyJ,aAAa,CAAC;MACvEc,gBAAgB,EAAEjH,OAAO,CAACkH,iBAAiB;MAC3CC,eAAe,EAAEnH,OAAO,CAACoH,gBAAgB;MACzCC,IAAI,EAAErH,OAAO,CAACqH;KACf;IACDC,MAAM,EAAE;MACNtH,OAAO,EAAE;QACPuH,cAAc,EAAEvH,OAAO,CAACR,eAAe,EAAEN,IAAI;QAC7C4F,WAAW,EAAE9E,OAAO,CAAC6E;;;GAG1B,CAAC;AACJ,CAAC;AAED,MAAMxE,oBAAoB,GAAGA,CAC3BH,IAAU,EACVI,QAA4D,KACpD;EACRvD,mBAAmB,CAACmD,IAAI,EAAE;IACxBI,QAAQ,EAAE;MACR+B,EAAE,EAAE/B,QAAQ,CAAC+B,EAAE;MACfxE,KAAK,EAAEyC,QAAQ,CAACzC,KAAK;MACrB2J,aAAa,EAAElH,QAAQ,CAACwD,OAAO,CAACxG,GAAG,CAAEuG,MAAM,IAAKA,MAAM,CAACQ,aAAa;KACrE;IACDE,KAAK,EAAE;MACLD,WAAW,EAAEhE,QAAQ,CAACiE,KAAK,EAAEC,aAAa;MAC1CC,YAAY,EAAEnE,QAAQ,CAACiE,KAAK,EAAEG;KAC/B;IACD4C,MAAM,EAAE;MACNhH,QAAQ,EAAE;QACR0E,iBAAiB,EAAE1E,QAAQ,CAACyE,kBAAkB;QAC9CD,WAAW,EAAExE,QAAQ,CAACuE;;;GAG3B,CAAC;AACJ,CAAC;AAED,MAAM5D,sBAAsB,GAAGA,CAC7Bf,IAAU,EACVI,QAA+B,KAC7B;EACF,MAAMmH,YAAY,GAAGnH,QAAQ,CAAC6B,KAAK,CAACuF,IAAI,CAAExF,IAAI,IAAKA,IAAI,CAACH,IAAI,KAAK,cAAc,CAAC;EAChF,MAAM4F,UAAU,GAAGrH,QAAQ,CAAC6B,KAAK,CAACuF,IAAI,CAAExF,IAAI,IAAKA,IAAI,CAACH,IAAI,KAAK,YAAY,CAAC;EAC5E,MAAMmE,gBAAgB,GAAGyB,UAAU,EAAEzB,gBAAgB,CAACvI,gBAAgB,CAACD,GAAG,CAAC;EAC3EX,mBAAmB,CAACmD,IAAI,EAAE;IACxBI,QAAQ,EAAE;MACR+B,EAAE,EAAEoF,YAAY,EAAEpF,EAAE;MACpBxE,KAAK,EAAE4J,YAAY,EAAE5J,KAAK;MAC1B2J,aAAa,EAAEG,UAAU,EAAEhC,MAAM,GAAG,CAACgC,UAAU,CAAChC,MAAM,CAAC,GAAG3G;KAC3D;IACDuF,KAAK,EAAE;MACLD,WAAW,EAAEqD,UAAU,EAAEpD,KAAK,CAACD,WAAW;MAC1CG,YAAY,EAAEkD,UAAU,EAAEpD,KAAK,CAACE;KACjC;IACD6C,MAAM,EAAE;MACNhH,QAAQ,EAAE;QACRwE,WAAW,EAAEoB,gBAAgB,EAAEpB,WAAiC;QAChEE,iBAAiB,EAAEkB,gBAAgB,EAAElB;;;GAG1C,CAAC;AACJ,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/ai-openai",
3
- "version": "0.20.0",
3
+ "version": "0.21.1",
4
4
  "description": "Effect modules for working with AI apis",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,10 +14,10 @@
14
14
  "gpt-tokenizer": "^2.9.0"
15
15
  },
16
16
  "peerDependencies": {
17
- "@effect/ai": "^0.17.0",
18
- "@effect/experimental": "^0.47.0",
19
- "@effect/platform": "^0.83.0",
20
- "effect": "^3.15.5"
17
+ "@effect/ai": "^0.18.1",
18
+ "@effect/experimental": "^0.48.1",
19
+ "@effect/platform": "^0.84.1",
20
+ "effect": "^3.16.1"
21
21
  },
22
22
  "publishConfig": {
23
23
  "provenance": true
@@ -4,16 +4,14 @@
4
4
  import * as AiEmbeddingModel from "@effect/ai/AiEmbeddingModel"
5
5
  import { AiError } from "@effect/ai/AiError"
6
6
  import * as AiModel from "@effect/ai/AiModel"
7
- import * as Tokenizer from "@effect/ai/Tokenizer"
8
7
  import * as Context from "effect/Context"
9
8
  import type * as Duration from "effect/Duration"
10
9
  import * as Effect from "effect/Effect"
11
10
  import { dual } from "effect/Function"
12
- import * as Struct from "effect/Struct"
11
+ import * as Layer from "effect/Layer"
13
12
  import type { Simplify } from "effect/Types"
14
13
  import type * as Generated from "./Generated.js"
15
14
  import { OpenAiClient } from "./OpenAiClient.js"
16
- import * as OpenAiTokenizer from "./OpenAiTokenizer.js"
17
15
 
18
16
  /**
19
17
  * @since 1.0.0
@@ -87,9 +85,6 @@ export declare namespace Config {
87
85
  // OpenAi Embedding Model
88
86
  // =============================================================================
89
87
 
90
- const batchedModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/Batched/AiModel"
91
- const dataLoaderModelCacheKey = "@effect/ai-openai/OpenAiEmbeddingModel/DataLoader/AiModel"
92
-
93
88
  /**
94
89
  * @since 1.0.0
95
90
  * @category Models
@@ -102,44 +97,28 @@ export const model = (
102
97
  | ({ readonly mode: "data-loader" } & Config.DataLoader)
103
98
  )
104
99
  >
105
- ): AiModel.AiModel<AiEmbeddingModel.AiEmbeddingModel | Tokenizer.Tokenizer, OpenAiClient> =>
106
- AiModel.make({
107
- cacheKey: config.mode === "batched"
108
- ? batchedModelCacheKey
109
- : dataLoaderModelCacheKey,
110
- cachedContext: Effect.map(
111
- config.mode === "batched"
112
- ? makeBatched({ model, config })
113
- : makeDataLoader({ model, config }),
114
- (model) => Context.make(AiEmbeddingModel.AiEmbeddingModel, model)
115
- ),
116
- updateRequestContext: Effect.fnUntraced(
117
- function*(context: Context.Context<AiEmbeddingModel.AiEmbeddingModel>) {
118
- const parentConfig = config.mode === "batched"
119
- ? Struct.omit("mode", "maxBatchSize", "cache")(config)
120
- : Struct.omit("mode", "maxBatchSize", "window")(config)
121
- const perRequestConfig = yield* Config.getOrUndefined
122
- return Context.mergeAll(
123
- context,
124
- Context.make(Config, { model, ...parentConfig, ...perRequestConfig }),
125
- Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({ model: perRequestConfig?.model ?? model }))
126
- )
127
- }
128
- )
129
- })
100
+ ): AiModel.AiModel<AiEmbeddingModel.AiEmbeddingModel, OpenAiClient> => {
101
+ return AiModel.make(
102
+ config.mode === "batched"
103
+ ? layerBatched({ model, config })
104
+ : layerDataLoader({ model, config })
105
+ )
106
+ }
130
107
 
131
108
  const makeRequest = (
132
109
  client: OpenAiClient.Service,
110
+ model: string,
133
111
  input: ReadonlyArray<string>,
134
- parentConfig: typeof Config.Service | undefined
112
+ config: typeof Config.Service | undefined
135
113
  ) =>
136
114
  Effect.context<never>().pipe(
137
115
  Effect.flatMap((context) => {
138
- const localConfig = context.unsafeMap.get(Config.key)
116
+ const perRequestConfig = context.unsafeMap.get(Config.key)
139
117
  return client.client.createEmbedding({
140
118
  input,
141
- ...parentConfig,
142
- ...localConfig
119
+ model,
120
+ ...config,
121
+ ...perRequestConfig
143
122
  })
144
123
  }),
145
124
  Effect.map((response) =>
@@ -167,36 +146,62 @@ const makeRequest = (
167
146
  })
168
147
  )
169
148
 
149
+ /**
150
+ * @since 1.0.0
151
+ * @category Constructors
152
+ */
170
153
  const makeBatched = Effect.fnUntraced(function*(options: {
171
154
  readonly model: (string & {}) | Model
172
- readonly config: Config.Batched
155
+ readonly config?: Config.Batched
173
156
  }) {
174
157
  const client = yield* OpenAiClient
175
- const { cache, maxBatchSize = 2048, ...parentConfig } = options.config
158
+ const { config = {}, model } = options
159
+ const { cache, maxBatchSize = 2048, ...rest } = config
176
160
  return yield* AiEmbeddingModel.make({
177
161
  cache,
178
162
  maxBatchSize,
179
- embedMany(input) {
180
- return makeRequest(client, input, { ...parentConfig, model: options.model })
181
- }
163
+ embedMany: (input) => makeRequest(client, model, input, rest)
182
164
  })
183
165
  })
184
166
 
185
- const makeDataLoader = Effect.fnUntraced(function*(options: {
167
+ /**
168
+ * @since 1.0.0
169
+ * @category Constructors
170
+ */
171
+ export const makeDataLoader = Effect.fnUntraced(function*(options: {
186
172
  readonly model: (string & {}) | Model
187
173
  readonly config: Config.DataLoader
188
174
  }) {
189
175
  const client = yield* OpenAiClient
190
- const { maxBatchSize = 2048, window, ...parentConfig } = options.config
176
+ const { config, model } = options
177
+ const { maxBatchSize = 2048, window, ...rest } = config
191
178
  return yield* AiEmbeddingModel.makeDataLoader({
192
179
  window,
193
180
  maxBatchSize,
194
- embedMany(input) {
195
- return makeRequest(client, input, { ...parentConfig, model: options.model })
196
- }
181
+ embedMany: (input) => makeRequest(client, model, input, rest)
197
182
  })
198
183
  })
199
184
 
185
+ /**
186
+ * @since 1.0.0
187
+ * @category Layers
188
+ */
189
+ export const layerBatched = (options: {
190
+ readonly model: (string & {}) | Model
191
+ readonly config?: Config.Batched
192
+ }): Layer.Layer<AiEmbeddingModel.AiEmbeddingModel, never, OpenAiClient> =>
193
+ Layer.effect(AiEmbeddingModel.AiEmbeddingModel, makeBatched(options))
194
+
195
+ /**
196
+ * @since 1.0.0
197
+ * @category Layers
198
+ */
199
+ export const layerDataLoader = (options: {
200
+ readonly model: (string & {}) | Model
201
+ readonly config: Config.DataLoader
202
+ }): Layer.Layer<AiEmbeddingModel.AiEmbeddingModel, never, OpenAiClient> =>
203
+ Layer.scoped(AiEmbeddingModel.AiEmbeddingModel, makeDataLoader(options))
204
+
200
205
  /**
201
206
  * @since 1.0.0
202
207
  * @category Configuration
@@ -6,12 +6,13 @@ import type * as AiInput from "@effect/ai/AiInput"
6
6
  import * as AiLanguageModel from "@effect/ai/AiLanguageModel"
7
7
  import * as AiModel from "@effect/ai/AiModel"
8
8
  import * as AiResponse from "@effect/ai/AiResponse"
9
- import * as Tokenizer from "@effect/ai/Tokenizer"
9
+ import type * as Tokenizer from "@effect/ai/Tokenizer"
10
10
  import * as Arr from "effect/Array"
11
11
  import * as Context from "effect/Context"
12
12
  import * as Effect from "effect/Effect"
13
13
  import * as Encoding from "effect/Encoding"
14
14
  import { dual } from "effect/Function"
15
+ import * as Layer from "effect/Layer"
15
16
  import * as Option from "effect/Option"
16
17
  import * as Predicate from "effect/Predicate"
17
18
  import * as Stream from "effect/Stream"
@@ -134,58 +135,52 @@ export declare namespace ProviderMetadata {
134
135
  // OpenAi Language Model
135
136
  // =============================================================================
136
137
 
137
- const cacheKey = "@effect/ai-openai/OpenAiLanguageModel"
138
-
139
138
  /**
140
139
  * @since 1.0.0
141
- * @category AI Models
140
+ * @category AiModel
142
141
  */
143
142
  export const model = (
144
143
  model: (string & {}) | Model,
145
144
  config?: Omit<Config.Service, "model">
145
+ ): AiModel.AiModel<AiLanguageModel.AiLanguageModel, OpenAiClient> => AiModel.make(layer({ model, config }))
146
+
147
+ /**
148
+ * @since 1.0.0
149
+ * @category AiModel
150
+ */
151
+ export const modelWithTokenizer = (
152
+ model: (string & {}) | Model,
153
+ config?: Omit<Config.Service, "model">
146
154
  ): AiModel.AiModel<AiLanguageModel.AiLanguageModel | Tokenizer.Tokenizer, OpenAiClient> =>
147
- AiModel.make({
148
- cacheKey,
149
- cachedContext: Effect.map(make, (model) => Context.make(AiLanguageModel.AiLanguageModel, model)),
150
- updateRequestContext: Effect.fnUntraced(function*(context: Context.Context<AiLanguageModel.AiLanguageModel>) {
151
- const perRequestConfig = yield* Config.getOrUndefined
152
- return Context.mergeAll(
153
- context,
154
- Context.make(Config, { model, ...config, ...perRequestConfig }),
155
- Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({ model: perRequestConfig?.model ?? model }))
156
- )
157
- })
158
- })
155
+ AiModel.make(layerWithTokenizer({ model, config }))
159
156
 
160
- const make = Effect.gen(function*() {
157
+ /**
158
+ * @since 1.0.0
159
+ * @category Constructors
160
+ */
161
+ export const make = Effect.fnUntraced(function*(options: {
162
+ readonly model: (string & {}) | Model
163
+ readonly config?: Omit<Config.Service, "model">
164
+ }) {
161
165
  const client = yield* OpenAiClient
162
166
 
163
167
  const makeRequest = Effect.fnUntraced(
164
- function*(method: string, { prompt, system, tools, ...options }: AiLanguageModel.AiLanguageModelOptions) {
165
- const config = yield* Config
166
- const model = config.model
167
- if (Predicate.isUndefined(model)) {
168
- return yield* Effect.die(
169
- new AiError({
170
- module: "OpenAiLanguageModel",
171
- method,
172
- description: "No `model` specified for request"
173
- })
174
- )
175
- }
168
+ function*(method: string, { prompt, system, toolChoice, tools }: AiLanguageModel.AiLanguageModelOptions) {
169
+ const context = yield* Effect.context<never>()
176
170
  const useStructured = tools.length === 1 && tools[0].structured
177
- let toolChoice: typeof Generated.ChatCompletionToolChoiceOption.Encoded | undefined = undefined
178
- if (Predicate.isNotUndefined(options.toolChoice) && !useStructured && tools.length > 0) {
179
- if (options.toolChoice === "auto" || options.toolChoice === "required") {
180
- toolChoice = options.toolChoice
181
- } else if (typeof options.toolChoice === "object") {
182
- toolChoice = { type: "function", function: { name: options.toolChoice.tool } }
171
+ let tool_choice: typeof Generated.ChatCompletionToolChoiceOption.Encoded | undefined = undefined
172
+ if (Predicate.isNotUndefined(toolChoice) && !useStructured && tools.length > 0) {
173
+ if (toolChoice === "auto" || toolChoice === "required") {
174
+ tool_choice = toolChoice
175
+ } else if (typeof toolChoice === "object") {
176
+ tool_choice = { type: "function", function: { name: toolChoice.tool } }
183
177
  }
184
178
  }
185
179
  const messages = yield* makeMessages(method, system, prompt)
186
180
  return {
187
- ...config,
188
- model,
181
+ model: options.model,
182
+ ...options.config,
183
+ ...context.unsafeMap.get(Config.key),
189
184
  messages,
190
185
  response_format: useStructured ?
191
186
  {
@@ -209,7 +204,7 @@ const make = Effect.gen(function*() {
209
204
  }
210
205
  })) :
211
206
  undefined,
212
- tool_choice: toolChoice
207
+ tool_choice
213
208
  } satisfies typeof Generated.CreateChatCompletionRequest.Encoded
214
209
  }
215
210
  )
@@ -258,6 +253,26 @@ const make = Effect.gen(function*() {
258
253
  })
259
254
  })
260
255
 
256
+ /**
257
+ * @since 1.0.0
258
+ * @category Layers
259
+ */
260
+ export const layer = (options: {
261
+ readonly model: (string & {}) | Model
262
+ readonly config?: Omit<Config.Service, "model">
263
+ }): Layer.Layer<AiLanguageModel.AiLanguageModel, never, OpenAiClient> =>
264
+ Layer.effect(AiLanguageModel.AiLanguageModel, make({ model: options.model, config: options.config }))
265
+
266
+ /**
267
+ * @since 1.0.0
268
+ * @category Layers
269
+ */
270
+ export const layerWithTokenizer = (options: {
271
+ readonly model: (string & {}) | Model
272
+ readonly config?: Omit<Config.Service, "model">
273
+ }): Layer.Layer<AiLanguageModel.AiLanguageModel | Tokenizer.Tokenizer, never, OpenAiClient> =>
274
+ Layer.merge(layer(options), OpenAiTokenizer.layer(options))
275
+
261
276
  /**
262
277
  * @since 1.0.0
263
278
  * @category Configuration