Compare commits

..

6 Commits

Author SHA1 Message Date
github-actions[bot] 510191cb5d Release 0.8.24 (#1531)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-30 06:05:47 -08:00
Jingyi Zhao 7934ade092 fix: add obsidian reader to index (#1533) 2024-11-30 01:29:45 -08:00
Jingyi Zhao a6c1eab762 feat: data connector for obsidian note taking app (#1529) 2024-11-29 22:39:59 -08:00
crisjy 515f2c1e3d feat: add AzureCosmosDBMongoVectorStore (#1528) 2024-11-28 17:53:09 -08:00
github-actions[bot] dc85649ead Release 0.8.23 (#1526)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-26 17:41:29 -08:00
Alex Yang d2b2722a30 fix: switch tokenizer in cloudflare (#1525) 2024-11-26 15:42:20 -08:00
68 changed files with 778 additions and 32 deletions
+13
View File
@@ -1,5 +1,18 @@
# docs
## 0.0.129
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.128
### Patch Changes
- llamaindex@0.8.23
## 0.0.127
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.0.127",
"version": "0.0.129",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
+18
View File
@@ -1,5 +1,23 @@
# @llamaindex/doc
## 0.0.27
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.26
### Patch Changes
- @llamaindex/cloud@2.0.15
- @llamaindex/core@0.4.15
- llamaindex@0.8.23
- @llamaindex/node-parser@0.0.16
- @llamaindex/openai@0.1.40
- @llamaindex/readers@1.0.17
## 0.0.25
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.0.25",
"version": "0.0.27",
"private": true,
"scripts": {
"build": "pnpm run build:docs && next build",
@@ -1,5 +1,18 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.120
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.119
### Patch Changes
- llamaindex@0.8.23
## 0.0.118
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.118",
"version": "0.0.120",
"type": "module",
"private": true,
"scripts": {
@@ -1,5 +1,11 @@
# @llamaindex/llama-parse-browser-test
## 0.0.35
### Patch Changes
- @llamaindex/cloud@2.0.15
## 0.0.34
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.34",
"version": "0.0.35",
"type": "module",
"scripts": {
"dev": "vite",
+13
View File
@@ -1,5 +1,18 @@
# @llamaindex/next-agent-test
## 0.1.120
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.1.119
### Patch Changes
- llamaindex@0.8.23
## 0.1.118
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.118",
"version": "0.1.120",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,18 @@
# test-edge-runtime
## 0.1.119
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.1.118
### Patch Changes
- llamaindex@0.8.23
## 0.1.117
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.117",
"version": "0.1.119",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,18 @@
# @llamaindex/next-node-runtime
## 0.0.101
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.100
### Patch Changes
- llamaindex@0.8.23
## 0.0.99
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.0.99",
"version": "0.0.101",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,18 @@
# @llamaindex/waku-query-engine-test
## 0.0.120
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.119
### Patch Changes
- llamaindex@0.8.23
## 0.0.118
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.118",
"version": "0.0.120",
"type": "module",
"private": true,
"scripts": {
+2 -1
View File
@@ -15,7 +15,8 @@
"start:llamaparse-dir": "node --import tsx ./src/simple-directory-reader-with-llamaparse.ts",
"start:llamaparse-json": "node --import tsx ./src/llamaparse-json.ts",
"start:discord": "node --import tsx ./src/discord.ts",
"start:json": "node --import tsx ./src/json.ts"
"start:json": "node --import tsx ./src/json.ts",
"start:obsidian": "node --import tsx ./src/obsidian.ts"
},
"dependencies": {
"@llamaindex/readers": "*",
+12
View File
@@ -0,0 +1,12 @@
import { ObsidianReader } from "@llamaindex/readers/obsidian";
const obsidianReader = new ObsidianReader(
"/Users/jingyi/Documents/jingyi-vault",
);
obsidianReader.loadData().then((documents) => {
console.log("documents:", documents.length);
documents.forEach((doc) => {
console.log(`document (${doc.id_}):`, doc.getText());
});
});
+13
View File
@@ -1,5 +1,18 @@
# @llamaindex/autotool
## 5.0.24
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 5.0.23
### Patch Changes
- llamaindex@0.8.23
## 5.0.22
### Patch Changes
@@ -1,5 +1,20 @@
# @llamaindex/autotool-01-node-example
## 0.0.67
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
- @llamaindex/autotool@5.0.24
## 0.0.66
### Patch Changes
- llamaindex@0.8.23
- @llamaindex/autotool@5.0.23
## 0.0.65
### Patch Changes
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.65"
"version": "0.0.67"
}
@@ -1,5 +1,20 @@
# @llamaindex/autotool-02-next-example
## 0.1.111
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
- @llamaindex/autotool@5.0.24
## 0.1.110
### Patch Changes
- llamaindex@0.8.23
- @llamaindex/autotool@5.0.23
## 0.1.109
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool-02-next-example",
"private": true,
"version": "0.1.109",
"version": "0.1.111",
"scripts": {
"dev": "next dev",
"build": "next build",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool",
"type": "module",
"version": "5.0.22",
"version": "5.0.24",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/cloud
## 2.0.15
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 2.0.14
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "2.0.14",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"scripts": {
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/community
## 0.0.73
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.72
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.72",
"version": "0.0.73",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/core
## 0.4.15
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
## 0.4.14
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.4.14",
"version": "0.4.15",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
+6
View File
@@ -1,5 +1,11 @@
# @llamaindex/env
## 0.1.23
### Patch Changes
- d2b2722: fix: switch tokenizer in cloudflare
## 0.1.22
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/env",
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
"version": "0.1.22",
"version": "0.1.23",
"type": "module",
"types": "dist/index.d.ts",
"module": "dist/index.js",
+1 -1
View File
@@ -2,4 +2,4 @@ export {
Tokenizers,
tokenizers,
type Tokenizer,
} from "./internal/tokenizers/js.js";
} from "./internal/tokenizers/node.js";
+13
View File
@@ -1,5 +1,18 @@
# @llamaindex/experimental
## 0.0.136
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.135
### Patch Changes
- llamaindex@0.8.23
## 0.0.134
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.134",
"version": "0.0.136",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+27
View File
@@ -1,5 +1,32 @@
# llamaindex
## 0.8.24
### Patch Changes
- 515f2c1: Add vector store for CosmosDB
## 0.8.23
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/cloud@2.0.15
- @llamaindex/core@0.4.15
- @llamaindex/node-parser@0.0.16
- @llamaindex/anthropic@0.0.24
- @llamaindex/clip@0.0.24
- @llamaindex/deepinfra@0.0.24
- @llamaindex/groq@0.0.39
- @llamaindex/huggingface@0.0.24
- @llamaindex/ollama@0.0.31
- @llamaindex/openai@0.1.40
- @llamaindex/portkey-ai@0.0.24
- @llamaindex/replicate@0.0.24
- @llamaindex/readers@1.0.17
- @llamaindex/vllm@0.0.10
## 0.8.22
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.8.22",
"version": "0.8.24",
"license": "MIT",
"type": "module",
"keywords": [
+1
View File
@@ -15,5 +15,6 @@ export * from "@llamaindex/readers/json";
export * from "@llamaindex/readers/markdown";
export * from "@llamaindex/readers/mongo";
export * from "@llamaindex/readers/notion";
export * from "@llamaindex/readers/obsidian";
export * from "@llamaindex/readers/pdf";
export * from "@llamaindex/readers/text";
@@ -0,0 +1,328 @@
import type { BaseNode } from "@llamaindex/core/schema";
import { MetadataMode } from "@llamaindex/core/schema";
import { getEnv } from "@llamaindex/env";
import { Collection, Db, MongoClient } from "mongodb";
import {
BaseVectorStore,
type VectorStoreBaseParams,
type VectorStoreQuery,
type VectorStoreQueryResult,
} from "./types.js";
import { metadataDictToNode, nodeToMetadata } from "./utils.js";
/** Azure Cosmos DB for MongoDB vCore Similarity type. */
export const AzureCosmosDBMongoDBSimilarityType = {
/** Cosine similarity */
COS: "COS",
/** Inner - product */
IP: "IP",
/** Euclidian distance */
L2: "L2",
} as const;
/** Azure Cosmos DB for MongoDB vCore Similarity type. */
export type AzureCosmosDBMongoDBSimilarityType =
(typeof AzureCosmosDBMongoDBSimilarityType)[keyof typeof AzureCosmosDBMongoDBSimilarityType];
/** Azure Cosmos DB for MongoDB vCore Index Options. */
export type AzureCosmosDBMongoDBIndexOptions = {
readonly indexType?: "ivf" | "hnsw" | "diskann" | undefined;
/** Number of clusters that the inverted file (IVF) index uses to group the vector data. */
readonly numLists?: number | undefined;
/** Number of dimensions for vector similarity. */
readonly dimensions?: number | undefined;
/** Similarity metric to use with the IVF index. */
readonly similarity?: AzureCosmosDBMongoDBSimilarityType | undefined;
/** The max number of connections per layer with the HNSW index. */
readonly m?: number | undefined;
/** The size of the dynamic candidate list for constructing the graph with the HNSW index. */
readonly efConstruction?: number | undefined;
/** Max number of neighbors withe the Diskann idnex */
readonly maxDegree?: number | undefined;
/** L value for index building withe the Diskann idnex */
readonly lBuild?: number | undefined;
/** L value for index searching withe the Diskann idnex */
readonly lSearch?: number | undefined;
};
/**
* Azure Cosmos DB for MongoDB vCore vector store.
* To use this, you should have both:
* - the `mongodb` NPM package installed
* - a connection string associated with a MongoDB VCore Cluster
*
* You do not need to create a database or collection, it will be created
* automatically.
*
* You also need an index on the collection, which is by default be created
* automatically using the `createIndex` method.
*/
export class AzureCosmosDBMongoDBVectorStore extends BaseVectorStore {
storesText: boolean = true;
flatMetadata: boolean = true;
dbName: string;
collectionName: string;
indexedMetadataFields: string[];
/**
* The used MongoClient. If not given, a new MongoClient is created based on the MONGODB_URI env variable.
*/
mongodbClient: MongoClient;
indexName: string;
embeddingKey: string;
idKey: string;
textKey: string;
metadataKey: string;
indexOptions: AzureCosmosDBMongoDBIndexOptions;
private collection?: Collection;
private database: Db;
constructor(
init: Partial<AzureCosmosDBMongoDBVectorStore> & {
dbName: string;
collectionName: string;
indexedMetadataFields?: string[];
} & VectorStoreBaseParams,
) {
super(init);
if (init.mongodbClient) {
this.mongodbClient = init.mongodbClient;
} else {
const mongoUri = getEnv("AZURE_COSMOSDB_MONGODB_CONNECTION_STRING");
if (!mongoUri) {
throw new Error(
"AzureCosmosDBMongoDBVectorStore client or connection string must be set.",
);
}
this.mongodbClient = new MongoClient(mongoUri);
}
this.dbName = init.dbName ?? "documentsDB";
this.collectionName = init.collectionName ?? "documents";
this.indexedMetadataFields = init.indexedMetadataFields ?? [];
this.indexName = init.indexName ?? "vectorSearchIndex";
this.embeddingKey = init.embeddingKey ?? "vectorContent";
this.idKey = init.idKey ?? "id";
this.textKey = init.textKey ?? "text";
this.metadataKey = init.metadataKey ?? "metadata";
this.indexOptions = init.indexOptions ?? {};
this.database = this.mongodbClient.db(this.dbName);
}
client() {
return this.mongodbClient;
}
async ensureCollection() {
if (!this.collection) {
const collection = await this.mongodbClient
.db(this.dbName)
.createCollection(this.collectionName);
this.collection = collection;
}
return this.collection;
}
async add(nodes: BaseNode[]): Promise<string[]> {
if (!nodes || nodes.length === 0) {
return [];
}
const dataToInsert = nodes.map((node) => {
const metadata = nodeToMetadata(
node,
true,
this.textKey,
this.flatMetadata,
);
// Include the specified metadata fields in the top level of the document (to help filter)
const populatedMetadata: Record<string, unknown> = {};
for (const field of this.indexedMetadataFields) {
populatedMetadata[field] = metadata[field];
}
return {
[this.idKey]: node.id_,
[this.embeddingKey]: node.getEmbedding(),
[this.textKey]: node.getContent(MetadataMode.NONE) || "",
[this.metadataKey]: metadata,
...populatedMetadata,
};
});
const collection = await this.ensureCollection();
const insertResult = await collection.insertMany(dataToInsert);
return Object.values(insertResult.insertedIds).map((id) => String(id));
}
/**
* Removes specified documents from the AzureCosmosDBMongoDBVectorStore.
* @param params Parameters for the delete operation.
* @returns A promise that resolves when the documents have been removed.
*/
async delete(id: string, deleteOptions?: object): Promise<void> {
const collection = await this.ensureCollection();
await collection.deleteMany(
{
id: id,
},
deleteOptions,
);
}
async query(
query: VectorStoreQuery,
options?: object,
): Promise<VectorStoreQueryResult> {
const pipeline = [
{
$search: {
cosmosSearch: {
vector: query.queryEmbedding,
path: this.embeddingKey,
k: query.similarityTopK ?? 4,
},
returnStoredSource: true,
},
},
];
const collection = await this.ensureCollection();
const cursor = await collection.aggregate(pipeline);
const nodes: BaseNode[] = [];
const ids: string[] = [];
const similarities: number[] = [];
for await (const res of await cursor) {
const text = res[this.textKey];
const score = res.score;
const id = res[this.idKey];
const metadata = res[this.metadataKey];
const node = metadataDictToNode(metadata);
node.setContent(text);
ids.push(id);
nodes.push(node);
similarities.push(score);
}
const result = {
nodes,
similarities,
ids,
};
return result;
}
/**
* Creates an index on the collection with the specified index name during
* instance construction.
*
* Setting the numLists parameter correctly is important for achieving good
* accuracy and performance.
* Since the vector store uses IVF as the indexing strategy, you should
* create the index only after you have loaded a large enough sample
* documents to ensure that the centroids for the respective buckets are
* faily distributed.
*
* @param indexType Index Type for Mongo vCore index.
* @param dimensions Number of dimensions for vector similarity.
* The maximum number of supported dimensions is 2000.
* If no number is provided, it will be determined automatically by
* embedding a short text.
* @param similarity Similarity metric to use with the IVF index.
* Possible options are:
* - CosmosDBSimilarityType.COS (cosine distance)
* - CosmosDBSimilarityType.L2 (Euclidean distance)
* - CosmosDBSimilarityType.IP (inner product)
* @returns A promise that resolves when the index has been created.
*/
async createIndex(
dimensions: number | undefined = undefined,
indexType: "ivf" | "hnsw" | "diskann" = "ivf",
similarity: AzureCosmosDBMongoDBSimilarityType = AzureCosmosDBMongoDBSimilarityType.COS,
): Promise<void> {
let vectorLength = dimensions;
if (vectorLength === undefined) {
vectorLength = 1536;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const cosmosSearchOptions: any = {
kind: "",
similarity,
dimensions: vectorLength,
};
if (indexType === "hnsw") {
cosmosSearchOptions.kind = "vector-hnsw";
cosmosSearchOptions.m = this.indexOptions.m ?? 16;
cosmosSearchOptions.efConstruction =
this.indexOptions.efConstruction ?? 200;
} else if (indexType === "diskann") {
cosmosSearchOptions.kind = "vector-diskann";
cosmosSearchOptions.maxDegree = this.indexOptions.maxDegree ?? 40;
cosmosSearchOptions.lBuild = this.indexOptions.lBuild ?? 50;
cosmosSearchOptions.lSearch = this.indexOptions.lSearch ?? 40;
/** Default to IVF index */
} else {
cosmosSearchOptions.kind = "vector-ivf";
cosmosSearchOptions.numLists = this.indexOptions.numLists ?? 100;
}
const createIndexCommands = {
createIndexes: this.collection?.collectionName,
indexes: [
{
name: this.indexName,
key: { [this.embeddingKey]: "cosmosSearch" },
cosmosSearchOptions,
},
],
};
await this.database.command(createIndexCommands);
}
/**
* Checks if the specified index name during instance construction exists
* on the collection.
* @returns A promise that resolves to a boolean indicating if the index exists.
*/
async checkIndexExists(): Promise<boolean> {
const collection = await this.ensureCollection();
const indexes = await collection.listIndexes().toArray();
return indexes.some((index) => index.name === this.indexName);
}
/**
* Deletes the index specified during instance construction if it exists.
* @returns A promise that resolves when the index has been deleted.
*/
async deleteIndex(indexName: string): Promise<void> {
const collection = await this.ensureCollection();
const indexes = await collection.listIndexes().toArray();
const indexToDelete = indexes.find((index) => index.name === indexName);
if (indexToDelete) {
await collection.dropIndex(indexName);
}
}
}
@@ -1,4 +1,5 @@
export * from "./AstraDBVectorStore.js";
export * from "./AzureCosmosDBMongoVectorStore.js";
export * from "./AzureCosmosDBNoSqlVectorStore.js";
export * from "./ChromaVectorStore.js";
export * from "./MilvusVectorStore.js";
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/node-parser
## 0.0.16
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.15
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/node-parser",
"version": "0.0.15",
"version": "0.0.16",
"description": "Node parser for LlamaIndex",
"type": "module",
"exports": {
@@ -1,5 +1,13 @@
# @llamaindex/anthropic
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/anthropic",
"description": "Anthropic Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+9
View File
@@ -1,5 +1,14 @@
# @llamaindex/clip
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
- @llamaindex/openai@0.1.40
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/clip",
"description": "Clip Embedding Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
@@ -1,5 +1,14 @@
# @llamaindex/deepinfra
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
- @llamaindex/openai@0.1.40
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepinfra",
"description": "Deepinfra Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/groq
## 0.0.39
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/openai@0.1.40
## 0.0.38
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/groq",
"description": "Groq Adapter for LlamaIndex",
"version": "0.0.38",
"version": "0.0.39",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -1,5 +1,14 @@
# @llamaindex/huggingface
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
- @llamaindex/openai@0.1.40
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/huggingface",
"description": "Huggingface Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/ollama
## 0.0.31
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.30
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/ollama",
"description": "Ollama Adapter for LlamaIndex",
"version": "0.0.30",
"version": "0.0.31",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/openai
## 0.1.40
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.1.39
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/openai",
"description": "OpenAI Adapter for LlamaIndex",
"version": "0.1.39",
"version": "0.1.40",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -1,5 +1,13 @@
# @llamaindex/portkey-ai
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/portkey-ai",
"description": "Portkey Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -1,5 +1,13 @@
# @llamaindex/replicate
## 0.0.24
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/replicate",
"description": "Replicate Adapter for LlamaIndex",
"version": "0.0.23",
"version": "0.0.24",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+6
View File
@@ -1,5 +1,11 @@
# @llamaindex/vllm
## 0.0.10
### Patch Changes
- @llamaindex/openai@0.1.40
## 0.0.9
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/vllm",
"description": "vLLM Adapter for LlamaIndex",
"version": "0.0.9",
"version": "0.0.10",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/readers
## 1.0.17
### Patch Changes
- Updated dependencies [d2b2722]
- @llamaindex/env@0.1.23
- @llamaindex/core@0.4.15
## 1.0.16
### Patch Changes
+14
View File
@@ -0,0 +1,14 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"edge-light": "./dist/index.edge-light.js",
"workerd": "./dist/index.workerd.js",
"default": "./dist/index.js"
}
},
"private": true
}
+20 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/readers",
"description": "LlamaIndex Readers",
"version": "1.0.16",
"version": "1.0.17",
"type": "module",
"exports": {
"./node/hook": "./node/dist/hook.js",
@@ -142,6 +142,24 @@
"default": "./notion/dist/index.js"
}
},
"./obsidian": {
"edge-light": {
"types": "./obsidian/dist/index.edge-light.d.ts",
"default": "./obsidian/dist/index.edge-light.js"
},
"workerd": {
"types": "./obsidian/dist/index.workerd.d.ts",
"default": "./obsidian/dist/index.workerd.js"
},
"require": {
"types": "./obsidian/dist/index.d.cts",
"default": "./obsidian/dist/index.cjs"
},
"import": {
"types": "./obsidian/dist/index.d.ts",
"default": "./obsidian/dist/index.js"
}
},
"./pdf": {
"require": {
"types": "./pdf/dist/index.d.cts",
@@ -176,6 +194,7 @@
"markdown",
"mongo",
"notion",
"obsidian",
"pdf",
"text",
"node"
+41
View File
@@ -0,0 +1,41 @@
import { type BaseReader, Document } from "@llamaindex/core/schema";
import * as fs from "node:fs";
import path from "node:path";
import { MarkdownReader } from "./markdown";
export class ObsidianReader implements BaseReader<Document> {
protected inputDir: string;
protected docs: Document[] = [];
constructor(inputDir: string) {
this.inputDir = inputDir;
}
private async processPath(file: fs.Dirent, filepath: string) {
if (file.isDirectory() && !file.name.startsWith(".")) {
await this.readFromPath(filepath);
} else if (file.isFile() && file.name.endsWith(".md")) {
await this.convertToDocuments(filepath);
} else {
console.log(`Skipping ${filepath}`);
}
}
private async readFromPath(dir: string) {
const files = await fs.promises.readdir(dir, { withFileTypes: true });
for (const file of files) {
const filepath = path.join(dir, file.name);
await this.processPath(file, filepath);
}
}
private async convertToDocuments(filepath: string) {
const content = await new MarkdownReader().loadData(filepath);
this.docs.push(...content);
}
async loadData(): Promise<Document[]> {
await this.readFromPath(this.inputDir);
return this.docs;
}
}
+18
View File
@@ -1,5 +1,23 @@
# @llamaindex/unit-test
## 0.0.34
### Patch Changes
- Updated dependencies [515f2c1]
- llamaindex@0.8.24
## 0.0.33
### Patch Changes
- @llamaindex/cloud@2.0.15
- @llamaindex/core@0.4.15
- llamaindex@0.8.23
- @llamaindex/node-parser@0.0.16
- @llamaindex/openai@0.1.40
- @llamaindex/readers@1.0.17
## 0.0.32
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/unit-test",
"private": true,
"version": "0.0.32",
"version": "0.0.34",
"type": "module",
"scripts": {
"test": "vitest run"