langchain 0.0.75 → 0.0.76
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/base_language/count_tokens.cjs +5 -21
- package/dist/base_language/count_tokens.d.ts +1 -6
- package/dist/base_language/count_tokens.js +4 -19
- package/dist/base_language/index.cjs +10 -24
- package/dist/base_language/index.d.ts +3 -2
- package/dist/base_language/index.js +11 -25
- package/dist/cache/redis.d.ts +3 -1
- package/dist/callbacks/base.d.ts +4 -4
- package/dist/callbacks/handlers/initialize.cjs +2 -9
- package/dist/callbacks/handlers/initialize.d.ts +1 -1
- package/dist/callbacks/handlers/initialize.js +2 -9
- package/dist/callbacks/handlers/tracer.cjs +11 -22
- package/dist/callbacks/handlers/tracer.d.ts +2 -2
- package/dist/callbacks/handlers/tracer.js +11 -22
- package/dist/callbacks/handlers/tracer_langchain.cjs +52 -91
- package/dist/callbacks/handlers/tracer_langchain.d.ts +12 -9
- package/dist/callbacks/handlers/tracer_langchain.js +52 -68
- package/dist/callbacks/handlers/tracer_langchain_v1.cjs +5 -1
- package/dist/callbacks/handlers/tracer_langchain_v1.js +5 -1
- package/dist/callbacks/manager.cjs +10 -10
- package/dist/callbacks/manager.d.ts +2 -2
- package/dist/callbacks/manager.js +10 -10
- package/dist/chains/question_answering/map_reduce_prompts.cjs +5 -5
- package/dist/chains/question_answering/map_reduce_prompts.d.ts +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs +5 -5
- package/dist/chains/question_answering/refine_prompts.d.ts +1 -1
- package/dist/chains/question_answering/refine_prompts.js +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +2 -2
- package/dist/chains/question_answering/stuff_prompts.d.ts +1 -1
- package/dist/chains/question_answering/stuff_prompts.js +1 -1
- package/dist/chains/sequential_chain.cjs +2 -2
- package/dist/chains/sequential_chain.d.ts +2 -2
- package/dist/chains/sequential_chain.js +2 -2
- package/dist/chains/sql_db/sql_db_prompt.cjs +20 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts +1 -0
- package/dist/chains/sql_db/sql_db_prompt.js +19 -0
- package/dist/chat_models/base.cjs +17 -1
- package/dist/chat_models/base.d.ts +6 -0
- package/dist/chat_models/base.js +18 -2
- package/dist/chat_models/openai.cjs +2 -2
- package/dist/chat_models/openai.js +2 -2
- package/dist/client/langchainplus.cjs +90 -29
- package/dist/client/langchainplus.d.ts +7 -5
- package/dist/client/langchainplus.js +90 -29
- package/dist/document_loaders/fs/unstructured.cjs +8 -0
- package/dist/document_loaders/fs/unstructured.d.ts +3 -0
- package/dist/document_loaders/fs/unstructured.js +8 -0
- package/dist/document_loaders/web/apify_dataset.cjs +64 -0
- package/dist/document_loaders/web/apify_dataset.d.ts +28 -0
- package/dist/document_loaders/web/apify_dataset.js +60 -0
- package/dist/embeddings/openai.cjs +2 -2
- package/dist/embeddings/openai.js +2 -2
- package/dist/llms/base.cjs +18 -1
- package/dist/llms/base.d.ts +7 -1
- package/dist/llms/base.js +19 -2
- package/dist/llms/openai-chat.cjs +2 -2
- package/dist/llms/openai-chat.js +2 -2
- package/dist/llms/openai.cjs +2 -2
- package/dist/llms/openai.js +2 -2
- package/dist/memory/base.cjs +9 -1
- package/dist/memory/base.d.ts +1 -0
- package/dist/memory/base.js +7 -0
- package/dist/memory/entity_memory.cjs +151 -0
- package/dist/memory/entity_memory.d.ts +35 -0
- package/dist/memory/entity_memory.js +147 -0
- package/dist/memory/index.cjs +5 -1
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/prompt.cjs +84 -1
- package/dist/memory/prompt.d.ts +6 -0
- package/dist/memory/prompt.js +83 -0
- package/dist/memory/stores/entity/in_memory.cjs +32 -0
- package/dist/memory/stores/entity/in_memory.d.ts +10 -0
- package/dist/memory/stores/entity/in_memory.js +28 -0
- package/dist/prompts/index.cjs +6 -1
- package/dist/prompts/index.d.ts +1 -0
- package/dist/prompts/index.js +1 -0
- package/dist/{chains/prompt_selector.d.ts → prompts/selectors/conditional.d.ts} +4 -4
- package/dist/schema/index.cjs +13 -1
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/index.js +11 -0
- package/dist/stores/message/dynamodb.cjs +8 -6
- package/dist/stores/message/dynamodb.js +8 -6
- package/dist/stores/message/redis.cjs +5 -3
- package/dist/stores/message/redis.js +5 -3
- package/dist/stores/message/utils.cjs +30 -15
- package/dist/stores/message/utils.d.ts +4 -2
- package/dist/stores/message/utils.js +28 -14
- package/dist/text_splitter.cjs +3 -23
- package/dist/text_splitter.d.ts +1 -3
- package/dist/text_splitter.js +3 -23
- package/dist/tools/webbrowser.cjs +5 -7
- package/dist/tools/webbrowser.js +3 -5
- package/dist/util/env.cjs +39 -7
- package/dist/util/env.d.ts +19 -0
- package/dist/util/env.js +32 -6
- package/dist/util/sql_utils.cjs +18 -0
- package/dist/util/sql_utils.js +19 -1
- package/dist/util/tiktoken.cjs +26 -0
- package/dist/util/tiktoken.d.ts +9 -0
- package/dist/util/tiktoken.js +21 -0
- package/dist/vectorstores/redis.cjs +236 -0
- package/dist/vectorstores/redis.d.ts +80 -0
- package/dist/vectorstores/redis.js +232 -0
- package/document_loaders/web/apify_dataset.cjs +1 -0
- package/document_loaders/web/apify_dataset.d.ts +1 -0
- package/document_loaders/web/apify_dataset.js +1 -0
- package/package.json +25 -5
- package/vectorstores/redis.cjs +1 -0
- package/vectorstores/redis.d.ts +1 -0
- package/vectorstores/redis.js +1 -0
- /package/dist/{chains/prompt_selector.cjs → prompts/selectors/conditional.cjs} +0 -0
- /package/dist/{chains/prompt_selector.js → prompts/selectors/conditional.js} +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { SchemaFieldTypes, VectorAlgorithms } from "redis";
|
|
2
|
+
import { VectorStore } from "./base.js";
|
|
3
|
+
import { Document } from "../document.js";
|
|
4
|
+
export class RedisVectorStore extends VectorStore {
|
|
5
|
+
constructor(embeddings, _dbConfig) {
|
|
6
|
+
super(embeddings, _dbConfig);
|
|
7
|
+
Object.defineProperty(this, "redisClient", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
configurable: true,
|
|
10
|
+
writable: true,
|
|
11
|
+
value: void 0
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(this, "indexName", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: void 0
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(this, "indexOptions", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
value: void 0
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(this, "keyPrefix", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true,
|
|
28
|
+
writable: true,
|
|
29
|
+
value: void 0
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(this, "contentKey", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
configurable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
value: void 0
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(this, "metadataKey", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
configurable: true,
|
|
40
|
+
writable: true,
|
|
41
|
+
value: void 0
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(this, "vectorKey", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
configurable: true,
|
|
46
|
+
writable: true,
|
|
47
|
+
value: void 0
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(this, "filter", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
configurable: true,
|
|
52
|
+
writable: true,
|
|
53
|
+
value: void 0
|
|
54
|
+
});
|
|
55
|
+
this.redisClient = _dbConfig.redisClient;
|
|
56
|
+
this.indexName = _dbConfig.indexName;
|
|
57
|
+
this.indexOptions = _dbConfig.indexOptions ?? {
|
|
58
|
+
ALGORITHM: VectorAlgorithms.HNSW,
|
|
59
|
+
DISTANCE_METRIC: "COSINE",
|
|
60
|
+
};
|
|
61
|
+
this.keyPrefix = _dbConfig.keyPrefix ?? `doc:${this.indexName}:`;
|
|
62
|
+
this.contentKey = _dbConfig.contentKey ?? "content";
|
|
63
|
+
this.metadataKey = _dbConfig.metadataKey ?? "metadata";
|
|
64
|
+
this.vectorKey = _dbConfig.vectorKey ?? "content_vector";
|
|
65
|
+
this.filter = _dbConfig.filter;
|
|
66
|
+
}
|
|
67
|
+
async addDocuments(documents, options) {
|
|
68
|
+
const texts = documents.map(({ pageContent }) => pageContent);
|
|
69
|
+
await this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
70
|
+
}
|
|
71
|
+
async addVectors(vectors, documents, { keys, batchSize = 1000 } = {}) {
|
|
72
|
+
// check if the index exists and create it if it doesn't
|
|
73
|
+
await this.createIndex(vectors[0].length);
|
|
74
|
+
const multi = this.redisClient.multi();
|
|
75
|
+
vectors.map(async (vector, idx) => {
|
|
76
|
+
const key = keys && keys.length ? keys[idx] : `${this.keyPrefix}${idx}`;
|
|
77
|
+
const metadata = documents[idx] && documents[idx].metadata
|
|
78
|
+
? documents[idx].metadata
|
|
79
|
+
: {};
|
|
80
|
+
multi.hSet(key, {
|
|
81
|
+
[this.vectorKey]: this.getFloat32Buffer(vector),
|
|
82
|
+
[this.contentKey]: documents[idx].pageContent,
|
|
83
|
+
[this.metadataKey]: this.escapeSpecialChars(JSON.stringify(metadata)),
|
|
84
|
+
});
|
|
85
|
+
// write batch
|
|
86
|
+
if (idx % batchSize === 0) {
|
|
87
|
+
await multi.exec();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
// insert final batch
|
|
91
|
+
await multi.exec();
|
|
92
|
+
}
|
|
93
|
+
async similaritySearchVectorWithScore(query, k, filter) {
|
|
94
|
+
if (filter && this.filter) {
|
|
95
|
+
throw new Error("cannot provide both `filter` and `this.filter`");
|
|
96
|
+
}
|
|
97
|
+
const _filter = filter ?? this.filter;
|
|
98
|
+
const results = await this.redisClient.ft.search(this.indexName, ...this.buildQuery(query, k, _filter));
|
|
99
|
+
const result = [];
|
|
100
|
+
if (results.total) {
|
|
101
|
+
for (const res of results.documents) {
|
|
102
|
+
if (res.value) {
|
|
103
|
+
const document = res.value;
|
|
104
|
+
if (document.vector_score) {
|
|
105
|
+
result.push([
|
|
106
|
+
new Document({
|
|
107
|
+
pageContent: document[this.contentKey],
|
|
108
|
+
metadata: JSON.parse(this.unEscapeSpecialChars(document.metadata)),
|
|
109
|
+
}),
|
|
110
|
+
Number(document.vector_score),
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
static fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
119
|
+
const docs = [];
|
|
120
|
+
for (let i = 0; i < texts.length; i += 1) {
|
|
121
|
+
const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;
|
|
122
|
+
const newDoc = new Document({
|
|
123
|
+
pageContent: texts[i],
|
|
124
|
+
metadata,
|
|
125
|
+
});
|
|
126
|
+
docs.push(newDoc);
|
|
127
|
+
}
|
|
128
|
+
return RedisVectorStore.fromDocuments(docs, embeddings, dbConfig);
|
|
129
|
+
}
|
|
130
|
+
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
131
|
+
const instance = new this(embeddings, dbConfig);
|
|
132
|
+
await instance.addDocuments(docs);
|
|
133
|
+
return instance;
|
|
134
|
+
}
|
|
135
|
+
async checkIndexExists() {
|
|
136
|
+
try {
|
|
137
|
+
await this.redisClient.ft.info(this.indexName);
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
// index doesn't exist
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
async createIndex(dimensions = 1536) {
|
|
146
|
+
if (await this.checkIndexExists()) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const schema = {
|
|
150
|
+
[this.vectorKey]: {
|
|
151
|
+
type: SchemaFieldTypes.VECTOR,
|
|
152
|
+
TYPE: "FLOAT32",
|
|
153
|
+
DIM: dimensions,
|
|
154
|
+
...this.indexOptions,
|
|
155
|
+
},
|
|
156
|
+
[this.contentKey]: SchemaFieldTypes.TEXT,
|
|
157
|
+
[this.metadataKey]: SchemaFieldTypes.TEXT,
|
|
158
|
+
};
|
|
159
|
+
await this.redisClient.ft.create(this.indexName, schema, {
|
|
160
|
+
ON: "HASH",
|
|
161
|
+
PREFIX: this.keyPrefix,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
async dropIndex() {
|
|
165
|
+
try {
|
|
166
|
+
await this.redisClient.ft.dropIndex(this.indexName);
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
buildQuery(query, k, filter) {
|
|
174
|
+
const vectorScoreField = "vector_score";
|
|
175
|
+
let hybridFields = "*";
|
|
176
|
+
// if a filter is set, modify the hybrid query
|
|
177
|
+
if (filter && filter.length) {
|
|
178
|
+
// `filter` is a list of strings, then it's applied using the OR operator in the metadata key
|
|
179
|
+
// for example: filter = ['foo', 'bar'] => this will filter all metadata containing either 'foo' OR 'bar'
|
|
180
|
+
hybridFields = `@${this.metadataKey}:(${this.prepareFilter(filter)})`;
|
|
181
|
+
}
|
|
182
|
+
const baseQuery = `${hybridFields} => [KNN ${k} @${this.vectorKey} $vector AS ${vectorScoreField}]`;
|
|
183
|
+
const returnFields = [this.metadataKey, this.contentKey, vectorScoreField];
|
|
184
|
+
const options = {
|
|
185
|
+
PARAMS: {
|
|
186
|
+
vector: this.getFloat32Buffer(query),
|
|
187
|
+
},
|
|
188
|
+
RETURN: returnFields,
|
|
189
|
+
SORTBY: vectorScoreField,
|
|
190
|
+
DIALECT: 2,
|
|
191
|
+
LIMIT: {
|
|
192
|
+
from: 0,
|
|
193
|
+
size: k,
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
return [baseQuery, options];
|
|
197
|
+
}
|
|
198
|
+
prepareFilter(filter) {
|
|
199
|
+
return filter.map(this.escapeSpecialChars).join("|");
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Escapes all '-' characters.
|
|
203
|
+
* RediSearch considers '-' as a negative operator, hence we need
|
|
204
|
+
* to escape it
|
|
205
|
+
* @see https://redis.io/docs/stack/search/reference/query_syntax
|
|
206
|
+
*
|
|
207
|
+
* @param str
|
|
208
|
+
* @returns
|
|
209
|
+
*/
|
|
210
|
+
escapeSpecialChars(str) {
|
|
211
|
+
return str.replaceAll("-", "\\-");
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Unescapes all '-' characters, returning the original string
|
|
215
|
+
*
|
|
216
|
+
* @param str
|
|
217
|
+
* @returns
|
|
218
|
+
*/
|
|
219
|
+
unEscapeSpecialChars(str) {
|
|
220
|
+
return str.replaceAll("\\-", "-");
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Converts the vector to the buffer Redis needs to
|
|
224
|
+
* correctly store an embedding
|
|
225
|
+
*
|
|
226
|
+
* @param vector
|
|
227
|
+
* @returns Buffer
|
|
228
|
+
*/
|
|
229
|
+
getFloat32Buffer(vector) {
|
|
230
|
+
return Buffer.from(new Float32Array(vector).buffer);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../dist/document_loaders/web/apify_dataset.cjs');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../dist/document_loaders/web/apify_dataset.js'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../dist/document_loaders/web/apify_dataset.js'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "langchain",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.76",
|
|
4
4
|
"description": "Typescript bindings for langchain",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -124,6 +124,9 @@
|
|
|
124
124
|
"vectorstores/myscale.cjs",
|
|
125
125
|
"vectorstores/myscale.js",
|
|
126
126
|
"vectorstores/myscale.d.ts",
|
|
127
|
+
"vectorstores/redis.cjs",
|
|
128
|
+
"vectorstores/redis.js",
|
|
129
|
+
"vectorstores/redis.d.ts",
|
|
127
130
|
"text_splitter.cjs",
|
|
128
131
|
"text_splitter.js",
|
|
129
132
|
"text_splitter.d.ts",
|
|
@@ -142,6 +145,9 @@
|
|
|
142
145
|
"document_loaders/base.cjs",
|
|
143
146
|
"document_loaders/base.js",
|
|
144
147
|
"document_loaders/base.d.ts",
|
|
148
|
+
"document_loaders/web/apify_dataset.cjs",
|
|
149
|
+
"document_loaders/web/apify_dataset.js",
|
|
150
|
+
"document_loaders/web/apify_dataset.d.ts",
|
|
145
151
|
"document_loaders/web/cheerio.cjs",
|
|
146
152
|
"document_loaders/web/cheerio.js",
|
|
147
153
|
"document_loaders/web/cheerio.d.ts",
|
|
@@ -311,7 +317,7 @@
|
|
|
311
317
|
"clean": "rm -rf dist/ && node scripts/create-entrypoints.js clean",
|
|
312
318
|
"prepack": "yarn build",
|
|
313
319
|
"release": "release-it --only-version --config .release-it.json",
|
|
314
|
-
"test": "NODE_OPTIONS=--experimental-vm-modules jest --testPathIgnorePatterns=\\.int\\.test.ts",
|
|
320
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --testPathIgnorePatterns=\\.int\\.test.ts --testTimeout 30000",
|
|
315
321
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --testPathIgnorePatterns=\\.int\\.test.ts",
|
|
316
322
|
"test:integration": "NODE_OPTIONS=--experimental-vm-modules jest --testPathPattern=\\.int\\.test.ts --testTimeout 50000",
|
|
317
323
|
"test:single": "NODE_OPTIONS=--experimental-vm-modules yarn run jest --config jest.config.cjs --testTimeout 50000",
|
|
@@ -345,6 +351,7 @@
|
|
|
345
351
|
"@types/uuid": "^9",
|
|
346
352
|
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
|
347
353
|
"@typescript-eslint/parser": "^5.58.0",
|
|
354
|
+
"apify-client": "^2.7.1",
|
|
348
355
|
"axios": "^0.26.0",
|
|
349
356
|
"cheerio": "^1.0.0-rc.12",
|
|
350
357
|
"chromadb": "^1.4.0",
|
|
@@ -369,7 +376,7 @@
|
|
|
369
376
|
"playwright": "^1.32.1",
|
|
370
377
|
"prettier": "^2.8.3",
|
|
371
378
|
"puppeteer": "^19.7.2",
|
|
372
|
-
"redis": "^4.6.
|
|
379
|
+
"redis": "^4.6.6",
|
|
373
380
|
"release-it": "^15.10.1",
|
|
374
381
|
"replicate": "^0.9.0",
|
|
375
382
|
"rollup": "^3.19.1",
|
|
@@ -394,6 +401,7 @@
|
|
|
394
401
|
"@tensorflow/tfjs-converter": "*",
|
|
395
402
|
"@tensorflow/tfjs-core": "*",
|
|
396
403
|
"@zilliz/milvus2-sdk-node": "^2.2.0",
|
|
404
|
+
"apify-client": "^2.7.1",
|
|
397
405
|
"axios": "*",
|
|
398
406
|
"cheerio": "^1.0.0-rc.12",
|
|
399
407
|
"chromadb": "^1.4.0",
|
|
@@ -453,6 +461,9 @@
|
|
|
453
461
|
"@zilliz/milvus2-sdk-node": {
|
|
454
462
|
"optional": true
|
|
455
463
|
},
|
|
464
|
+
"apify-client": {
|
|
465
|
+
"optional": true
|
|
466
|
+
},
|
|
456
467
|
"axios": {
|
|
457
468
|
"optional": true
|
|
458
469
|
},
|
|
@@ -510,12 +521,11 @@
|
|
|
510
521
|
},
|
|
511
522
|
"dependencies": {
|
|
512
523
|
"@anthropic-ai/sdk": "^0.4.3",
|
|
513
|
-
"@dqbd/tiktoken": "^1.0.7",
|
|
514
524
|
"ansi-styles": "^5.0.0",
|
|
515
525
|
"binary-extensions": "^2.2.0",
|
|
516
|
-
"browser-or-node": "^2.1.1",
|
|
517
526
|
"expr-eval": "^2.0.2",
|
|
518
527
|
"flat": "^5.0.2",
|
|
528
|
+
"js-tiktoken": "^1.0.6",
|
|
519
529
|
"jsonpointer": "^5.0.1",
|
|
520
530
|
"ml-distance": "^4.0.0",
|
|
521
531
|
"object-hash": "^3.0.0",
|
|
@@ -746,6 +756,11 @@
|
|
|
746
756
|
"import": "./vectorstores/myscale.js",
|
|
747
757
|
"require": "./vectorstores/myscale.cjs"
|
|
748
758
|
},
|
|
759
|
+
"./vectorstores/redis": {
|
|
760
|
+
"types": "./vectorstores/redis.d.ts",
|
|
761
|
+
"import": "./vectorstores/redis.js",
|
|
762
|
+
"require": "./vectorstores/redis.cjs"
|
|
763
|
+
},
|
|
749
764
|
"./text_splitter": {
|
|
750
765
|
"types": "./text_splitter.d.ts",
|
|
751
766
|
"import": "./text_splitter.js",
|
|
@@ -778,6 +793,11 @@
|
|
|
778
793
|
"import": "./document_loaders/base.js",
|
|
779
794
|
"require": "./document_loaders/base.cjs"
|
|
780
795
|
},
|
|
796
|
+
"./document_loaders/web/apify_dataset": {
|
|
797
|
+
"types": "./document_loaders/web/apify_dataset.d.ts",
|
|
798
|
+
"import": "./document_loaders/web/apify_dataset.js",
|
|
799
|
+
"require": "./document_loaders/web/apify_dataset.cjs"
|
|
800
|
+
},
|
|
781
801
|
"./document_loaders/web/cheerio": {
|
|
782
802
|
"types": "./document_loaders/web/cheerio.d.ts",
|
|
783
803
|
"import": "./document_loaders/web/cheerio.js",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../dist/vectorstores/redis.cjs');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/vectorstores/redis.js'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/vectorstores/redis.js'
|
|
File without changes
|
|
File without changes
|