@effect/ai 0.25.1 → 0.25.2
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/AiEmbeddingModel.js +20 -2
- package/dist/cjs/AiEmbeddingModel.js.map +1 -1
- package/dist/dts/AiEmbeddingModel.d.ts +7 -0
- package/dist/dts/AiEmbeddingModel.d.ts.map +1 -1
- package/dist/esm/AiEmbeddingModel.js +20 -2
- package/dist/esm/AiEmbeddingModel.js.map +1 -1
- package/package.json +3 -3
- package/src/AiEmbeddingModel.ts +27 -2
|
@@ -57,8 +57,17 @@ const make = options => Effect.gen(function* () {
|
|
|
57
57
|
captureStackTrace: false
|
|
58
58
|
}));
|
|
59
59
|
}
|
|
60
|
+
function embedMany(inputs, options) {
|
|
61
|
+
return Effect.forEach(inputs, embed, {
|
|
62
|
+
batching: true,
|
|
63
|
+
concurrency: options?.concurrency
|
|
64
|
+
}).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
|
|
65
|
+
captureStackTrace: false
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
60
68
|
return AiEmbeddingModel.of({
|
|
61
|
-
embed
|
|
69
|
+
embed,
|
|
70
|
+
embedMany
|
|
62
71
|
});
|
|
63
72
|
});
|
|
64
73
|
/**
|
|
@@ -83,8 +92,17 @@ const makeDataLoader = options => Effect.gen(function* () {
|
|
|
83
92
|
captureStackTrace: false
|
|
84
93
|
}));
|
|
85
94
|
}
|
|
95
|
+
function embedMany(inputs, options) {
|
|
96
|
+
return Effect.forEach(inputs, embed, {
|
|
97
|
+
batching: true,
|
|
98
|
+
concurrency: options?.concurrency
|
|
99
|
+
}).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
|
|
100
|
+
captureStackTrace: false
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
86
103
|
return AiEmbeddingModel.of({
|
|
87
|
-
embed
|
|
104
|
+
embed,
|
|
105
|
+
embedMany
|
|
88
106
|
});
|
|
89
107
|
});
|
|
90
108
|
exports.makeDataLoader = makeDataLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiEmbeddingModel.js","names":["_RequestResolver","require","Context","_interopRequireWildcard","Effect","_Function","Option","Request","RequestResolver","Schema","_AiError","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiEmbeddingModel","Tag","exports","EmbeddingRequest","TaggedRequest","failure","AiError","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","identity","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","of","makeDataLoader","resolverDelayed","dataLoader","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAD,uBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAH,uBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAJ,uBAAA,CAAAF,OAAA;AACA,IAAAO,eAAA,GAAAL,uBAAA,CAAAF,OAAA;AACA,IAAAQ,MAAA,GAAAN,uBAAA,CAAAF,OAAA;
|
|
1
|
+
{"version":3,"file":"AiEmbeddingModel.js","names":["_RequestResolver","require","Context","_interopRequireWildcard","Effect","_Function","Option","Request","RequestResolver","Schema","_AiError","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiEmbeddingModel","Tag","exports","EmbeddingRequest","TaggedRequest","failure","AiError","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","identity","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","inputs","batching","concurrency","of","makeDataLoader","resolverDelayed","dataLoader","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Context from "effect/Context";
|
|
2
2
|
import type * as Duration from "effect/Duration";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
|
+
import type { Concurrency } from "effect/Types";
|
|
4
5
|
import { AiError } from "./AiError.js";
|
|
5
6
|
declare const AiEmbeddingModel_base: Context.TagClass<AiEmbeddingModel, "@effect/ai/AiEmbeddingModel", AiEmbeddingModel.Service>;
|
|
6
7
|
/**
|
|
@@ -19,6 +20,12 @@ export declare namespace AiEmbeddingModel {
|
|
|
19
20
|
*/
|
|
20
21
|
interface Service {
|
|
21
22
|
readonly embed: (input: string) => Effect.Effect<Array<number>, AiError>;
|
|
23
|
+
readonly embedMany: (input: ReadonlyArray<string>, options?: {
|
|
24
|
+
/**
|
|
25
|
+
* The concurrency level to use while batching requests.
|
|
26
|
+
*/
|
|
27
|
+
readonly concurrency?: Concurrency | undefined;
|
|
28
|
+
}) => Effect.Effect<Array<Array<number>>, AiError>;
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
31
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiEmbeddingModel.d.ts","sourceRoot":"","sources":["../../src/AiEmbeddingModel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;AAEtC;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG;AAEN;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;OAGG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"AiEmbeddingModel.d.ts","sourceRoot":"","sources":["../../src/AiEmbeddingModel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;AAEtC;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGnC;CAAG;AAEN;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC;;;OAGG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;QACxE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE;YAC3D;;eAEG;YACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;SAC/C,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;KACnD;IAED;;;OAGG;IACH,UAAiB,MAAM;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACnC;CACF;AAgCD;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5G,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;KAC5C,CAAA;CACF,0DAmCG,CAAA;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5G,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B,iFA0BG,CAAA"}
|
|
@@ -48,8 +48,17 @@ export const make = options => Effect.gen(function* () {
|
|
|
48
48
|
captureStackTrace: false
|
|
49
49
|
}));
|
|
50
50
|
}
|
|
51
|
+
function embedMany(inputs, options) {
|
|
52
|
+
return Effect.forEach(inputs, embed, {
|
|
53
|
+
batching: true,
|
|
54
|
+
concurrency: options?.concurrency
|
|
55
|
+
}).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
|
|
56
|
+
captureStackTrace: false
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
51
59
|
return AiEmbeddingModel.of({
|
|
52
|
-
embed
|
|
60
|
+
embed,
|
|
61
|
+
embedMany
|
|
53
62
|
});
|
|
54
63
|
});
|
|
55
64
|
/**
|
|
@@ -73,8 +82,17 @@ export const makeDataLoader = options => Effect.gen(function* () {
|
|
|
73
82
|
captureStackTrace: false
|
|
74
83
|
}));
|
|
75
84
|
}
|
|
85
|
+
function embedMany(inputs, options) {
|
|
86
|
+
return Effect.forEach(inputs, embed, {
|
|
87
|
+
batching: true,
|
|
88
|
+
concurrency: options?.concurrency
|
|
89
|
+
}).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
|
|
90
|
+
captureStackTrace: false
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
76
93
|
return AiEmbeddingModel.of({
|
|
77
|
-
embed
|
|
94
|
+
embed,
|
|
95
|
+
embedMany
|
|
78
96
|
});
|
|
79
97
|
});
|
|
80
98
|
//# sourceMappingURL=AiEmbeddingModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiEmbeddingModel.js","names":["dataLoader","Context","Effect","identity","Option","Request","RequestResolver","Schema","AiError","AiEmbeddingModel","Tag","EmbeddingRequest","TaggedRequest","failure","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","of","makeDataLoader","resolverDelayed","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,UAAU,QAAQ,sCAAsC;AACjE,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,eAAe,MAAM,wBAAwB;AACzD,OAAO,KAAKC,MAAM,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"AiEmbeddingModel.js","names":["dataLoader","Context","Effect","identity","Option","Request","RequestResolver","Schema","AiError","AiEmbeddingModel","Tag","EmbeddingRequest","TaggedRequest","failure","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","inputs","batching","concurrency","of","makeDataLoader","resolverDelayed","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/ai",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.2",
|
|
4
4
|
"description": "Effect modules for working with AI apis",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@effect/experimental": "^0.54.4",
|
|
18
|
-
"
|
|
18
|
+
"effect": "^3.17.7",
|
|
19
19
|
"@effect/rpc": "^0.68.3",
|
|
20
|
-
"effect": "^
|
|
20
|
+
"@effect/platform": "^0.90.1"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|
|
23
23
|
"provenance": true
|
package/src/AiEmbeddingModel.ts
CHANGED
|
@@ -10,6 +10,7 @@ import * as Option from "effect/Option"
|
|
|
10
10
|
import * as Request from "effect/Request"
|
|
11
11
|
import * as RequestResolver from "effect/RequestResolver"
|
|
12
12
|
import * as Schema from "effect/Schema"
|
|
13
|
+
import type { Concurrency } from "effect/Types"
|
|
13
14
|
import { AiError } from "./AiError.js"
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -31,6 +32,12 @@ export declare namespace AiEmbeddingModel {
|
|
|
31
32
|
*/
|
|
32
33
|
export interface Service {
|
|
33
34
|
readonly embed: (input: string) => Effect.Effect<Array<number>, AiError>
|
|
35
|
+
readonly embedMany: (input: ReadonlyArray<string>, options?: {
|
|
36
|
+
/**
|
|
37
|
+
* The concurrency level to use while batching requests.
|
|
38
|
+
*/
|
|
39
|
+
readonly concurrency?: Concurrency | undefined
|
|
40
|
+
}) => Effect.Effect<Array<Array<number>>, AiError>
|
|
34
41
|
}
|
|
35
42
|
|
|
36
43
|
/**
|
|
@@ -107,8 +114,17 @@ export const make = (options: {
|
|
|
107
114
|
}).pipe(Effect.withSpan("AiEmbeddingModel.embed", { captureStackTrace: false }))
|
|
108
115
|
}
|
|
109
116
|
|
|
117
|
+
function embedMany(inputs: ReadonlyArray<string>, options?: {
|
|
118
|
+
readonly concurrency?: Concurrency | undefined
|
|
119
|
+
}) {
|
|
120
|
+
return Effect.forEach(inputs, embed, { batching: true, concurrency: options?.concurrency }).pipe(
|
|
121
|
+
Effect.withSpan("AiEmbeddingModel.embedMany", { captureStackTrace: false })
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
|
|
110
125
|
return AiEmbeddingModel.of({
|
|
111
|
-
embed
|
|
126
|
+
embed,
|
|
127
|
+
embedMany
|
|
112
128
|
})
|
|
113
129
|
})
|
|
114
130
|
|
|
@@ -138,7 +154,16 @@ export const makeDataLoader = (options: {
|
|
|
138
154
|
)
|
|
139
155
|
}
|
|
140
156
|
|
|
157
|
+
function embedMany(inputs: ReadonlyArray<string>, options?: {
|
|
158
|
+
readonly concurrency?: Concurrency | undefined
|
|
159
|
+
}) {
|
|
160
|
+
return Effect.forEach(inputs, embed, { batching: true, concurrency: options?.concurrency }).pipe(
|
|
161
|
+
Effect.withSpan("AiEmbeddingModel.embedMany", { captureStackTrace: false })
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
141
165
|
return AiEmbeddingModel.of({
|
|
142
|
-
embed
|
|
166
|
+
embed,
|
|
167
|
+
embedMany
|
|
143
168
|
})
|
|
144
169
|
})
|