@vivantel/virage-embedder-openai 0.2.1 → 0.2.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/README.md +12 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/presets.d.ts +0 -7
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -9
- package/dist/presets.js.map +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@vivantel/virage-embedder-openai)
|
|
4
4
|
|
|
5
|
-
OpenAI-compatible embedding provider for `@vivantel/virage-core`. Works with OpenAI, Azure OpenAI,
|
|
5
|
+
OpenAI-compatible embedding provider for `@vivantel/virage-core`. Works with OpenAI, Azure OpenAI, Ollama, LM Studio, GitHub Models, and any OpenAI-compatible endpoint.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -24,14 +24,16 @@ const embedder = new OpenAICompatibleEmbedder({
|
|
|
24
24
|
});
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
### GitHub Models (
|
|
27
|
+
### GitHub Models (via generic OpenAI-compatible endpoint)
|
|
28
28
|
|
|
29
29
|
```typescript
|
|
30
|
-
import {
|
|
30
|
+
import { OpenAICompatibleEmbedder } from "@vivantel/virage-embedder-openai";
|
|
31
31
|
|
|
32
|
-
const embedder =
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const embedder = new OpenAICompatibleEmbedder({
|
|
33
|
+
apiKey: process.env.GITHUB_TOKEN!,
|
|
34
|
+
baseURL: "https://models.github.ai/inference",
|
|
35
|
+
model: "openai/text-embedding-3-small",
|
|
36
|
+
dimensions: 1536,
|
|
35
37
|
});
|
|
36
38
|
```
|
|
37
39
|
|
|
@@ -66,15 +68,16 @@ const embedder = createOllamaEmbedder({
|
|
|
66
68
|
"embedder": {
|
|
67
69
|
"package": "@vivantel/virage-embedder-openai",
|
|
68
70
|
"config": {
|
|
69
|
-
"apiKey": "${
|
|
70
|
-
"
|
|
71
|
-
"model": "openai/text-embedding-3-small",
|
|
71
|
+
"apiKey": "${OPENAI_API_KEY}",
|
|
72
|
+
"model": "text-embedding-3-small",
|
|
72
73
|
"dimensions": 1536
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
```
|
|
77
78
|
|
|
79
|
+
Any OpenAI-compatible endpoint (including GitHub Models, Azure OpenAI, Ollama) can be used by adding a `baseURL` field to the config.
|
|
80
|
+
|
|
78
81
|
## Options
|
|
79
82
|
|
|
80
83
|
| Option | Type | Required | Description |
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { OpenAICompatibleEmbedder, type OpenAICompatibleEmbedderOptions, } from
|
|
|
2
2
|
export { computeEmbeddingMetrics, cosineSimilarity, computeIntrinsicDimension, computeAvgCosineSimRandomPairs, detectOutliers, } from "./embedding-metrics.js";
|
|
3
3
|
export { OpenAIJudge, type OpenAIJudgeOptions } from "./judge.js";
|
|
4
4
|
export { SemanticCache, type SemanticCacheConfig } from "./semantic-cache.js";
|
|
5
|
-
export {
|
|
5
|
+
export { createAzureOpenAIEmbedder, createOllamaEmbedder, type AzureOpenAIPresetOptions, type OllamaPresetOptions, } from "./presets.js";
|
|
6
6
|
import type { EmbeddingProvider } from "@vivantel/virage-core";
|
|
7
7
|
/** Factory used by the JSON config loader. */
|
|
8
8
|
export declare function createEmbedder(config: Record<string, unknown>): EmbeddingProvider;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,GACrC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,+BAA+B,GACrC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM/D,8CAA8C;AAC9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,iBAAiB,CA6BnB"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { OpenAICompatibleEmbedder, } from "./embedder.js";
|
|
|
2
2
|
export { computeEmbeddingMetrics, cosineSimilarity, computeIntrinsicDimension, computeAvgCosineSimRandomPairs, detectOutliers, } from "./embedding-metrics.js";
|
|
3
3
|
export { OpenAIJudge } from "./judge.js";
|
|
4
4
|
export { SemanticCache } from "./semantic-cache.js";
|
|
5
|
-
export {
|
|
5
|
+
export { createAzureOpenAIEmbedder, createOllamaEmbedder, } from "./presets.js";
|
|
6
6
|
import { OpenAICompatibleEmbedder, } from "./embedder.js";
|
|
7
7
|
/** Factory used by the JSON config loader. */
|
|
8
8
|
export function createEmbedder(config) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAGrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AAEvB,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAC5B,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAoC;QAC5C,MAAM;QACN,KAAK;QACL,UAAU,EACR,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACvE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACxE,cAAc,EACZ,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;YACvC,CAAC,CAAC,MAAM,CAAC,cAAc;YACvB,CAAC,CAAC,SAAS;QACf,UAAU,EACR,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;IAEF,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { OpenAICompatibleEmbedder } from "./embedder.js";
|
|
2
|
-
export interface GitHubModelsPresetOptions {
|
|
3
|
-
token: string;
|
|
4
|
-
model?: string;
|
|
5
|
-
dimensions?: number;
|
|
6
|
-
}
|
|
7
2
|
export interface AzureOpenAIPresetOptions {
|
|
8
3
|
apiKey: string;
|
|
9
4
|
endpoint: string;
|
|
@@ -15,8 +10,6 @@ export interface OllamaPresetOptions {
|
|
|
15
10
|
dimensions: number;
|
|
16
11
|
baseURL?: string;
|
|
17
12
|
}
|
|
18
|
-
/** Pre-configured embedder for GitHub Models (OpenAI-compatible endpoint). */
|
|
19
|
-
export declare function createGitHubModelsEmbedder(options: GitHubModelsPresetOptions): OpenAICompatibleEmbedder;
|
|
20
13
|
/** Pre-configured embedder for Azure OpenAI. */
|
|
21
14
|
export declare function createAzureOpenAIEmbedder(options: AzureOpenAIPresetOptions): OpenAICompatibleEmbedder;
|
|
22
15
|
/** Pre-configured embedder for a local Ollama server. */
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAEzB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAEzB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,wBAAwB,GAChC,wBAAwB,CAO1B;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,GAC3B,wBAAwB,CAO1B"}
|
package/dist/presets.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import { OpenAICompatibleEmbedder, } from "./embedder.js";
|
|
2
|
-
/** Pre-configured embedder for GitHub Models (OpenAI-compatible endpoint). */
|
|
3
|
-
export function createGitHubModelsEmbedder(options) {
|
|
4
|
-
return new OpenAICompatibleEmbedder({
|
|
5
|
-
apiKey: options.token,
|
|
6
|
-
baseURL: "https://models.github.ai/inference",
|
|
7
|
-
model: options.model ?? "openai/text-embedding-3-small",
|
|
8
|
-
dimensions: options.dimensions ?? 1536,
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
2
|
/** Pre-configured embedder for Azure OpenAI. */
|
|
12
3
|
export function createAzureOpenAIEmbedder(options) {
|
|
13
4
|
return new OpenAICompatibleEmbedder({
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AAevB,gDAAgD;AAChD,MAAM,UAAU,yBAAyB,CACvC,OAAiC;IAEjC,OAAO,IAAI,wBAAwB,CAAC;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS;QACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,wBAAwB;QAChD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;KACvC,CAAC,CAAC;AACL,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAClC,OAA4B;IAE5B,OAAO,IAAI,wBAAwB,CAAC;QAClC,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,wBAAwB,CAAC,GAAG,KAAK;QAC9D,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;KACI,CAAC,CAAC;AACxC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vivantel/virage-embedder-openai",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "OpenAI-compatible embedding provider for @vivantel/rag-core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,8 +33,7 @@
|
|
|
33
33
|
"rag",
|
|
34
34
|
"embeddings",
|
|
35
35
|
"openai",
|
|
36
|
-
"azure"
|
|
37
|
-
"github-models"
|
|
36
|
+
"azure"
|
|
38
37
|
],
|
|
39
38
|
"author": "Vivantel",
|
|
40
39
|
"license": "MIT",
|
|
@@ -50,7 +49,7 @@
|
|
|
50
49
|
"@vivantel/virage-core": "*"
|
|
51
50
|
},
|
|
52
51
|
"devDependencies": {
|
|
53
|
-
"@vivantel/virage-core": "0.2.
|
|
52
|
+
"@vivantel/virage-core": "0.2.3",
|
|
54
53
|
"@types/node": "^25.9.1",
|
|
55
54
|
"typescript": "^6.0.3",
|
|
56
55
|
"vitest": "^4.1.8"
|