@effect/ai-openai 0.20.0 → 0.21.0
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/cjs/OpenAiEmbeddingModel.js +48 -45
- package/dist/cjs/OpenAiEmbeddingModel.js.map +1 -1
- package/dist/cjs/OpenAiLanguageModel.js +50 -40
- package/dist/cjs/OpenAiLanguageModel.js.map +1 -1
- package/dist/dts/OpenAiEmbeddingModel.d.ts +26 -2
- package/dist/dts/OpenAiEmbeddingModel.d.ts.map +1 -1
- package/dist/dts/OpenAiLanguageModel.d.ts +33 -3
- package/dist/dts/OpenAiLanguageModel.d.ts.map +1 -1
- package/dist/esm/OpenAiEmbeddingModel.js +44 -43
- package/dist/esm/OpenAiEmbeddingModel.js.map +1 -1
- package/dist/esm/OpenAiLanguageModel.js +46 -39
- package/dist/esm/OpenAiLanguageModel.js.map +1 -1
- package/package.json +5 -5
- package/src/OpenAiEmbeddingModel.ts +50 -45
- package/src/OpenAiLanguageModel.ts +53 -38
|
@@ -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
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
exports.Config = Config;
|
|
41
|
+
const model = (model, config) => {
|
|
42
|
+
return AiModel.make(config.mode === "batched" ? layerBatched({
|
|
48
43
|
model,
|
|
49
44
|
config
|
|
50
|
-
}) :
|
|
45
|
+
}) : layerDataLoader({
|
|
51
46
|
model,
|
|
52
47
|
config
|
|
53
|
-
})
|
|
54
|
-
|
|
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,
|
|
68
|
-
const
|
|
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
|
-
|
|
72
|
-
...
|
|
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
|
-
...
|
|
103
|
-
} =
|
|
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
|
-
|
|
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
|
-
...
|
|
121
|
-
} =
|
|
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","
|
|
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
|
|
63
|
+
const model = (model, config) => AiModel.make(layer({
|
|
64
|
+
model,
|
|
65
|
+
config
|
|
66
|
+
}));
|
|
60
67
|
/**
|
|
61
68
|
* @since 1.0.0
|
|
62
|
-
* @category
|
|
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
|
|
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
|
-
|
|
85
|
-
|
|
86
|
+
toolChoice,
|
|
87
|
+
tools
|
|
86
88
|
}) {
|
|
87
|
-
const
|
|
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
|
|
98
|
-
if (Predicate.isNotUndefined(
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
} else if (typeof
|
|
102
|
-
|
|
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:
|
|
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
|
-
|
|
113
|
-
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
89
|
+
* @category AiModel
|
|
89
90
|
*/
|
|
90
|
-
export declare const model: (model: (string & {}) | Model, config?: Omit<Config.Service, "model">) => AiModel.AiModel<AiLanguageModel.AiLanguageModel
|
|
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;
|
|
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
|
|
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) =>
|
|
37
|
-
|
|
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
|
-
}) :
|
|
36
|
+
}) : layerDataLoader({
|
|
42
37
|
model,
|
|
43
38
|
config
|
|
44
|
-
})
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
62
|
-
...
|
|
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
|
-
...
|
|
93
|
-
} =
|
|
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
|
-
|
|
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
|
-
...
|
|
111
|
-
} =
|
|
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","
|
|
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
|
|
51
|
+
* @category AiModel
|
|
53
52
|
*/
|
|
54
|
-
export const model = (model, config) => AiModel.make({
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
74
|
-
|
|
74
|
+
toolChoice,
|
|
75
|
+
tools
|
|
75
76
|
}) {
|
|
76
|
-
const
|
|
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
|
|
87
|
-
if (Predicate.isNotUndefined(
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
} else if (typeof
|
|
91
|
-
|
|
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:
|
|
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
|
-
|
|
102
|
-
|
|
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
|
|
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":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/ai-openai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
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.
|
|
18
|
-
"@effect/experimental": "^0.
|
|
19
|
-
"@effect/platform": "^0.
|
|
20
|
-
"effect": "^3.
|
|
17
|
+
"@effect/ai": "^0.18.0",
|
|
18
|
+
"@effect/experimental": "^0.48.0",
|
|
19
|
+
"@effect/platform": "^0.84.0",
|
|
20
|
+
"effect": "^3.16.0"
|
|
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
|
|
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
|
|
106
|
-
AiModel.make(
|
|
107
|
-
|
|
108
|
-
?
|
|
109
|
-
:
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
|
|
112
|
+
config: typeof Config.Service | undefined
|
|
135
113
|
) =>
|
|
136
114
|
Effect.context<never>().pipe(
|
|
137
115
|
Effect.flatMap((context) => {
|
|
138
|
-
const
|
|
116
|
+
const perRequestConfig = context.unsafeMap.get(Config.key)
|
|
139
117
|
return client.client.createEmbedding({
|
|
140
118
|
input,
|
|
141
|
-
|
|
142
|
-
...
|
|
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
|
|
155
|
+
readonly config?: Config.Batched
|
|
173
156
|
}) {
|
|
174
157
|
const client = yield* OpenAiClient
|
|
175
|
-
const {
|
|
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
|
-
|
|
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 {
|
|
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
|
|
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
|
-
|
|
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,
|
|
165
|
-
const
|
|
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
|
|
178
|
-
if (Predicate.isNotUndefined(
|
|
179
|
-
if (
|
|
180
|
-
|
|
181
|
-
} else if (typeof
|
|
182
|
-
|
|
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
|
-
|
|
188
|
-
|
|
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
|
|
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
|