@effect/ai-openai 0.13.2 → 0.13.3
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/OpenAiClient.js +3 -2
- package/dist/cjs/OpenAiClient.js.map +1 -1
- package/dist/cjs/OpenAiCompletions.js +62 -7
- package/dist/cjs/OpenAiCompletions.js.map +1 -1
- package/dist/cjs/OpenAiConfig.js.map +1 -1
- package/dist/cjs/OpenAiEmbeddings.js +94 -18
- package/dist/cjs/OpenAiEmbeddings.js.map +1 -1
- package/dist/cjs/OpenAiTokenizer.js +9 -5
- package/dist/cjs/OpenAiTokenizer.js.map +1 -1
- package/dist/dts/Generated.d.ts +203 -603
- package/dist/dts/Generated.d.ts.map +1 -1
- package/dist/dts/OpenAiClient.d.ts +3 -2
- package/dist/dts/OpenAiClient.d.ts.map +1 -1
- package/dist/dts/OpenAiCompletions.d.ts +51 -1
- package/dist/dts/OpenAiCompletions.d.ts.map +1 -1
- package/dist/dts/OpenAiConfig.d.ts +2 -4
- package/dist/dts/OpenAiConfig.d.ts.map +1 -1
- package/dist/dts/OpenAiEmbeddings.d.ts +63 -8
- package/dist/dts/OpenAiEmbeddings.d.ts.map +1 -1
- package/dist/dts/OpenAiTokenizer.d.ts +7 -0
- package/dist/dts/OpenAiTokenizer.d.ts.map +1 -1
- package/dist/esm/OpenAiClient.js +3 -2
- package/dist/esm/OpenAiClient.js.map +1 -1
- package/dist/esm/OpenAiCompletions.js +59 -6
- package/dist/esm/OpenAiCompletions.js.map +1 -1
- package/dist/esm/OpenAiConfig.js.map +1 -1
- package/dist/esm/OpenAiEmbeddings.js +91 -16
- package/dist/esm/OpenAiEmbeddings.js.map +1 -1
- package/dist/esm/OpenAiTokenizer.js +8 -5
- package/dist/esm/OpenAiTokenizer.js.map +1 -1
- package/package.json +5 -5
- package/src/OpenAiClient.ts +9 -3
- package/src/OpenAiCompletions.ts +206 -93
- package/src/OpenAiConfig.ts +2 -13
- package/src/OpenAiEmbeddings.ts +165 -38
- package/src/OpenAiTokenizer.ts +8 -5
|
@@ -2,21 +2,63 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import { AiError } from "@effect/ai/AiError";
|
|
5
|
+
import * as AiModel from "@effect/ai/AiModel";
|
|
5
6
|
import * as AiResponse from "@effect/ai/AiResponse";
|
|
6
7
|
import * as AiRole from "@effect/ai/AiRole";
|
|
7
8
|
import * as Completions from "@effect/ai/Completions";
|
|
9
|
+
import * as Tokenizer from "@effect/ai/Tokenizer";
|
|
8
10
|
import * as Arr from "effect/Array";
|
|
11
|
+
import * as Context from "effect/Context";
|
|
9
12
|
import * as Effect from "effect/Effect";
|
|
13
|
+
import { dual } from "effect/Function";
|
|
10
14
|
import * as Layer from "effect/Layer";
|
|
11
15
|
import * as Predicate from "effect/Predicate";
|
|
12
16
|
import * as Stream from "effect/Stream";
|
|
13
17
|
import { OpenAiClient } from "./OpenAiClient.js";
|
|
14
|
-
import { OpenAiConfig } from "./OpenAiConfig.js";
|
|
15
18
|
import { addGenAIAnnotations } from "./OpenAiTelemetry.js";
|
|
16
19
|
import * as OpenAiTokenizer from "./OpenAiTokenizer.js";
|
|
17
|
-
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// Configuration
|
|
22
|
+
// =============================================================================
|
|
23
|
+
/**
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @category tags
|
|
26
|
+
*/
|
|
27
|
+
export class Config extends /*#__PURE__*/Context.Tag("@effect/ai-openai/OpenAiCompletions/Config")() {
|
|
28
|
+
/**
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
*/
|
|
31
|
+
static getOrUndefined = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.context(), context => context.unsafeMap.get(Config.key));
|
|
32
|
+
}
|
|
33
|
+
// =============================================================================
|
|
34
|
+
// OpenAi Completions
|
|
35
|
+
// =============================================================================
|
|
36
|
+
const modelCacheKey = /*#__PURE__*/Symbol.for("@effect/ai-openai/OpenAiCompletions/AiModel");
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category ai models
|
|
40
|
+
*/
|
|
41
|
+
export const model = (model, config) => AiModel.make({
|
|
42
|
+
model,
|
|
43
|
+
cacheKey: modelCacheKey,
|
|
44
|
+
requires: OpenAiClient,
|
|
45
|
+
provides: Effect.map(make({
|
|
46
|
+
model,
|
|
47
|
+
config
|
|
48
|
+
}), completions => Context.make(Completions.Completions, completions)),
|
|
49
|
+
updateContext: context => {
|
|
50
|
+
const innerConfig = context.unsafeMap.get(Config.key);
|
|
51
|
+
return Context.mergeAll(context, Context.make(Config, {
|
|
52
|
+
model,
|
|
53
|
+
...config,
|
|
54
|
+
...innerConfig
|
|
55
|
+
}), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
|
|
56
|
+
model: innerConfig?.model ?? model
|
|
57
|
+
})));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
18
61
|
const client = yield* OpenAiClient;
|
|
19
|
-
const config = yield* OpenAiConfig.getOrUndefined;
|
|
20
62
|
const makeRequest = ({
|
|
21
63
|
input,
|
|
22
64
|
required,
|
|
@@ -26,8 +68,8 @@ const make = options => Effect.gen(function* () {
|
|
|
26
68
|
const useStructured = tools.length === 1 && tools[0].structured;
|
|
27
69
|
return Effect.map(Effect.context(), context => ({
|
|
28
70
|
model: options.model,
|
|
29
|
-
...config,
|
|
30
|
-
...context.unsafeMap.get(
|
|
71
|
+
...options.config,
|
|
72
|
+
...context.unsafeMap.get(Config.key),
|
|
31
73
|
messages: makeMessages(input, system),
|
|
32
74
|
response_format: useStructured ? {
|
|
33
75
|
type: "json_schema",
|
|
@@ -87,12 +129,23 @@ const make = options => Effect.gen(function* () {
|
|
|
87
129
|
* @since 1.0.0
|
|
88
130
|
* @category layers
|
|
89
131
|
*/
|
|
90
|
-
export const layerCompletions = options => Layer.effect(Completions.Completions, make(
|
|
132
|
+
export const layerCompletions = options => Layer.effect(Completions.Completions, make({
|
|
133
|
+
model: options.model,
|
|
134
|
+
config: options.config
|
|
135
|
+
}));
|
|
91
136
|
/**
|
|
92
137
|
* @since 1.0.0
|
|
93
138
|
* @category layers
|
|
94
139
|
*/
|
|
95
140
|
export const layer = options => Layer.merge(layerCompletions(options), OpenAiTokenizer.layer(options));
|
|
141
|
+
/**
|
|
142
|
+
* @since 1.0.0
|
|
143
|
+
* @category configuration
|
|
144
|
+
*/
|
|
145
|
+
export const withConfigOverride = /*#__PURE__*/dual(2, (self, overrides) => Effect.flatMap(Config.getOrUndefined, config => Effect.provideService(self, Config, {
|
|
146
|
+
...config,
|
|
147
|
+
...overrides
|
|
148
|
+
})));
|
|
96
149
|
const makeMessages = (input, system) => {
|
|
97
150
|
const messages = system._tag === "Some" ? [makeSystemMessage(system.value)] : [];
|
|
98
151
|
for (const message of input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiCompletions.js","names":["AiError","AiResponse","AiRole","Completions","Arr","Effect","Layer","Predicate","Stream","OpenAiClient","OpenAiConfig","addGenAIAnnotations","OpenAiTokenizer","make","options","gen","client","config","getOrUndefined","makeRequest","input","required","system","tools","useStructured","length","structured","map","context","model","unsafeMap","get","key","messages","makeMessages","response_format","type","json_schema","strict","name","description","schema","parameters","undefined","tool","function","tool_choice","create","span","pipe","tap","request","annotateRequest","flatMap","createChatCompletion","response","annotateChatResponse","makeResponse","catchAll","cause","fail","module","method","stream","unwrap","annotateStreamResponse","void","asAiResponse","layerCompletions","effect","layer","merge","_tag","makeSystemMessage","value","message","push","convertMessage","formatRole","role","safeName","parts","toolCalls","flushContent","content","flushToolCalls","tool_calls","part","id","arguments","JSON","stringify","params","tool_call_id","toolCallId","makeContentPart","image_url","url","asDataUri","detail","quality","text","structuredTool","head","choices","mapError","choice","empty","withToolCallsJson","res","fromText","toolCall","succeed","replace","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","isNotNullable","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","serviceTier","service_tier","finishReasons","finish_reason","usage","inputTokens","prompt_tokens","outputTokens","completion_tokens","systemFingerprint","system_fingerprint","find"],"sources":["../../src/OpenAiCompletions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OpenAiCompletions.js","names":["AiError","AiModel","AiResponse","AiRole","Completions","Tokenizer","Arr","Context","Effect","dual","Layer","Predicate","Stream","OpenAiClient","addGenAIAnnotations","OpenAiTokenizer","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","modelCacheKey","Symbol","for","model","config","make","cacheKey","requires","provides","completions","updateContext","innerConfig","mergeAll","fnUntraced","options","client","makeRequest","input","required","system","tools","useStructured","length","structured","messages","makeMessages","response_format","type","json_schema","strict","name","description","schema","parameters","undefined","tool","function","tool_choice","create","span","pipe","tap","request","annotateRequest","flatMap","createChatCompletion","response","annotateChatResponse","makeResponse","catchAll","cause","fail","module","method","stream","unwrap","annotateStreamResponse","void","asAiResponse","layerCompletions","effect","layer","merge","withConfigOverride","self","overrides","provideService","_tag","makeSystemMessage","value","message","push","convertMessage","formatRole","role","safeName","parts","toolCalls","flushContent","content","flushToolCalls","tool_calls","part","id","arguments","JSON","stringify","params","tool_call_id","toolCallId","makeContentPart","image_url","url","asDataUri","detail","quality","text","structuredTool","head","choices","mapError","choice","empty","withToolCallsJson","res","fromText","toolCall","succeed","replace","operation","temperature","topP","top_p","maxTokens","max_tokens","stopSequences","ensure","stop","filter","isNotNullable","frequencyPenalty","frequency_penalty","presencePenalty","presence_penalty","seed","openai","responseFormat","serviceTier","service_tier","finishReasons","finish_reason","usage","inputTokens","prompt_tokens","outputTokens","completion_tokens","systemFingerprint","system_fingerprint","find"],"sources":["../../src/OpenAiCompletions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiConfig.js","names":["Context","Effect","dual","OpenAiConfig","Tag","getOrUndefined","map","context","unsafeMap","get","key","withClientTransform","self","transformClient","flatMap","config","provideService"],"sources":["../../src/OpenAiConfig.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"OpenAiConfig.js","names":["Context","Effect","dual","OpenAiConfig","Tag","getOrUndefined","map","context","unsafeMap","get","key","withClientTransform","self","transformClient","flatMap","config","provideService"],"sources":["../../src/OpenAiConfig.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AAEtC;;;;AAIA,OAAM,MAAOC,YAAa,sBAAQH,OAAO,CAACI,GAAG,CAAC,gCAAgC,CAAC,EAG5E;EACD;;;EAGA,OAAgBC,cAAc,gBAA2DJ,MAAM,CAACK,GAAG,eACjGL,MAAM,CAACM,OAAO,EAAS,EACtBA,OAAO,IAAKA,OAAO,CAACC,SAAS,CAACC,GAAG,CAACN,YAAY,CAACO,GAAG,CAAC,CACrD;;AAiBH;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAc5BT,IAAI,CAeN,CAAC,EACD,CAACU,IAAI,EAAEC,eAAe,KACpBZ,MAAM,CAACa,OAAO,CACZX,YAAY,CAACE,cAAc,EAC1BU,MAAM,IAAKd,MAAM,CAACe,cAAc,CAACJ,IAAI,EAAET,YAAY,EAAE;EAAE,GAAGY,MAAM;EAAEF;AAAe,CAAE,CAAC,CACtF,CACJ","ignoreList":[]}
|
|
@@ -2,26 +2,65 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import { AiError } from "@effect/ai/AiError";
|
|
5
|
+
import * as AiModel from "@effect/ai/AiModel";
|
|
5
6
|
import * as Embeddings from "@effect/ai/Embeddings";
|
|
7
|
+
import * as Tokenizer from "@effect/ai/Tokenizer";
|
|
6
8
|
import * as Context from "effect/Context";
|
|
7
9
|
import * as Effect from "effect/Effect";
|
|
10
|
+
import { dual } from "effect/Function";
|
|
8
11
|
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as Struct from "effect/Struct";
|
|
9
13
|
import { OpenAiClient } from "./OpenAiClient.js";
|
|
14
|
+
import * as OpenAiTokenizer from "./OpenAiTokenizer.js";
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Configuration
|
|
17
|
+
// =============================================================================
|
|
10
18
|
/**
|
|
11
19
|
* @since 1.0.0
|
|
12
20
|
* @category tags
|
|
13
21
|
*/
|
|
14
|
-
export class
|
|
22
|
+
export class Config extends /*#__PURE__*/Context.Tag("@effect/ai-openai/OpenAiEmbeddings/Config")() {
|
|
15
23
|
/**
|
|
16
24
|
* @since 1.0.0
|
|
17
25
|
*/
|
|
18
|
-
static getOrUndefined = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.context(), context => context.unsafeMap.get(
|
|
26
|
+
static getOrUndefined = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.context(), context => context.unsafeMap.get(Config.key));
|
|
19
27
|
}
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// OpenAi Embeddings
|
|
30
|
+
// =============================================================================
|
|
31
|
+
const batchedModelCacheKey = /*#__PURE__*/Symbol.for("@effect/ai-openai/OpenAiEmbeddings/Batched/AiModel");
|
|
32
|
+
const dataLoaderModelCacheKey = /*#__PURE__*/Symbol.for("@effect/ai-openai/OpenAiEmbeddings/DataLoader/AiModel");
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @category ai models
|
|
36
|
+
*/
|
|
37
|
+
export const model = (model, config) => AiModel.make({
|
|
38
|
+
model,
|
|
39
|
+
cacheKey: config.mode === "batched" ? batchedModelCacheKey : dataLoaderModelCacheKey,
|
|
40
|
+
requires: OpenAiClient,
|
|
41
|
+
provides: Effect.map(config.mode === "batched" ? makeBatched({
|
|
42
|
+
model,
|
|
43
|
+
config
|
|
44
|
+
}) : makeDataLoader({
|
|
45
|
+
model,
|
|
46
|
+
config
|
|
47
|
+
}), embeddings => Context.make(Embeddings.Embeddings, embeddings)),
|
|
48
|
+
updateContext: context => {
|
|
49
|
+
const outerConfig = config.mode === "batched" ? Struct.omit("mode", "maxBatchSize", "cache")(config) : Struct.omit("mode", "maxBatchSize", "window")(config);
|
|
50
|
+
const innerConfig = context.unsafeMap.get(Config.key);
|
|
51
|
+
return Context.mergeAll(context, Context.make(Config, {
|
|
52
|
+
model,
|
|
53
|
+
...outerConfig,
|
|
54
|
+
...innerConfig
|
|
55
|
+
}), Context.make(Tokenizer.Tokenizer, OpenAiTokenizer.make({
|
|
56
|
+
model: innerConfig?.model ?? model
|
|
57
|
+
})));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const makeRequest = (client, input, parentConfig) => Effect.context().pipe(Effect.flatMap(context => {
|
|
61
|
+
const localConfig = context.unsafeMap.get(Config.key);
|
|
22
62
|
return client.client.createEmbedding({
|
|
23
63
|
input,
|
|
24
|
-
model: options.model,
|
|
25
64
|
...parentConfig,
|
|
26
65
|
...localConfig
|
|
27
66
|
});
|
|
@@ -48,25 +87,39 @@ const makeRequest = (client, input, parentConfig, options) => Effect.context().p
|
|
|
48
87
|
...common
|
|
49
88
|
});
|
|
50
89
|
}));
|
|
51
|
-
const
|
|
90
|
+
const makeBatched = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
52
91
|
const client = yield* OpenAiClient;
|
|
53
|
-
const
|
|
92
|
+
const {
|
|
93
|
+
cache,
|
|
94
|
+
maxBatchSize = 2048,
|
|
95
|
+
...parentConfig
|
|
96
|
+
} = options.config;
|
|
54
97
|
return yield* Embeddings.make({
|
|
55
|
-
cache
|
|
56
|
-
maxBatchSize
|
|
98
|
+
cache,
|
|
99
|
+
maxBatchSize,
|
|
57
100
|
embedMany(input) {
|
|
58
|
-
return makeRequest(client, input,
|
|
101
|
+
return makeRequest(client, input, {
|
|
102
|
+
...parentConfig,
|
|
103
|
+
model: options.model
|
|
104
|
+
});
|
|
59
105
|
}
|
|
60
106
|
});
|
|
61
107
|
});
|
|
62
108
|
const makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
63
109
|
const client = yield* OpenAiClient;
|
|
64
|
-
const
|
|
110
|
+
const {
|
|
111
|
+
maxBatchSize = 2048,
|
|
112
|
+
window,
|
|
113
|
+
...parentConfig
|
|
114
|
+
} = options.config;
|
|
65
115
|
return yield* Embeddings.makeDataLoader({
|
|
66
|
-
window
|
|
67
|
-
maxBatchSize
|
|
116
|
+
window,
|
|
117
|
+
maxBatchSize,
|
|
68
118
|
embedMany(input) {
|
|
69
|
-
return makeRequest(client, input,
|
|
119
|
+
return makeRequest(client, input, {
|
|
120
|
+
...parentConfig,
|
|
121
|
+
model: options.model
|
|
122
|
+
});
|
|
70
123
|
}
|
|
71
124
|
});
|
|
72
125
|
});
|
|
@@ -74,10 +127,32 @@ const makeDataLoader = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
74
127
|
* @since 1.0.0
|
|
75
128
|
* @category layers
|
|
76
129
|
*/
|
|
77
|
-
export const layer = options => Layer.effect(Embeddings.Embeddings,
|
|
130
|
+
export const layer = options => Layer.effect(Embeddings.Embeddings, makeBatched({
|
|
131
|
+
model: options.model,
|
|
132
|
+
config: {
|
|
133
|
+
cache: options.cache,
|
|
134
|
+
maxBatchSize: options.maxBatchSize,
|
|
135
|
+
...options.config
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
78
138
|
/**
|
|
79
139
|
* @since 1.0.0
|
|
80
140
|
* @category layers
|
|
81
141
|
*/
|
|
82
|
-
export const layerDataLoader = options => Layer.scoped(Embeddings.Embeddings, makeDataLoader(
|
|
142
|
+
export const layerDataLoader = options => Layer.scoped(Embeddings.Embeddings, makeDataLoader({
|
|
143
|
+
model: options.model,
|
|
144
|
+
config: {
|
|
145
|
+
window: options.window,
|
|
146
|
+
maxBatchSize: options.maxBatchSize,
|
|
147
|
+
...options.config
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
/**
|
|
151
|
+
* @since 1.0.0
|
|
152
|
+
* @category configuration
|
|
153
|
+
*/
|
|
154
|
+
export const withConfigOverride = /*#__PURE__*/dual(2, (self, overrides) => Effect.flatMap(Config.getOrUndefined, config => Effect.provideService(self, Config, {
|
|
155
|
+
...config,
|
|
156
|
+
...overrides
|
|
157
|
+
})));
|
|
83
158
|
//# sourceMappingURL=OpenAiEmbeddings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiEmbeddings.js","names":["AiError","Embeddings","Context","Effect","Layer","OpenAiClient","
|
|
1
|
+
{"version":3,"file":"OpenAiEmbeddings.js","names":["AiError","AiModel","Embeddings","Tokenizer","Context","Effect","dual","Layer","Struct","OpenAiClient","OpenAiTokenizer","Config","Tag","getOrUndefined","map","context","unsafeMap","get","key","batchedModelCacheKey","Symbol","for","dataLoaderModelCacheKey","model","config","make","cacheKey","mode","requires","provides","makeBatched","makeDataLoader","embeddings","updateContext","outerConfig","omit","innerConfig","mergeAll","makeRequest","client","input","parentConfig","pipe","flatMap","localConfig","createEmbedding","response","data","embedding","index","mapError","cause","common","module","method","_tag","description","fnUntraced","options","cache","maxBatchSize","embedMany","window","layer","effect","layerDataLoader","scoped","withConfigOverride","self","overrides","provideService"],"sources":["../../src/OpenAiEmbeddings.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -9,11 +9,14 @@ import * as Effect from "effect/Effect";
|
|
|
9
9
|
import * as Layer from "effect/Layer";
|
|
10
10
|
import * as Option from "effect/Option";
|
|
11
11
|
import * as GptTokenizer from "gpt-tokenizer";
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category constructors
|
|
15
|
+
*/
|
|
16
|
+
export const make = options => Tokenizer.make({
|
|
14
17
|
tokenize(content) {
|
|
15
|
-
return Effect.
|
|
16
|
-
try:
|
|
18
|
+
return Effect.try({
|
|
19
|
+
try: () => GptTokenizer.encodeChat(content.pipe(Chunk.toReadonlyArray, Arr.flatMap(message => message.parts.pipe(Arr.filterMap(part => {
|
|
17
20
|
if (part._tag === "Image" || part._tag === "ImageUrl") {
|
|
18
21
|
return Option.none();
|
|
19
22
|
}
|
|
@@ -22,7 +25,7 @@ const make = options => Tokenizer.make({
|
|
|
22
25
|
name: message.role._tag === "UserWithName" ? message.role.name : undefined,
|
|
23
26
|
content: part._tag === "Text" ? part.content : JSON.stringify(part._tag === "ToolCall" ? part.params : part.value)
|
|
24
27
|
});
|
|
25
|
-
})))),
|
|
28
|
+
})))), options.model),
|
|
26
29
|
catch: cause => new AiError({
|
|
27
30
|
module: "OpenAiCompletions",
|
|
28
31
|
method: "tokenize",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiTokenizer.js","names":["AiError","Tokenizer","Arr","Chunk","Effect","Layer","Option","GptTokenizer","
|
|
1
|
+
{"version":3,"file":"OpenAiTokenizer.js","names":["AiError","Tokenizer","Arr","Chunk","Effect","Layer","Option","GptTokenizer","make","options","tokenize","content","try","encodeChat","pipe","toReadonlyArray","flatMap","message","parts","filterMap","part","_tag","none","some","role","kind","name","undefined","JSON","stringify","params","value","model","catch","cause","module","method","description","layer","succeed"],"sources":["../../src/OpenAiTokenizer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AACjD,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,eAAe;AAE7C;;;;AAIA,OAAO,MAAMC,IAAI,GAAIC,OAAmC,IACtDR,SAAS,CAACO,IAAI,CAAC;EACbE,QAAQA,CAACC,OAAO;IACd,OAAOP,MAAM,CAACQ,GAAG,CAAC;MAChBA,GAAG,EAAEA,CAAA,KACHL,YAAY,CAACM,UAAU,CACrBF,OAAO,CAACG,IAAI,CACVX,KAAK,CAACY,eAAe,EACrBb,GAAG,CAACc,OAAO,CAAEC,OAAO,IAClBA,OAAO,CAACC,KAAK,CAACJ,IAAI,CAChBZ,GAAG,CAACiB,SAAS,CAAEC,IAAI,IAAI;QACrB,IAAIA,IAAI,CAACC,IAAI,KAAK,OAAO,IAAID,IAAI,CAACC,IAAI,KAAK,UAAU,EAAE;UACrD,OAAOf,MAAM,CAACgB,IAAI,EAAE;QACtB;QACA,OAAOhB,MAAM,CAACiB,IAAI,CAChB;UACEC,IAAI,EAAEP,OAAO,CAACO,IAAI,CAACC,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW;UACzDC,IAAI,EAAET,OAAO,CAACO,IAAI,CAACH,IAAI,KAAK,cAAc,GAAGJ,OAAO,CAACO,IAAI,CAACE,IAAI,GAAGC,SAAS;UAC1EhB,OAAO,EAAES,IAAI,CAACC,IAAI,KAAK,MAAM,GACzBD,IAAI,CAACT,OAAO,GACZiB,IAAI,CAACC,SAAS,CAACT,IAAI,CAACC,IAAI,KAAK,UAAU,GAAGD,IAAI,CAACU,MAAM,GAAGV,IAAI,CAACW,KAAK;SAC9D,CACX;MACH,CAAC,CAAC,CACH,CACF,CACF,EACDtB,OAAO,CAACuB,KAAY,CACrB;MACHC,KAAK,EAAGC,KAAK,IACX,IAAIlC,OAAO,CAAC;QACVmC,MAAM,EAAE,mBAAmB;QAC3BC,MAAM,EAAE,UAAU;QAClBC,WAAW,EAAE,oBAAoB;QACjCH;OACD;KACJ,CAAC;EACJ;CACD,CAAC;AAEJ;;;;AAIA,OAAO,MAAMI,KAAK,GAAI7B,OAAmC,IACvDJ,KAAK,CAACkC,OAAO,CAACtC,SAAS,CAACA,SAAS,EAAEO,IAAI,CAACC,OAAO,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/ai-openai",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.3",
|
|
4
4
|
"description": "Effect modules for working with AI apis",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"gpt-tokenizer": "^2.8.1"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@effect/ai": "^0.10.
|
|
17
|
-
"@effect/experimental": "^0.41.
|
|
18
|
-
"@effect/platform": "^0.77.
|
|
19
|
-
"effect": "^3.13.
|
|
16
|
+
"@effect/ai": "^0.10.3",
|
|
17
|
+
"@effect/experimental": "^0.41.3",
|
|
18
|
+
"@effect/platform": "^0.77.3",
|
|
19
|
+
"effect": "^3.13.3"
|
|
20
20
|
},
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"provenance": true
|
package/src/OpenAiClient.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as AiModels from "@effect/ai/AiModels"
|
|
4
5
|
import * as AiResponse from "@effect/ai/AiResponse"
|
|
5
6
|
import * as AiRole from "@effect/ai/AiRole"
|
|
6
7
|
import * as Sse from "@effect/experimental/Sse"
|
|
@@ -189,7 +190,11 @@ export const layer = (options: {
|
|
|
189
190
|
readonly organizationId?: Redacted.Redacted | undefined
|
|
190
191
|
readonly projectId?: Redacted.Redacted | undefined
|
|
191
192
|
readonly transformClient?: (client: HttpClient.HttpClient) => HttpClient.HttpClient
|
|
192
|
-
}): Layer.Layer<OpenAiClient, never, HttpClient.HttpClient> =>
|
|
193
|
+
}): Layer.Layer<AiModels.AiModels | OpenAiClient, never, HttpClient.HttpClient> =>
|
|
194
|
+
Layer.merge(
|
|
195
|
+
AiModels.layer,
|
|
196
|
+
Layer.effect(OpenAiClient, make(options))
|
|
197
|
+
)
|
|
193
198
|
|
|
194
199
|
/**
|
|
195
200
|
* @since 1.0.0
|
|
@@ -203,10 +208,11 @@ export const layerConfig = (
|
|
|
203
208
|
readonly projectId?: Redacted.Redacted | undefined
|
|
204
209
|
readonly transformClient?: (client: HttpClient.HttpClient) => HttpClient.HttpClient
|
|
205
210
|
}>
|
|
206
|
-
): Layer.Layer<OpenAiClient, ConfigError, HttpClient.HttpClient> =>
|
|
211
|
+
): Layer.Layer<AiModels.AiModels | OpenAiClient, ConfigError, HttpClient.HttpClient> =>
|
|
207
212
|
Config.unwrap(options).pipe(
|
|
208
213
|
Effect.flatMap(make),
|
|
209
|
-
Layer.effect(OpenAiClient)
|
|
214
|
+
Layer.effect(OpenAiClient),
|
|
215
|
+
Layer.merge(AiModels.layer)
|
|
210
216
|
)
|
|
211
217
|
|
|
212
218
|
/**
|