lance-context 1.15.3 → 1.17.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/README.md +11 -2
- package/dist/__tests__/embeddings/ollama.test.js +96 -35
- package/dist/__tests__/embeddings/ollama.test.js.map +1 -1
- package/dist/__tests__/mocks/fetch.mock.d.ts +5 -1
- package/dist/__tests__/mocks/fetch.mock.d.ts.map +1 -1
- package/dist/__tests__/mocks/fetch.mock.js +12 -1
- package/dist/__tests__/mocks/fetch.mock.js.map +1 -1
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/embeddings/index.js +3 -0
- package/dist/embeddings/index.js.map +1 -1
- package/dist/embeddings/ollama.d.ts +1 -0
- package/dist/embeddings/ollama.d.ts.map +1 -1
- package/dist/embeddings/ollama.js +37 -22
- package/dist/embeddings/ollama.js.map +1 -1
- package/dist/embeddings/types.d.ts +7 -1
- package/dist/embeddings/types.d.ts.map +1 -1
- package/dist/embeddings/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,6 +120,8 @@ For most projects, you only need to specify what to include:
|
|
|
120
120
|
| `excludePatterns` | Glob patterns for files to exclude | `["**/node_modules/**", "**/dist/**", "**/.git/**", "**/build/**", "**/target/**", "**/__pycache__/**", "**/venv/**", "**/.venv/**", "**/vendor/**", "**/*.min.js", "**/*.min.css"]` |
|
|
121
121
|
| `embedding.backend` | Embedding provider: `"jina"` or `"ollama"` | Auto-detect based on available API keys |
|
|
122
122
|
| `embedding.model` | Override the default embedding model | Backend default |
|
|
123
|
+
| `embedding.ollamaConcurrency` | Max concurrent Ollama requests (1-200) | `100` |
|
|
124
|
+
| `indexing.batchSize` | Texts per embedding batch request (1-1000) | `200` |
|
|
123
125
|
| `chunking.maxLines` | Maximum lines per chunk | `100` |
|
|
124
126
|
| `chunking.overlap` | Overlapping lines between chunks for context continuity | `20` |
|
|
125
127
|
| `search.semanticWeight` | Weight for semantic (vector) similarity (0-1) | `0.7` |
|
|
@@ -197,14 +199,21 @@ lance-context automatically selects the best available backend (in priority orde
|
|
|
197
199
|
|
|
198
200
|
Ollama provides free, local embeddings with no API rate limits. Perfect for indexing large codebases.
|
|
199
201
|
|
|
202
|
+
**Requirements:** Ollama 0.2.0 or newer (for batch embedding API)
|
|
203
|
+
|
|
200
204
|
1. **Install Ollama** from [ollama.com](https://ollama.com)
|
|
201
205
|
|
|
202
|
-
2. **
|
|
206
|
+
2. **Verify version** (must be 0.2.0+):
|
|
207
|
+
```bash
|
|
208
|
+
ollama --version
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
3. **Pull the embedding model:**
|
|
203
212
|
```bash
|
|
204
213
|
ollama pull qwen3-embedding:0.6b
|
|
205
214
|
```
|
|
206
215
|
|
|
207
|
-
|
|
216
|
+
4. **Verify it's working:**
|
|
208
217
|
```bash
|
|
209
218
|
ollama run qwen3-embedding:0.6b "test"
|
|
210
219
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
2
|
import { OllamaBackend, DEFAULT_OLLAMA_MODEL } from '../../embeddings/ollama.js';
|
|
3
|
-
import {
|
|
3
|
+
import { createOllamaBatchEmbeddingResponse, createSuccessFetch, createErrorFetch, } from '../mocks/fetch.mock.js';
|
|
4
4
|
/** Helper to create a mock /api/tags response with the default model available */
|
|
5
5
|
function createTagsResponseWithDefaultModel() {
|
|
6
6
|
return { models: [{ name: DEFAULT_OLLAMA_MODEL }] };
|
|
@@ -93,30 +93,32 @@ describe('OllamaBackend', () => {
|
|
|
93
93
|
});
|
|
94
94
|
});
|
|
95
95
|
describe('embed', () => {
|
|
96
|
-
it('should use
|
|
97
|
-
const mockFetch = vi
|
|
96
|
+
it('should use batch API with single text', async () => {
|
|
97
|
+
const mockFetch = vi
|
|
98
|
+
.fn()
|
|
99
|
+
.mockResolvedValue(createOllamaBatchEmbeddingResponse([[0.1, 0.2, 0.3]]));
|
|
98
100
|
vi.stubGlobal('fetch', mockFetch);
|
|
99
101
|
const backend = new OllamaBackend({ backend: 'ollama' });
|
|
100
102
|
await backend.embed('test text');
|
|
101
|
-
expect(mockFetch).toHaveBeenCalledWith('http://localhost:11434/api/
|
|
103
|
+
expect(mockFetch).toHaveBeenCalledWith('http://localhost:11434/api/embed', expect.objectContaining({
|
|
102
104
|
method: 'POST',
|
|
103
105
|
headers: { 'Content-Type': 'application/json' },
|
|
104
106
|
body: JSON.stringify({
|
|
105
107
|
model: DEFAULT_OLLAMA_MODEL,
|
|
106
|
-
|
|
108
|
+
input: ['test text'],
|
|
107
109
|
}),
|
|
108
110
|
}));
|
|
109
111
|
});
|
|
110
112
|
it('should return embedding from response', async () => {
|
|
111
113
|
const embedding = [0.1, 0.2, 0.3];
|
|
112
|
-
const mockFetch = vi.fn().mockResolvedValue(
|
|
114
|
+
const mockFetch = vi.fn().mockResolvedValue(createOllamaBatchEmbeddingResponse([embedding]));
|
|
113
115
|
vi.stubGlobal('fetch', mockFetch);
|
|
114
116
|
const backend = new OllamaBackend({ backend: 'ollama' });
|
|
115
117
|
const result = await backend.embed('test text');
|
|
116
118
|
expect(result).toEqual(embedding);
|
|
117
119
|
});
|
|
118
120
|
it('should use custom model in request', async () => {
|
|
119
|
-
const mockFetch = vi.fn().mockResolvedValue(
|
|
121
|
+
const mockFetch = vi.fn().mockResolvedValue(createOllamaBatchEmbeddingResponse([[0.1]]));
|
|
120
122
|
vi.stubGlobal('fetch', mockFetch);
|
|
121
123
|
const backend = new OllamaBackend({
|
|
122
124
|
backend: 'ollama',
|
|
@@ -139,56 +141,115 @@ describe('OllamaBackend', () => {
|
|
|
139
141
|
});
|
|
140
142
|
});
|
|
141
143
|
describe('embedBatch', () => {
|
|
142
|
-
it('should
|
|
144
|
+
it('should use batch API to embed all texts in one request', async () => {
|
|
143
145
|
const mockFetch = vi
|
|
144
146
|
.fn()
|
|
145
|
-
.
|
|
146
|
-
.mockResolvedValueOnce(createOllamaEmbeddingResponse([0.2]))
|
|
147
|
-
.mockResolvedValueOnce(createOllamaEmbeddingResponse([0.3]));
|
|
147
|
+
.mockResolvedValue(createOllamaBatchEmbeddingResponse([[0.1], [0.2], [0.3]]));
|
|
148
148
|
vi.stubGlobal('fetch', mockFetch);
|
|
149
149
|
const backend = new OllamaBackend({ backend: 'ollama' });
|
|
150
150
|
const result = await backend.embedBatch(['text1', 'text2', 'text3']);
|
|
151
|
-
|
|
151
|
+
// Should make only 1 batch request
|
|
152
|
+
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
153
|
+
expect(mockFetch).toHaveBeenCalledWith('http://localhost:11434/api/embed', expect.objectContaining({
|
|
154
|
+
body: JSON.stringify({
|
|
155
|
+
model: DEFAULT_OLLAMA_MODEL,
|
|
156
|
+
input: ['text1', 'text2', 'text3'],
|
|
157
|
+
}),
|
|
158
|
+
}));
|
|
152
159
|
expect(result).toEqual([[0.1], [0.2], [0.3]]);
|
|
153
160
|
});
|
|
154
161
|
it('should preserve order of embeddings', async () => {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const index = ['text1', 'text2', 'text3'].indexOf(body.prompt);
|
|
159
|
-
return createOllamaEmbeddingResponse([index * 0.1]);
|
|
160
|
-
});
|
|
162
|
+
const mockFetch = vi
|
|
163
|
+
.fn()
|
|
164
|
+
.mockResolvedValue(createOllamaBatchEmbeddingResponse([[0], [0.1], [0.2]]));
|
|
161
165
|
vi.stubGlobal('fetch', mockFetch);
|
|
162
166
|
const backend = new OllamaBackend({ backend: 'ollama' });
|
|
163
167
|
const result = await backend.embedBatch(['text1', 'text2', 'text3']);
|
|
164
168
|
expect(result).toEqual([[0], [0.1], [0.2]]);
|
|
165
169
|
});
|
|
166
|
-
it('should process in chunks
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
});
|
|
170
|
+
it('should process in chunks based on batchSize', async () => {
|
|
171
|
+
const mockFetch = vi
|
|
172
|
+
.fn()
|
|
173
|
+
.mockResolvedValueOnce(createOllamaBatchEmbeddingResponse([[0.1], [0.2]]))
|
|
174
|
+
.mockResolvedValueOnce(createOllamaBatchEmbeddingResponse([[0.3], [0.4]]))
|
|
175
|
+
.mockResolvedValueOnce(createOllamaBatchEmbeddingResponse([[0.5]]));
|
|
173
176
|
vi.stubGlobal('fetch', mockFetch);
|
|
174
177
|
// Create backend with batch size of 2
|
|
175
178
|
const backend = new OllamaBackend({ backend: 'ollama', batchSize: 2 });
|
|
176
179
|
const result = await backend.embedBatch(['t1', 't2', 't3', 't4', 't5']);
|
|
177
|
-
// Should make
|
|
178
|
-
expect(mockFetch).toHaveBeenCalledTimes(
|
|
180
|
+
// Should make 3 batch requests (2+2+1)
|
|
181
|
+
expect(mockFetch).toHaveBeenCalledTimes(3);
|
|
179
182
|
// Should return 5 embeddings
|
|
180
183
|
expect(result).toHaveLength(5);
|
|
184
|
+
expect(result).toEqual([[0.1], [0.2], [0.3], [0.4], [0.5]]);
|
|
181
185
|
});
|
|
182
|
-
it('should use default batch size of
|
|
183
|
-
const
|
|
186
|
+
it('should use default batch size of 100', async () => {
|
|
187
|
+
const embeddings = Array.from({ length: 150 }, (_, i) => [i * 0.01]);
|
|
188
|
+
const mockFetch = vi
|
|
189
|
+
.fn()
|
|
190
|
+
.mockResolvedValueOnce(createOllamaBatchEmbeddingResponse(embeddings.slice(0, 100)))
|
|
191
|
+
.mockResolvedValueOnce(createOllamaBatchEmbeddingResponse(embeddings.slice(100)));
|
|
184
192
|
vi.stubGlobal('fetch', mockFetch);
|
|
185
|
-
// Create backend without custom batchSize (should use default
|
|
193
|
+
// Create backend without custom batchSize (should use default 100)
|
|
186
194
|
const backend = new OllamaBackend({ backend: 'ollama' });
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
expect(
|
|
195
|
+
const texts = Array.from({ length: 150 }, (_, i) => `text${i}`);
|
|
196
|
+
const result = await backend.embedBatch(texts);
|
|
197
|
+
// Should make 2 batch requests (100 + 50)
|
|
198
|
+
expect(mockFetch).toHaveBeenCalledTimes(2);
|
|
199
|
+
expect(result).toHaveLength(150);
|
|
200
|
+
});
|
|
201
|
+
it('should process batches in parallel based on concurrency', async () => {
|
|
202
|
+
const callOrder = [];
|
|
203
|
+
const mockFetch = vi.fn().mockImplementation(async (_url, options) => {
|
|
204
|
+
const body = JSON.parse(options.body);
|
|
205
|
+
const batchIndex = body.input[0].replace('text', '');
|
|
206
|
+
callOrder.push(parseInt(batchIndex));
|
|
207
|
+
// Small delay to allow parallel execution
|
|
208
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
209
|
+
return createOllamaBatchEmbeddingResponse(body.input.map(() => [0.1]));
|
|
210
|
+
});
|
|
211
|
+
vi.stubGlobal('fetch', mockFetch);
|
|
212
|
+
// Create backend with batchSize=1 and concurrency=2
|
|
213
|
+
const backend = new OllamaBackend({ backend: 'ollama', batchSize: 1, concurrency: 2 });
|
|
214
|
+
const result = await backend.embedBatch(['text0', 'text1', 'text2', 'text3']);
|
|
215
|
+
// Should make 4 requests (1 per text)
|
|
216
|
+
expect(mockFetch).toHaveBeenCalledTimes(4);
|
|
217
|
+
// Results should be in correct order regardless of parallel processing
|
|
218
|
+
expect(result).toHaveLength(4);
|
|
219
|
+
});
|
|
220
|
+
it('should use default concurrency of 4', async () => {
|
|
221
|
+
const mockFetch = vi.fn().mockResolvedValue(createOllamaBatchEmbeddingResponse([[0.1]]));
|
|
222
|
+
vi.stubGlobal('fetch', mockFetch);
|
|
223
|
+
// Create backend with small batchSize to trigger multiple batches
|
|
224
|
+
const backend = new OllamaBackend({ backend: 'ollama', batchSize: 1 });
|
|
225
|
+
await backend.embedBatch(['t1', 't2', 't3', 't4', 't5', 't6', 't7', 't8']);
|
|
226
|
+
// With concurrency=4 and 8 items with batchSize=1, should still make 8 requests
|
|
227
|
+
expect(mockFetch).toHaveBeenCalledTimes(8);
|
|
228
|
+
});
|
|
229
|
+
it('should preserve result order with parallel processing', async () => {
|
|
230
|
+
// Return different embeddings for each text (using integers to avoid floating point issues)
|
|
231
|
+
const mockFetch = vi.fn().mockImplementation(async (_url, options) => {
|
|
232
|
+
const body = JSON.parse(options.body);
|
|
233
|
+
const embeddings = body.input.map((text) => {
|
|
234
|
+
const idx = parseInt(text.replace('text', ''));
|
|
235
|
+
return [idx];
|
|
236
|
+
});
|
|
237
|
+
// Random delay to test order preservation
|
|
238
|
+
await new Promise((resolve) => setTimeout(resolve, Math.random() * 20));
|
|
239
|
+
return createOllamaBatchEmbeddingResponse(embeddings);
|
|
240
|
+
});
|
|
241
|
+
vi.stubGlobal('fetch', mockFetch);
|
|
242
|
+
const backend = new OllamaBackend({ backend: 'ollama', batchSize: 2, concurrency: 3 });
|
|
243
|
+
const result = await backend.embedBatch([
|
|
244
|
+
'text0',
|
|
245
|
+
'text1',
|
|
246
|
+
'text2',
|
|
247
|
+
'text3',
|
|
248
|
+
'text4',
|
|
249
|
+
'text5',
|
|
250
|
+
]);
|
|
251
|
+
// Results should be in order matching input
|
|
252
|
+
expect(result).toEqual([[0], [1], [2], [3], [4], [5]]);
|
|
192
253
|
});
|
|
193
254
|
});
|
|
194
255
|
describe('getDimensions', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.test.js","sourceRoot":"","sources":["../../../src/__tests__/embeddings/ollama.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,kFAAkF;AAClF,SAAS,kCAAkC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;gBAChC,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;gBAChC,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACzF,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpF,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEhD,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC1F,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,kCAAkC,EAAE,CAAC,CAAC;YAC3E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,iCAAiC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,SAAS,GAAG,kBAAkB,CAAC,kCAAkC,EAAE,CAAC,CAAC;YAC3E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;gBAChC,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,6BAA6B,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAChD,uDAAuD,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,qDAAqD;YACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACrD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAChD,uDAAuD,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAChD,UAAU,oBAAoB,uBAAuB,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,kCAAkC,EAAE,CAAC,CAAC;YAC3E,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5F,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAEjC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,uCAAuC,EACvC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,oBAAoB;oBAC3B,MAAM,EAAE,WAAW;iBACpB,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;YACtF,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClF,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;gBAChC,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,mBAAmB;aAC3B,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;aACnD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,qDAAqD;YACrD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC1C,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,SAAS,GAAG,EAAE;iBACjB,EAAE,EAAE;iBACJ,qBAAqB,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC3D,qBAAqB,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC3D,qBAAqB,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,8DAA8D;YAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/D,OAAO,6BAA6B,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,sCAAsC;YACtC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAExE,4BAA4B;YAC5B,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,6BAA6B;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClF,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAElC,kEAAkE;YAClE,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,6EAA6E;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEhC,+BAA+B;YAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACtF,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ollama.test.js","sourceRoot":"","sources":["../../../src/__tests__/embeddings/ollama.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,12 @@ export declare function createSequentialFetch(responses: MockFetchResponse[]): R
|
|
|
31
31
|
*/
|
|
32
32
|
export declare function createJinaEmbeddingResponse(embeddings: number[][]): MockFetchResponse;
|
|
33
33
|
/**
|
|
34
|
-
* Creates Ollama-style embedding response
|
|
34
|
+
* Creates Ollama-style embedding response (legacy single embedding)
|
|
35
35
|
*/
|
|
36
36
|
export declare function createOllamaEmbeddingResponse(embedding: number[]): MockFetchResponse;
|
|
37
|
+
/**
|
|
38
|
+
* Creates Ollama-style batch embedding response (/api/embed)
|
|
39
|
+
*/
|
|
40
|
+
export declare function createOllamaBatchEmbeddingResponse(embeddings: number[][]): MockFetchResponse;
|
|
37
41
|
export {};
|
|
38
42
|
//# sourceMappingURL=fetch.mock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.mock.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/fetch.mock.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,0DAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAOpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAgB,EAC5B,IAAI,GAAE,MAAW,GAChB,UAAU,CAAC,OAAO,eAAe,CAAC,CAQpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,MAAuB,GAC/B,UAAU,CAAC,OAAO,eAAe,CAAC,CAEpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,EAAE,GAC7B,UAAU,CAAC,OAAO,eAAe,CAAC,CAOpC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,iBAAiB,CAYrF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAOpF"}
|
|
1
|
+
{"version":3,"file":"fetch.mock.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/fetch.mock.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,0DAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAOpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAgB,EAC5B,IAAI,GAAE,MAAW,GAChB,UAAU,CAAC,OAAO,eAAe,CAAC,CAQpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,MAAuB,GAC/B,UAAU,CAAC,OAAO,eAAe,CAAC,CAEpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,EAAE,GAC7B,UAAU,CAAC,OAAO,eAAe,CAAC,CAOpC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,iBAAiB,CAYrF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAOpF;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,iBAAiB,CAO5F"}
|
|
@@ -61,7 +61,7 @@ export function createJinaEmbeddingResponse(embeddings) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* Creates Ollama-style embedding response
|
|
64
|
+
* Creates Ollama-style embedding response (legacy single embedding)
|
|
65
65
|
*/
|
|
66
66
|
export function createOllamaEmbeddingResponse(embedding) {
|
|
67
67
|
return {
|
|
@@ -71,4 +71,15 @@ export function createOllamaEmbeddingResponse(embedding) {
|
|
|
71
71
|
text: async () => JSON.stringify({ embedding }),
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates Ollama-style batch embedding response (/api/embed)
|
|
76
|
+
*/
|
|
77
|
+
export function createOllamaBatchEmbeddingResponse(embeddings) {
|
|
78
|
+
return {
|
|
79
|
+
ok: true,
|
|
80
|
+
status: 200,
|
|
81
|
+
json: async () => ({ embeddings }),
|
|
82
|
+
text: async () => JSON.stringify({ embeddings }),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
74
85
|
//# sourceMappingURL=fetch.mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.mock.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/fetch.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAY5B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAqB;IACnD,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KACvC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,aAAqB,OAAO,EAC5B,OAAe,EAAE;IAEjB,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,KAAK;QACT,MAAM;QACN,UAAU;QACV,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,cAAc;IAEhC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA8B;IAE9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,SAAS,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAsB;IAChE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SACrD,CAAC;QACF,IAAI,EAAE,KAAK,IAAI,EAAE,CACf,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SACrD,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAmB;IAC/D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"fetch.mock.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/fetch.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAY5B;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAqB;IACnD,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KACvC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,aAAqB,OAAO,EAC5B,OAAe,EAAE;IAEjB,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,KAAK;QACT,MAAM;QACN,UAAU;QACV,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,cAAc;IAEhC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA8B;IAE9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,SAAS,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAsB;IAChE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SACrD,CAAC;QACF,IAAI,EAAE,KAAK,IAAI,EAAE,CACf,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SACrD,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAmB;IAC/D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,UAAsB;IACvE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QAClC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIpE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIpE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAkE3B"}
|
package/dist/embeddings/index.js
CHANGED
|
@@ -30,6 +30,7 @@ export async function createEmbeddingBackend(config) {
|
|
|
30
30
|
const ollamaUrl = config?.baseUrl || process.env.OLLAMA_URL || 'http://localhost:11434';
|
|
31
31
|
const ollamaModel = config?.model || DEFAULT_OLLAMA_MODEL;
|
|
32
32
|
const ollamaBatchSize = config?.batchSize;
|
|
33
|
+
const ollamaConcurrency = config?.concurrency;
|
|
33
34
|
// If explicit backend is specified, use only that backend
|
|
34
35
|
if (config?.backend && config.backend !== 'local') {
|
|
35
36
|
if (config.backend === 'jina') {
|
|
@@ -47,6 +48,7 @@ export async function createEmbeddingBackend(config) {
|
|
|
47
48
|
baseUrl: ollamaUrl,
|
|
48
49
|
model: ollamaModel,
|
|
49
50
|
batchSize: ollamaBatchSize,
|
|
51
|
+
concurrency: ollamaConcurrency,
|
|
50
52
|
});
|
|
51
53
|
await backend.initialize();
|
|
52
54
|
console.error(`[lance-context] Using ollama embedding backend (explicitly configured)`);
|
|
@@ -65,6 +67,7 @@ export async function createEmbeddingBackend(config) {
|
|
|
65
67
|
baseUrl: ollamaUrl,
|
|
66
68
|
model: ollamaModel,
|
|
67
69
|
batchSize: ollamaBatchSize,
|
|
70
|
+
concurrency: ollamaConcurrency,
|
|
68
71
|
}));
|
|
69
72
|
// Try each backend until one works
|
|
70
73
|
for (const createBackend of backends) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAiC;IAEjC,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB,CAAC;IACxF,MAAM,WAAW,GAAG,MAAM,EAAE,KAAK,IAAI,oBAAoB,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class OllamaBackend implements EmbeddingBackend {
|
|
|
11
11
|
private baseUrl;
|
|
12
12
|
private dimensions;
|
|
13
13
|
private batchSize;
|
|
14
|
+
private concurrency;
|
|
14
15
|
constructor(config: EmbeddingConfig);
|
|
15
16
|
initialize(): Promise<void>;
|
|
16
17
|
embed(text: string): Promise<number[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/embeddings/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/embeddings/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUpE,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAY3D;;;GAGG;AACH,qBAAa,aAAc,YAAW,gBAAgB;IACpD,IAAI,SAAY;IAChB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,eAAe;IAS7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC3B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAyCtD,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { chunkArray } from './types.js';
|
|
2
2
|
import { fetchWithRetry } from './retry.js';
|
|
3
|
-
/** Default
|
|
3
|
+
/** Default batch size for Ollama (texts per batch request) */
|
|
4
4
|
const DEFAULT_BATCH_SIZE = 100;
|
|
5
|
+
/** Default concurrency for Ollama (parallel batch requests) */
|
|
6
|
+
const DEFAULT_CONCURRENCY = 4;
|
|
5
7
|
/** Default Ollama model optimized for code search */
|
|
6
8
|
export const DEFAULT_OLLAMA_MODEL = 'qwen3-embedding:0.6b';
|
|
7
9
|
/** Model dimension defaults (used when dimensions can't be auto-detected) */
|
|
@@ -23,10 +25,12 @@ export class OllamaBackend {
|
|
|
23
25
|
baseUrl;
|
|
24
26
|
dimensions;
|
|
25
27
|
batchSize;
|
|
28
|
+
concurrency;
|
|
26
29
|
constructor(config) {
|
|
27
30
|
this.model = config.model || DEFAULT_OLLAMA_MODEL;
|
|
28
31
|
this.baseUrl = config.baseUrl || 'http://localhost:11434';
|
|
29
32
|
this.batchSize = config.batchSize ?? DEFAULT_BATCH_SIZE;
|
|
33
|
+
this.concurrency = config.concurrency ?? DEFAULT_CONCURRENCY;
|
|
30
34
|
// Set dimensions based on known models, default to 1024 for unknown models
|
|
31
35
|
this.dimensions = MODEL_DIMENSIONS[this.model] ?? 1024;
|
|
32
36
|
}
|
|
@@ -63,29 +67,40 @@ export class OllamaBackend {
|
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
async embed(text) {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
headers: { 'Content-Type': 'application/json' },
|
|
69
|
-
body: JSON.stringify({
|
|
70
|
-
model: this.model,
|
|
71
|
-
prompt: text,
|
|
72
|
-
}),
|
|
73
|
-
});
|
|
74
|
-
if (!response.ok) {
|
|
75
|
-
throw new Error(`Ollama embedding failed: ${response.status}`);
|
|
76
|
-
}
|
|
77
|
-
const data = (await response.json());
|
|
78
|
-
return data.embedding;
|
|
70
|
+
const results = await this.embedBatch([text]);
|
|
71
|
+
return results[0];
|
|
79
72
|
}
|
|
80
73
|
async embedBatch(texts) {
|
|
81
|
-
// Ollama
|
|
82
|
-
//
|
|
83
|
-
const
|
|
84
|
-
const results =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
74
|
+
// Use Ollama's batch API (/api/embed) which accepts an array of texts
|
|
75
|
+
// Process multiple batches in parallel for faster indexing
|
|
76
|
+
const batches = chunkArray(texts, this.batchSize);
|
|
77
|
+
const results = new Array(texts.length);
|
|
78
|
+
// Process batches in parallel groups controlled by concurrency
|
|
79
|
+
for (let i = 0; i < batches.length; i += this.concurrency) {
|
|
80
|
+
const batchGroup = batches.slice(i, i + this.concurrency);
|
|
81
|
+
const batchPromises = batchGroup.map(async (batch, groupIndex) => {
|
|
82
|
+
const response = await fetchWithRetry(`${this.baseUrl}/api/embed`, {
|
|
83
|
+
method: 'POST',
|
|
84
|
+
headers: { 'Content-Type': 'application/json' },
|
|
85
|
+
body: JSON.stringify({
|
|
86
|
+
model: this.model,
|
|
87
|
+
input: batch,
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
90
|
+
if (!response.ok) {
|
|
91
|
+
throw new Error(`Ollama embedding failed: ${response.status}`);
|
|
92
|
+
}
|
|
93
|
+
const data = (await response.json());
|
|
94
|
+
return { batchIndex: i + groupIndex, embeddings: data.embeddings };
|
|
95
|
+
});
|
|
96
|
+
const batchResults = await Promise.all(batchPromises);
|
|
97
|
+
// Place results in correct positions
|
|
98
|
+
for (const { batchIndex, embeddings } of batchResults) {
|
|
99
|
+
const startIndex = batchIndex * this.batchSize;
|
|
100
|
+
for (let j = 0; j < embeddings.length; j++) {
|
|
101
|
+
results[startIndex + j] = embeddings[j];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
89
104
|
}
|
|
90
105
|
return results;
|
|
91
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/embeddings/ollama.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/embeddings/ollama.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,9 +54,15 @@ export interface EmbeddingConfig {
|
|
|
54
54
|
* Maximum number of texts to process in a single batch request.
|
|
55
55
|
* Large batches are automatically split into smaller chunks to prevent
|
|
56
56
|
* timeouts, memory issues, and API rate limit errors.
|
|
57
|
-
* Default: 100 for Jina,
|
|
57
|
+
* Default: 100 for Jina, 100 for Ollama
|
|
58
58
|
*/
|
|
59
59
|
batchSize?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Maximum number of concurrent batch requests (Ollama only).
|
|
62
|
+
* Controls how many batch requests are sent in parallel.
|
|
63
|
+
* Default: 4 for Ollama
|
|
64
|
+
*/
|
|
65
|
+
concurrency?: number;
|
|
60
66
|
}
|
|
61
67
|
/**
|
|
62
68
|
* Split an array into chunks of specified size.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/embeddings/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/embeddings/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAM7D;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,eAI5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/embeddings/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/embeddings/types.ts"],"names":[],"mappings":"AAgFA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAI,KAAU,EAAE,IAAY;IACpD,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,wBAAwB;CAClC,CAAC"}
|
package/package.json
CHANGED