From f4588bc7709aa9875125e5ea87be72a9bc464046 Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Wed, 12 Feb 2025 17:16:41 +0700 Subject: [PATCH] chore: Remove readers package from llamaindex (#1649) --- .changeset/weak-ants-kick.md | 8 ++ .vscode/ltex.dictionary.en-US.txt | 1 + README.md | 40 ++------ .../docs/llamaindex/guide/agents/1_setup.mdx | 2 +- .../llamaindex/guide/agents/4_agentic_rag.mdx | 2 +- .../docs/llamaindex/guide/loading/index.mdx | 97 ++++++++++--------- .../query_engines/router_query_engine.mdx | 4 +- e2e/examples/nextjs-node-runtime/package.json | 1 + .../nextjs-node-runtime/src/actions/openai.ts | 2 +- e2e/examples/waku-query-engine/package.json | 1 + e2e/examples/waku-query-engine/src/actions.ts | 5 +- examples/agent/query_openai_agent.ts | 7 +- examples/agent/retriever_openai_agent.ts | 2 +- examples/agent/step_wise_query_tool.ts | 7 +- examples/directory.ts | 2 +- examples/multimodal/jina.ts | 2 +- examples/multimodal/load.ts | 3 +- examples/pinecone-vector-store/load-docs.ts | 7 +- .../src/custom-simple-directory-reader.ts | 8 +- ...simple-directory-reader-with-llamaparse.ts | 3 +- .../readers/src/simple-directory-reader.ts | 4 +- examples/routerQueryEngine.ts | 2 +- examples/vector-store/azure/index.ts | 2 +- examples/vector-store/pg/load-docs.ts | 7 +- examples/vector-store/pg/supabase.ts | 7 +- packages/llamaindex/package.json | 1 - packages/llamaindex/src/index.ts | 6 +- packages/llamaindex/src/readers/index.ts | 20 ---- pnpm-lock.yaml | 9 +- unit/readers/SimpleCosmosDBReader.test.ts | 2 +- unit/readers/register.test.ts | 2 +- 31 files changed, 110 insertions(+), 156 deletions(-) create mode 100644 .changeset/weak-ants-kick.md create mode 100644 .vscode/ltex.dictionary.en-US.txt delete mode 100644 packages/llamaindex/src/readers/index.ts diff --git a/.changeset/weak-ants-kick.md b/.changeset/weak-ants-kick.md new file mode 100644 index 000000000..62bc3c2a1 --- /dev/null +++ b/.changeset/weak-ants-kick.md @@ -0,0 +1,8 @@ +--- +"llamaindex": minor +"@llamaindex/doc": minor +"@llamaindex/examples": minor +"@llamaindex/unit-test": minor +--- + +Remove readers package from llamaindex diff --git a/.vscode/ltex.dictionary.en-US.txt b/.vscode/ltex.dictionary.en-US.txt new file mode 100644 index 000000000..120ae4c4b --- /dev/null +++ b/.vscode/ltex.dictionary.en-US.txt @@ -0,0 +1 @@ +LlamaIndexTS diff --git a/README.md b/README.md index 433e92c73..563556922 100644 --- a/README.md +++ b/README.md @@ -65,44 +65,18 @@ yarn add llamaindex See our official document: <https://ts.llamaindex.ai/docs/llamaindex/getting_started/> -### Tips when using in non-Node.js environments +### Adding provider packages -When you are importing `llamaindex` in a non-Node.js environment(such as Vercel Edge, Cloudflare Workers, etc.) -Some classes are not exported from top-level entry file. +In most cases, you'll also need to install provider packages to use LlamaIndexTS. These are for adding AI models, file readers for ingestion or storing documents, e.g. in vector databases. -The reason is that some classes are only compatible with Node.js runtime,(e.g. `PDFReader`) which uses Node.js specific APIs(like `fs`, `child_process`, `crypto`). +For example, to use the OpenAI LLM, you would install the following package: -If you need any of those classes, you have to import them instead directly though their file path in the package. -Here's an example for importing the `PineconeVectorStore` class: - -```typescript -import { PineconeVectorStore } from "llamaindex/vector-store/PineconeVectorStore"; -``` - -As the `PDFReader` is not working with the Edge runtime, here's how to use the `SimpleDirectoryReader` with the `LlamaParseReader` to load PDFs: - -```typescript -import { SimpleDirectoryReader } from "llamaindex/readers/SimpleDirectoryReader"; -import { LlamaParseReader } from "llamaindex/readers/LlamaParseReader"; - -export const DATA_DIR = "./data"; - -export async function getDocuments() { - const reader = new SimpleDirectoryReader(); - // Load PDFs using LlamaParseReader - return await reader.loadData({ - directoryPath: DATA_DIR, - fileExtToReader: { - pdf: new LlamaParseReader({ resultType: "markdown" }), - }, - }); -} +```shell +npm install @llamaindex/openai +pnpm install @llamaindex/openai +yarn add @llamaindex/openai ``` -> _Note_: Reader classes have to be added explictly to the `fileExtToReader` map in the Edge version of the `SimpleDirectoryReader`. - -You'll find a complete example with LlamaIndexTS here: https://github.com/run-llama/create_llama_projects/tree/main/nextjs-edge-llamaparse - ## Playground Check out our NextJS playground at https://llama-playground.vercel.app/. The source is available at https://github.com/run-llama/ts-playground diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx index 022308116..5a35bd322 100644 --- a/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx +++ b/apps/next/src/content/docs/llamaindex/guide/agents/1_setup.mdx @@ -15,7 +15,7 @@ In LlamaIndex, an agent is a semi-autonomous piece of software powered by an LLM You'll need to have a recent version of [Node.js](https://nodejs.org/en) installed. Then you can install LlamaIndex.TS by running ```bash -npm install llamaindex +npm install llamaindex @llamaindex/openai @llamaindex/readers @llamaindex/huggingface ``` ## Choose your model diff --git a/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx b/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx index b690120fb..ff991b346 100644 --- a/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx +++ b/apps/next/src/content/docs/llamaindex/guide/agents/4_agentic_rag.mdx @@ -40,7 +40,7 @@ We'll be bringing in `SimpleDirectoryReader`, `HuggingFaceEmbedding`, `VectorSto import { FunctionTool, QueryEngineTool, Settings, VectorStoreIndex } from "llamaindex"; import { OpenAI, OpenAIAgent } from "@llamaindex/openai"; import { HuggingFaceEmbedding } from "@llamaindex/huggingface"; -import { SimpleDirectoryReader } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; ``` ### Add an embedding model diff --git a/apps/next/src/content/docs/llamaindex/guide/loading/index.mdx b/apps/next/src/content/docs/llamaindex/guide/loading/index.mdx index 91d91868f..42611dd03 100644 --- a/apps/next/src/content/docs/llamaindex/guide/loading/index.mdx +++ b/apps/next/src/content/docs/llamaindex/guide/loading/index.mdx @@ -10,7 +10,7 @@ import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'; <Accordions> <Accordion title="Install @llamaindex/readers"> - If you want to only use reader modules, you can install `@llamaindex/readers` + If you want to use the reader module, you need to install `@llamaindex/readers` <Tabs groupId="install-llamaindex" items={["npm", "yarn", "pnpm"]} persist> ```shell tab="npm" @@ -31,72 +31,73 @@ import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'; We offer readers for different file formats. -<Tabs groupId="llamaindex-or-readers" items={["llamaindex", "@llamaindex/readers"]} persist> - ```ts twoslash tab="llamaindex" - import { CSVReader } from '@llamaindex/readers/csv' - import { PDFReader } from '@llamaindex/readers/pdf' - import { JSONReader } from '@llamaindex/readers/json' - import { MarkdownReader } from '@llamaindex/readers/markdown' - import { HTMLReader } from '@llamaindex/readers/html' - // you can find more readers in the documentation - ``` - - ```ts twoslash tab="@llamaindex/readers" - import { CSVReader } from '@llamaindex/readers/csv' - import { PDFReader } from '@llamaindex/readers/pdf' - import { JSONReader } from '@llamaindex/readers/json' - import { MarkdownReader } from '@llamaindex/readers/markdown' - import { HTMLReader } from '@llamaindex/readers/html' - // you can find more readers in the documentation - ``` - -</Tabs> +```ts twoslash +import { CSVReader } from '@llamaindex/readers/csv' +import { PDFReader } from '@llamaindex/readers/pdf' +import { JSONReader } from '@llamaindex/readers/json' +import { MarkdownReader } from '@llamaindex/readers/markdown' +import { HTMLReader } from '@llamaindex/readers/html' +// you can find more readers in the documentation +``` ## SimpleDirectoryReader `SimpleDirectoryReader` is the simplest way to load data from local files into LlamaIndex. -<Tabs groupId="llamaindex-or-readers" items={["llamaindex", "@llamaindex/readers"]} persist> +```ts twoslash +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; - ```ts twoslash tab="llamaindex" - import { SimpleDirectoryReader } from "llamaindex"; +const reader = new SimpleDirectoryReader() +const documents = await reader.loadData("./data") +// ^? - const reader = new SimpleDirectoryReader() - const documents = await reader.loadData("./data") - // ^? +const texts = documents.map(doc => doc.getText()) +// ^? +``` - const texts = documents.map(doc => doc.getText()) - // ^? - ``` - ```ts twoslash tab="@llamaindex/readers" - import { SimpleDirectoryReader } from "llamaindex"; +## Tips when using in non-Node.js environments - const reader = new SimpleDirectoryReader() - const documents = await reader.loadData("./data") - // ^? +When using `@llamaindex/readers` in a non-Node.js environment (such as Vercel Edge, Cloudflare Workers, etc.) +Some classes are not exported from top-level entry file. +The reason is that some classes are only compatible with Node.js runtime, (e.g. `PDFReader`) which uses Node.js specific APIs (like `fs`, `child_process`, `crypto`). - const texts = documents.map(doc => doc.getText()) - // ^? - ``` +If you need any of those classes, you have to import them instead directly through their file path in the package. + +As the `PDFReader` is not working with the Edge runtime, here's how to use the `SimpleDirectoryReader` with the `LlamaParseReader` to load PDFs: + +```typescript +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { LlamaParseReader } from "@llamaindex/cloud"; + +export const DATA_DIR = "./data"; + +export async function getDocuments() { + const reader = new SimpleDirectoryReader(); + // Load PDFs using LlamaParseReader + return await reader.loadData({ + directoryPath: DATA_DIR, + fileExtToReader: { + pdf: new LlamaParseReader({ resultType: "markdown" }), + }, + }); +} +``` + +> _Note_: Reader classes have to be added explicitly to the `fileExtToReader` map in the Edge version of the `SimpleDirectoryReader`. + +You'll find a complete example with LlamaIndexTS here: https://github.com/run-llama/create_llama_projects/tree/main/nextjs-edge-llamaparse -</Tabs> ## Load file natively using Node.js Customization Hooks We have a helper utility to allow you to import a file in Node.js script. -<Tabs groupId="llamaindex-or-readers" items={["llamaindex", "@llamaindex/readers"]} persist> - ```shell tab="llamaindex" - node --import llamaindex/register ./script.js - ``` - - ```shell tab="@llamaindex/readers" - node --import @llamaindex/readers/node ./script.js - ``` -</Tabs> +```shell +node --import @llamaindex/readers/node ./script.js +``` ```ts import csv from './path/to/data.csv'; diff --git a/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx b/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx index 5322ecbf2..ba07d0909 100644 --- a/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx +++ b/apps/next/src/content/docs/llamaindex/modules/query_engines/router_query_engine.mdx @@ -34,7 +34,7 @@ import { Settings, } from "llamaindex"; import { OpenAI } from "@llamaindex/openai"; -import { SimpleDirectoryReader } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; ``` ## Loading Data @@ -124,7 +124,7 @@ import { Settings, } from "llamaindex"; import { OpenAI } from "@llamaindex/openai"; -import { SimpleDirectoryReader } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; Settings.llm = new OpenAI(); Settings.nodeParser = new SentenceSplitter({ diff --git a/e2e/examples/nextjs-node-runtime/package.json b/e2e/examples/nextjs-node-runtime/package.json index 6f2350627..d9b91b45d 100644 --- a/e2e/examples/nextjs-node-runtime/package.json +++ b/e2e/examples/nextjs-node-runtime/package.json @@ -10,6 +10,7 @@ "dependencies": { "llamaindex": "workspace:*", "@llamaindex/huggingface": "workspace:*", + "@llamaindex/readers": "workspace:*", "next": "15.0.3", "react": "18.3.1", "react-dom": "18.3.1" diff --git a/e2e/examples/nextjs-node-runtime/src/actions/openai.ts b/e2e/examples/nextjs-node-runtime/src/actions/openai.ts index a69877a93..65464435f 100644 --- a/e2e/examples/nextjs-node-runtime/src/actions/openai.ts +++ b/e2e/examples/nextjs-node-runtime/src/actions/openai.ts @@ -1,11 +1,11 @@ "use server"; import { HuggingFaceEmbedding } from "@llamaindex/huggingface"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import { OpenAI, OpenAIAgent, QueryEngineTool, Settings, - SimpleDirectoryReader, VectorStoreIndex, } from "llamaindex"; diff --git a/e2e/examples/waku-query-engine/package.json b/e2e/examples/waku-query-engine/package.json index c3f2953cd..c6bf2ff15 100644 --- a/e2e/examples/waku-query-engine/package.json +++ b/e2e/examples/waku-query-engine/package.json @@ -9,6 +9,7 @@ "start": "waku start" }, "dependencies": { + "@llamaindex/env": "workspace:*", "llamaindex": "workspace:*", "react": "19.0.0-rc-5c56b873-20241107", "react-dom": "19.0.0-rc-5c56b873-20241107", diff --git a/e2e/examples/waku-query-engine/src/actions.ts b/e2e/examples/waku-query-engine/src/actions.ts index 8978b12c8..8e683c1d8 100644 --- a/e2e/examples/waku-query-engine/src/actions.ts +++ b/e2e/examples/waku-query-engine/src/actions.ts @@ -1,13 +1,14 @@ "use server"; +import { fs } from "@llamaindex/env"; import { BaseQueryEngine, Document, VectorStoreIndex } from "llamaindex"; -import { readFile } from "node:fs/promises"; + let _queryEngine: BaseQueryEngine; async function lazyLoadQueryEngine() { if (!_queryEngine) { const path = "node_modules/llamaindex/examples/abramov.txt"; - const essay = await readFile(path, "utf-8"); + const essay = await fs.readFile(path, "utf-8"); // Create Document object with essay const document = new Document({ text: essay, id_: path }); diff --git a/examples/agent/query_openai_agent.ts b/examples/agent/query_openai_agent.ts index 7ad7d0760..58f126c01 100644 --- a/examples/agent/query_openai_agent.ts +++ b/examples/agent/query_openai_agent.ts @@ -1,9 +1,6 @@ import { OpenAIAgent } from "@llamaindex/openai"; -import { - QueryEngineTool, - SimpleDirectoryReader, - VectorStoreIndex, -} from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { QueryEngineTool, VectorStoreIndex } from "llamaindex"; async function main() { // Load the documents diff --git a/examples/agent/retriever_openai_agent.ts b/examples/agent/retriever_openai_agent.ts index a3b196285..ffa67310c 100644 --- a/examples/agent/retriever_openai_agent.ts +++ b/examples/agent/retriever_openai_agent.ts @@ -1,9 +1,9 @@ import { OpenAIAgent } from "@llamaindex/openai"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import { FunctionTool, MetadataMode, NodeWithScore, - SimpleDirectoryReader, VectorStoreIndex, } from "llamaindex"; diff --git a/examples/agent/step_wise_query_tool.ts b/examples/agent/step_wise_query_tool.ts index c3d0f575d..fbaf7e486 100644 --- a/examples/agent/step_wise_query_tool.ts +++ b/examples/agent/step_wise_query_tool.ts @@ -1,9 +1,6 @@ import { OpenAIAgent } from "@llamaindex/openai"; -import { - QueryEngineTool, - SimpleDirectoryReader, - VectorStoreIndex, -} from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { QueryEngineTool, VectorStoreIndex } from "llamaindex"; async function main() { // Load the documents diff --git a/examples/directory.ts b/examples/directory.ts index b92ad82da..800ac4ceb 100644 --- a/examples/directory.ts +++ b/examples/directory.ts @@ -1,4 +1,4 @@ -import { SimpleDirectoryReader } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; function callback( category: string, diff --git a/examples/multimodal/jina.ts b/examples/multimodal/jina.ts index 7ce2f3cf8..1c3081d0f 100644 --- a/examples/multimodal/jina.ts +++ b/examples/multimodal/jina.ts @@ -1,9 +1,9 @@ +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import { ImageDocument, JinaAIEmbedding, similarity, SimilarityType, - SimpleDirectoryReader, } from "llamaindex"; import path from "path"; diff --git a/examples/multimodal/load.ts b/examples/multimodal/load.ts index c1a9f68c4..a824f132b 100644 --- a/examples/multimodal/load.ts +++ b/examples/multimodal/load.ts @@ -1,4 +1,5 @@ -import { Settings, SimpleDirectoryReader, VectorStoreIndex } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { Settings, VectorStoreIndex } from "llamaindex"; import path from "path"; import { getStorageContext } from "./storage"; diff --git a/examples/pinecone-vector-store/load-docs.ts b/examples/pinecone-vector-store/load-docs.ts index 1c6a15758..736a6cc8d 100755 --- a/examples/pinecone-vector-store/load-docs.ts +++ b/examples/pinecone-vector-store/load-docs.ts @@ -1,11 +1,8 @@ // load-docs.ts import { PineconeVectorStore } from "@llamaindex/pinecone"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import fs from "fs/promises"; -import { - SimpleDirectoryReader, - storageContextFromDefaults, - VectorStoreIndex, -} from "llamaindex"; +import { storageContextFromDefaults, VectorStoreIndex } from "llamaindex"; async function getSourceFilenames(sourceDir: string) { return await fs diff --git a/examples/readers/src/custom-simple-directory-reader.ts b/examples/readers/src/custom-simple-directory-reader.ts index 32fedd137..e5ec35c51 100644 --- a/examples/readers/src/custom-simple-directory-reader.ts +++ b/examples/readers/src/custom-simple-directory-reader.ts @@ -1,10 +1,10 @@ -import { TextFileReader } from "@llamaindex/readers/text"; -import type { Document, Metadata } from "llamaindex"; import { FILE_EXT_TO_READER, - FileReader, SimpleDirectoryReader, -} from "llamaindex"; +} from "@llamaindex/readers/directory"; +import { TextFileReader } from "@llamaindex/readers/text"; +import type { Document, Metadata } from "llamaindex"; +import { FileReader } from "llamaindex"; class ZipReader extends FileReader { loadDataAsContent(fileContent: Uint8Array): Promise<Document<Metadata>[]> { diff --git a/examples/readers/src/simple-directory-reader-with-llamaparse.ts b/examples/readers/src/simple-directory-reader-with-llamaparse.ts index e71683657..7ef35e6e4 100644 --- a/examples/readers/src/simple-directory-reader-with-llamaparse.ts +++ b/examples/readers/src/simple-directory-reader-with-llamaparse.ts @@ -1,5 +1,6 @@ import { LlamaParseReader } from "@llamaindex/cloud"; -import { SimpleDirectoryReader, VectorStoreIndex } from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { VectorStoreIndex } from "llamaindex"; async function main() { const reader = new SimpleDirectoryReader(); diff --git a/examples/readers/src/simple-directory-reader.ts b/examples/readers/src/simple-directory-reader.ts index 784b5b5ef..b815a8841 100644 --- a/examples/readers/src/simple-directory-reader.ts +++ b/examples/readers/src/simple-directory-reader.ts @@ -1,6 +1,4 @@ -import { SimpleDirectoryReader } from "llamaindex"; -// or -// import { SimpleDirectoryReader } from 'llamaindex' +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; const reader = new SimpleDirectoryReader(); const documents = await reader.loadData("../data"); diff --git a/examples/routerQueryEngine.ts b/examples/routerQueryEngine.ts index 51f5025bd..1bbbe0bcf 100644 --- a/examples/routerQueryEngine.ts +++ b/examples/routerQueryEngine.ts @@ -1,9 +1,9 @@ import { OpenAI } from "@llamaindex/openai"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import { RouterQueryEngine, SentenceSplitter, Settings, - SimpleDirectoryReader, SummaryIndex, VectorStoreIndex, } from "llamaindex"; diff --git a/examples/vector-store/azure/index.ts b/examples/vector-store/azure/index.ts index 2a3f1e57b..2f6322d88 100644 --- a/examples/vector-store/azure/index.ts +++ b/examples/vector-store/azure/index.ts @@ -14,6 +14,7 @@ import { MetadataIndexFieldType, } from "@llamaindex/azure"; import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import dotenv from "dotenv"; import { Document, @@ -22,7 +23,6 @@ import { Metadata, NodeWithScore, Settings, - SimpleDirectoryReader, storageContextFromDefaults, TextNode, VectorStoreIndex, diff --git a/examples/vector-store/pg/load-docs.ts b/examples/vector-store/pg/load-docs.ts index ac3787715..af85641f2 100755 --- a/examples/vector-store/pg/load-docs.ts +++ b/examples/vector-store/pg/load-docs.ts @@ -1,10 +1,7 @@ // load-docs.ts import { PGVectorStore } from "@llamaindex/postgres"; -import { - SimpleDirectoryReader, - storageContextFromDefaults, - VectorStoreIndex, -} from "llamaindex"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; +import { storageContextFromDefaults, VectorStoreIndex } from "llamaindex"; import fs from "node:fs/promises"; async function getSourceFilenames(sourceDir: string) { diff --git a/examples/vector-store/pg/supabase.ts b/examples/vector-store/pg/supabase.ts index db157b862..97e1e171d 100644 --- a/examples/vector-store/pg/supabase.ts +++ b/examples/vector-store/pg/supabase.ts @@ -1,10 +1,7 @@ import { PGVectorStore } from "@llamaindex/postgres"; +import { SimpleDirectoryReader } from "@llamaindex/readers/directory"; import dotenv from "dotenv"; -import { - SimpleDirectoryReader, - storageContextFromDefaults, - VectorStoreIndex, -} from "llamaindex"; +import { storageContextFromDefaults, VectorStoreIndex } from "llamaindex"; dotenv.config(); diff --git a/packages/llamaindex/package.json b/packages/llamaindex/package.json index 12d1eb120..73add5213 100644 --- a/packages/llamaindex/package.json +++ b/packages/llamaindex/package.json @@ -25,7 +25,6 @@ "@llamaindex/env": "workspace:*", "@llamaindex/node-parser": "workspace:*", "@llamaindex/openai": "workspace:*", - "@llamaindex/readers": "workspace:*", "@types/lodash": "^4.17.7", "@types/node": "^22.9.0", "ajv": "^8.17.1", diff --git a/packages/llamaindex/src/index.ts b/packages/llamaindex/src/index.ts index f3fd6ab5b..ccdd367ae 100644 --- a/packages/llamaindex/src/index.ts +++ b/packages/llamaindex/src/index.ts @@ -1,9 +1,9 @@ export * from "./index.edge.js"; -export * from "./readers/index.js"; -export * from "./storage/index.js"; +// TODO: clean up, move to jinaai package export { JinaAIEmbedding } from "./embeddings/JinaAIEmbedding.js"; -// Don't export SimpleVectorStore for non-node.js runtime on top level, +// Don't export file-system stores for non-node.js runtime on top level, // as we cannot guarantee that they will work in other environments +export * from "./storage/index.js"; export * from "./vector-store.js"; diff --git a/packages/llamaindex/src/readers/index.ts b/packages/llamaindex/src/readers/index.ts deleted file mode 100644 index 03045ab76..000000000 --- a/packages/llamaindex/src/readers/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -export { - LlamaParseReader, - type Language, - type ResultType, -} from "@llamaindex/cloud/reader"; -export * from "@llamaindex/readers/assembly-ai"; -export * from "@llamaindex/readers/cosmosdb"; -export * from "@llamaindex/readers/csv"; -export * from "@llamaindex/readers/directory"; -export * from "@llamaindex/readers/discord"; -export * from "@llamaindex/readers/docx"; -export * from "@llamaindex/readers/html"; -export * from "@llamaindex/readers/image"; -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"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50e3726e4..ae3cc07d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -476,6 +476,9 @@ importers: '@llamaindex/huggingface': specifier: workspace:* version: link:../../../packages/providers/huggingface + '@llamaindex/readers': + specifier: workspace:* + version: link:../../../packages/readers llamaindex: specifier: workspace:* version: link:../../../packages/llamaindex @@ -516,6 +519,9 @@ importers: e2e/examples/waku-query-engine: dependencies: + '@llamaindex/env': + specifier: workspace:* + version: link:../../../packages/env llamaindex: specifier: workspace:* version: link:../../../packages/llamaindex @@ -1034,9 +1040,6 @@ importers: '@llamaindex/openai': specifier: workspace:* version: link:../providers/openai - '@llamaindex/readers': - specifier: workspace:* - version: link:../readers '@types/lodash': specifier: ^4.17.7 version: 4.17.15 diff --git a/unit/readers/SimpleCosmosDBReader.test.ts b/unit/readers/SimpleCosmosDBReader.test.ts index c7370a223..e87569977 100644 --- a/unit/readers/SimpleCosmosDBReader.test.ts +++ b/unit/readers/SimpleCosmosDBReader.test.ts @@ -3,7 +3,7 @@ import { Document } from "@llamaindex/core/schema"; import { SimpleCosmosDBReader, type SimpleCosmosDBReaderLoaderConfig, -} from "llamaindex"; +} from "@llamaindex/readers/cosmosdb"; import { describe, expect, it, vi } from "vitest"; const createMockClient = (mockData?: unknown[]) => { diff --git a/unit/readers/register.test.ts b/unit/readers/register.test.ts index 14b149135..e3701c005 100644 --- a/unit/readers/register.test.ts +++ b/unit/readers/register.test.ts @@ -5,7 +5,7 @@ test("node register", async () => { const code = `import csvDocument from '../examples/data/movie_reviews.csv';console.log(csvDocument.getText())`; const cp = spawnSync( process.execPath, - ["--input-type=module", "--import=llamaindex/register"], + ["--input-type=module", "--import=@llamaindex/readers/node"], { input: code, stdio: "pipe", -- GitLab