Compare commits

..

9 Commits

Author SHA1 Message Date
github-actions[bot] c2a345ebb1 Release 0.9.0 (#1643)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-02-13 17:34:06 +07:00
Marcus Schiesser d3fa729a30 Cleanups before 0.9 release (#1656) 2025-02-13 17:26:22 +07:00
Thuc Pham c7c08005ec fix: fumadoc build fail (#1655) 2025-02-13 16:24:28 +07:00
Alex Yang bb0ae5e321 chore: fix pkg.pr.new issue (#1651) 2025-02-12 21:19:29 +08:00
Marcus Schiesser f4588bc770 chore: Remove readers package from llamaindex (#1649) 2025-02-12 17:16:41 +07:00
Marcus Schiesser b49037612d remove service context (#1618)
Co-authored-by: thucpn <thucsh2@gmail.com>
2025-02-12 15:10:11 +07:00
Thuc Pham a87efb91a4 docs: update chat engine docs (#1648) 2025-02-12 12:45:26 +07:00
Thuc Pham 6a4a73760b chore: remove re-exporting packages in llamaindex (#1624)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-02-12 12:44:52 +07:00
Alex Yang 1564831158 ci: fix pkg-pr-new release (#1646) 2025-02-11 22:42:42 +08:00
228 changed files with 6724 additions and 7635 deletions
-5
View File
@@ -1,5 +0,0 @@
---
"@llamaindex/doc": patch
---
docs: update workflow doc
-6
View File
@@ -1,6 +0,0 @@
---
"@llamaindex/core": patch
"llamaindex": patch
---
feat: asChatEngine function for index
+1 -1
View File
@@ -25,4 +25,4 @@ jobs:
run: pnpm run build
- name: Pre Release
run: pnpx pkg-pr-new publish --compact --pnpm ./packages/* ./packages/providers/* ./packages/providers/storage/*
run: pnpx pkg-pr-new publish --pnpm ./packages/* ./packages/providers/* ./packages/providers/storage/*
-5
View File
@@ -83,11 +83,6 @@ jobs:
run: pnpm install
- name: Build
run: pnpm run build
- name: Use Build For Examples
run: |
pnpm link ../packages/llamaindex/
cd readers && pnpm link ../../packages/llamaindex/
working-directory: ./examples
- name: Run Type Check
run: pnpm run type-check
- name: Run Circular Dependency Check
+1 -3
View File
@@ -1,3 +1 @@
pnpm format
pnpm lint
npx lint-staged
pnpm run lint-staged
+1
View File
@@ -0,0 +1 @@
LlamaIndexTS
+2 -1
View File
@@ -14,5 +14,6 @@
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"prettier.prettierPath": "./node_modules/prettier"
"prettier.prettierPath": "./node_modules/prettier",
"prettier.configPath": "prettier.config.mjs"
}
+7 -33
View File
@@ -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";
```shell
npm install @llamaindex/openai
pnpm install @llamaindex/openai
yarn add @llamaindex/openai
```
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" }),
},
});
}
```
> _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
+23
View File
@@ -1,5 +1,28 @@
# @llamaindex/doc
## 0.1.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
- f4588bc: Remove readers package from llamaindex
### Patch Changes
- c7c0800: fix: fumadoc build fail
- a87efb9: docs: update chat engine docs
- 7bd5d93: docs: update workflow doc
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
- @llamaindex/core@0.5.0
- @llamaindex/cloud@3.0.0
- @llamaindex/node-parser@1.0.0
- @llamaindex/openai@0.1.52
- @llamaindex/readers@2.0.0
## 0.0.41
### Patch Changes
+11 -10
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.0.41",
"version": "0.1.0",
"private": true,
"scripts": {
"build": "pnpm run build:docs && next build",
@@ -28,18 +28,19 @@
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.4",
"@vercel/functions": "^1.5.0",
"@scalar/api-client-react": "^1.1.25",
"ai": "^3.4.33",
"class-variance-authority": "^0.7.0",
"clsx": "2.1.1",
"foxact": "^0.2.41",
"framer-motion": "^11.11.17",
"fumadocs-core": "14.6.0",
"fumadocs-docgen": "1.3.2",
"fumadocs-mdx": "^11.1.2",
"fumadocs-openapi": "^5.8.2",
"fumadocs-twoslash": "^2.0.2",
"fumadocs-typescript": "^3.0.2",
"fumadocs-ui": "14.6.0",
"fumadocs-core": "^14.7.7",
"fumadocs-docgen": "^1.3.7",
"fumadocs-mdx": "^11.5.3",
"fumadocs-openapi": "^5.12.0",
"fumadocs-twoslash": "^2.0.3",
"fumadocs-typescript": "^3.0.3",
"fumadocs-ui": "^14.7.7",
"hast-util-to-jsx-runtime": "^2.3.2",
"llamaindex": "workspace:*",
"lucide-react": "^0.460.0",
@@ -54,8 +55,8 @@
"rehype-katex": "^7.0.1",
"remark-math": "^6.0.0",
"rimraf": "^6.0.1",
"shiki": "1.23.1",
"shiki-magic-move": "^0.5.0",
"shiki": "^2.3.2",
"shiki-magic-move": "^1.0.0",
"swr": "^2.2.5",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
@@ -57,4 +57,3 @@ In this example, the Context-Aware Agent uses the retriever to fetch relevant co
## Available Context-Aware Agents
- `OpenAIContextAwareAgent`: A context-aware agent using OpenAI's models.
- `AnthropicContextAwareAgent`: A context-aware agent using Anthropic's models.
@@ -2,6 +2,8 @@
title: Local LLMs
---
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
LlamaIndex.TS supports OpenAI and [other remote LLM APIs](other_llms). You can also run a local LLM on your machine!
## Using a local model via Ollama
@@ -24,7 +26,23 @@ The first time you run it will also automatically download and install the model
### Switch the LLM in your code
To tell LlamaIndex to use a local LLM, use the `Settings` object:
To switch the LLM in your code, you first need to make sure to install the package for the Ollama model provider:
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
```shell tab="npm"
npm install @llamaindex/ollama
```
```shell tab="yarn"
yarn add @llamaindex/ollama
```
```shell tab="pnpm"
pnpm add @llamaindex/ollama
```
</Tabs>
Then, to tell LlamaIndex to use a local LLM, use the `Settings` object:
```javascript
Settings.llm = new Ollama({
@@ -34,7 +52,25 @@ Settings.llm = new Ollama({
### Use local embeddings
If you're doing retrieval-augmented generation, LlamaIndex.TS will also call out to OpenAI to index and embed your data. To be entirely local, you can use a local embedding model like this:
If you're doing retrieval-augmented generation, LlamaIndex.TS will also call out to OpenAI to index and embed your data. To be entirely local, you can use a local embedding model from Huggingface like this:
First install the Huggingface model provider package:
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
```shell tab="npm"
npm install @llamaindex/huggingface
```
```shell tab="yarn"
yarn add @llamaindex/huggingface
```
```shell tab="pnpm"
pnpm add @llamaindex/huggingface
```
</Tabs>
And then set the embedding model in your code:
```javascript
Settings.embedModel = new HuggingFaceEmbedding({
@@ -1,6 +1,6 @@
---
title: Installation
description: Install llamaindex by running a single command.
description: How to install llamaindex packages.
---
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
@@ -70,10 +70,8 @@ In Cloudflare Worker and similar serverless JS environment, you need to be aware
- Some Node.js modules are not available in Cloudflare Worker, such as `node:fs`, `node:child_process`, `node:cluster`...
- You are recommend to design your code using network request, such as use `fetch` API to communicate with database, insteadof a long-running process in Node.js.
- Some of LlamaIndex.TS modules are not available in Cloudflare Worker, for example `SimpleDirectoryReader` (requires `node:fs`), Some multimodal API that relies on [`onnxruntime-node`](https://www.npmjs.com/package/onnxruntime-node)(we might port to HTTP based module in the future).
- `@llamaindex/core` is designed to work in all JavaScript environment, including Cloudflare Worker. If you find any issue, please report to us.
- Some of LlamaIndex.TS packages are not available in Cloudflare Worker, for example `@llamaindex/readers` and `@llamaindex/huggingface`.
- The main `llamaindex` is designed to work in all JavaScript environment, including Cloudflare Worker. If you find any issue, please report to us.
- `@llamaindex/env` is a JS environment binding module, which polyfill some Node.js/Modern Web API (for example, we have a memory based `fs` module, and Crypto API polyfill). It is designed to work in all JavaScript environment, including Cloudflare Worker.
## Known issues
- `llamaindex` not work perfectly in Cloudflare Worker, bundle size will be larger than 1MB, which is the limit of Cloudflare Worker. You will need import submodule instead of the whole `llamaindex` module.
@@ -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
@@ -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
@@ -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())
// ^?
```
```ts twoslash tab="@llamaindex/readers"
import { SimpleDirectoryReader } from "llamaindex";
const reader = new SimpleDirectoryReader()
const documents = await reader.loadData("./data")
// ^?
const texts = documents.map(doc => doc.getText())
// ^?
```
const texts = documents.map(doc => doc.getText())
// ^?
```
## Tips when using in non-Node.js environments
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`).
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';
@@ -81,7 +81,7 @@ It will split the code by AST nodes and then parse the nodes into a `Document` o
import TS from "tree-sitter-typescript";
const parser = new Parser();
parser.setLanguage(TS.typescript);
parser.setLanguage(TS.typescript as Parser.Language);
const codeSplitter = new CodeSplitter({
getParser: () => parser,
});
@@ -99,7 +99,7 @@ It will split the code by AST nodes and then parse the nodes into a `Document` o
import TS from "tree-sitter-typescript";
const parser = new Parser();
parser.setLanguage(TS.typescript);
parser.setLanguage(TS.typescript as Parser.Language);
const codeSplitter = new CodeSplitter({
getParser: () => parser,
});
@@ -20,5 +20,5 @@ LlamaIndex.TS provides tools for beginners, advanced users, and everyone in betw
className="w-full h-[440px]"
aria-label="LlamaIndex.TS Starter"
aria-description="This is a starter example for LlamaIndex.TS, it shows the basic usage of the library."
src="https://stackblitz.com/github/run-llama/LlamaIndexTS/tree/main/examples?file=starter.ts"
src="https://stackblitz.com/github/run-llama/LlamaIndexTS/tree/main/examples?embed=1&file=starter.ts"
/>
@@ -7,6 +7,7 @@
"what-is-llamaindex",
"index",
"getting_started",
"migration",
"guide",
"examples",
"modules",
@@ -0,0 +1,97 @@
---
title: Migrating from v0.8 to v0.9
---
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
Version 0.9 of LlamaIndex.TS introduces significant architectural changes to improve package size and runtime compatibility. The main goals of this release are:
1. Reduce the package size of the main `llamaindex` package by moving dependencies into provider packages, making it more suitable for serverless environments
2. Enable consistent code across different environments by using unified imports (no separate imports for Node.js and Edge runtimes)
## Major Changes
### Installing Provider Packages
In v0.9, you need to explicitly install the provider packages you want to use. The main `llamaindex` package no longer includes these dependencies by default.
### Updating Imports
You'll need to update your imports to get classes directly from their respective provider packages. Here's how to migrate different components:
### 1. AI Model Providers
Previously:
```typescript
import { OpenAI } from "llamaindex";
```
Now:
```typescript
import { OpenAI } from "@llamaindex/openai";
```
> Note: This examples requires installing the `@llamaindex/openai` package:
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
```shell tab="npm"
npm install @llamaindex/openai
```
```shell tab="yarn"
yarn add @llamaindex/openai
```
```shell tab="pnpm"
pnpm add @llamaindex/openai
```
</Tabs>
For more details on available AI model providers and their configuration, see the [LLMs documentation](/docs/llamaindex/modules/llms) and the [Embedding Models documentation](/docs/llamaindex/modules/embeddings).
### 2. Storage Providers
Previously:
```typescript
import { PineconeVectorStore } from "llamaindex";
```
Now:
```typescript
import { PineconeVectorStore } from "@llamaindex/pinecone";
```
For more information about available storage options, refer to the [Data Stores documentation](/docs/llamaindex/modules/data_stores).
### 3. Data Loaders
Previously:
```typescript
import { SimpleDirectoryReader } from "llamaindex";
```
Now:
```typescript
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
```
For more details about available data loaders and their usage, check the [Loading Data](/docs/llamaindex/guide/loading).
### 4. Prefer using `llamaindex` instead of `@llamaindex/core`
`llamaindex` is now re-exporting most of `@llamaindex/core`. To simplify imports, just use `import { ... } from "llamaindex"` instead of `import { ... } from "@llamaindex/core"`. This is possible because `llamaindex` is now a smaller package.
We might change imports internally in `@llamaindex/core` in the future. Let us know if you're missing something.
## Benefits of the Changes
- **Smaller Bundle Size**: By moving dependencies to separate packages, your application only includes the features you actually use
- **Runtime Consistency**: The same code works across different environments without environment-specific imports
- **Improved Serverless Support**: Reduced package size makes it easier to deploy to serverless environments with size limitations
## Need Help?
If you encounter any issues during migration, please:
1. Check our [GitHub repository](https://github.com/run-llama/LlamaIndexTS) for the latest updates
2. Join our [Discord community](https://discord.gg/dGcwcsnxhU) for support
3. Open an issue on GitHub if you find a bug or have a feature request
@@ -0,0 +1,5 @@
{
"title": "Migration",
"description": "Migration between different versions",
"pages": ["0.8-to-0.9"]
}
@@ -12,9 +12,26 @@ const chatEngine = new ContextChatEngine({ retriever });
const response = await chatEngine.chat({ message: query });
```
In short, you can use the chat engine by calling `index.asChatEngine()`. It will return a `ContextChatEngine` to start chatting.
```typescript
const chatEngine = index.asChatEngine();
```
You can also pass in options to the chat engine.
```typescript
const chatEngine = index.asChatEngine({
similarityTopK: 5,
systemPrompt: "You are a helpful assistant.",
});
```
The `chat` function also supports streaming, just add `stream: true` as an option:
```typescript
const chatEngine = index.asChatEngine();
const stream = await chatEngine.chat({ message: query, stream: true });
for await (const chunk of stream) {
process.stdout.write(chunk.response);
@@ -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({
+6
View File
@@ -1,5 +1,11 @@
# @llamaindex/core-e2e
## 0.1.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
## 0.0.8
### Patch Changes
+11
View File
@@ -0,0 +1,11 @@
# @llamaindex/cloudflare-hono
## 0.1.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
### Patch Changes
- b490376: Remove deprecated ServiceContext
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-hono",
"version": "0.0.0",
"version": "0.1.0",
"private": true,
"scripts": {
"deploy": "wrangler deploy",
+9 -12
View File
@@ -17,23 +17,21 @@ app.post("/llm", async (c) => {
const { message } = await c.req.json();
const { extractText } = await import("@llamaindex/core/utils");
const {
extractText,
QueryEngineTool,
serviceContextFromDefaults,
VectorStoreIndex,
OpenAIAgent,
Settings,
OpenAI,
OpenAIEmbedding,
SentenceSplitter,
} = await import("llamaindex");
const { PineconeVectorStore } = await import(
"llamaindex/vector-store/PineconeVectorStore"
const { OpenAIAgent, OpenAI, OpenAIEmbedding } = await import(
"@llamaindex/openai"
);
const llm = new OpenAI({
const { PineconeVectorStore } = await import("@llamaindex/pinecone");
Settings.llm = new OpenAI({
model: "gpt-4o-mini",
apiKey: c.env.OPENAI_API_KEY,
});
@@ -43,8 +41,7 @@ app.post("/llm", async (c) => {
apiKey: c.env.OPENAI_API_KEY,
});
const serviceContext = serviceContextFromDefaults({
llm,
Settings.nodeParser = new SentenceSplitter({
chunkSize: 8191,
chunkOverlap: 0,
});
@@ -53,7 +50,7 @@ app.post("/llm", async (c) => {
namespace: "8xolsn4ulEQGdhnhP76yCzfLHdOZ",
});
const index = await VectorStoreIndex.fromVectorStore(store, serviceContext);
const index = await VectorStoreIndex.fromVectorStore(store);
const retriever = index.asRetriever({
similarityTopK: 3,
@@ -1,5 +1,15 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.134
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 0.0.133
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.133",
"version": "0.0.134",
"type": "module",
"private": true,
"scripts": {
@@ -1,5 +1,11 @@
# @llamaindex/llama-parse-browser-test
## 0.0.45
### Patch Changes
- @llamaindex/cloud@3.0.0
## 0.0.44
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.44",
"version": "0.0.45",
"type": "module",
"scripts": {
"dev": "vite",
+10
View File
@@ -1,5 +1,15 @@
# @llamaindex/next-agent-test
## 0.1.134
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 0.1.133
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.133",
"version": "0.1.134",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,15 @@
# test-edge-runtime
## 0.1.133
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 0.1.132
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.132",
"version": "0.1.133",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,21 @@
# @llamaindex/next-node-runtime
## 0.1.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
- @llamaindex/huggingface@0.0.36
- @llamaindex/readers@2.0.0
## 0.0.114
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.0.114",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
@@ -9,6 +9,8 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"@llamaindex/huggingface": "workspace:*",
"@llamaindex/readers": "workspace:*",
"next": "15.0.3",
"react": "18.3.1",
"react-dom": "18.3.1"
@@ -1,13 +1,13 @@
"use server";
import { HuggingFaceEmbedding } from "@llamaindex/huggingface";
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
import {
OpenAI,
OpenAIAgent,
QueryEngineTool,
Settings,
SimpleDirectoryReader,
VectorStoreIndex,
} from "llamaindex";
import { HuggingFaceEmbedding } from "llamaindex/embeddings/HuggingFaceEmbedding";
Settings.llm = new OpenAI({
apiKey: process.env.NEXT_PUBLIC_OPENAI_KEY ?? "FAKE_KEY_TO_PASS_TESTS",
@@ -1,5 +1,15 @@
# @llamaindex/waku-query-engine-test
## 0.0.134
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 0.0.133
### Patch Changes
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.133",
"version": "0.0.134",
"type": "module",
"private": true,
"scripts": {
@@ -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",
@@ -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 });
+2 -2
View File
@@ -1,7 +1,7 @@
import { Anthropic, AnthropicAgent } from "@llamaindex/anthropic";
import { extractText } from "@llamaindex/core/utils";
import { consola } from "consola";
import { Anthropic, FunctionTool, Settings, type LLM } from "llamaindex";
import { AnthropicAgent } from "llamaindex/agent/anthropic";
import { FunctionTool, Settings, type LLM } from "llamaindex";
import { ok } from "node:assert";
import { beforeEach, test } from "node:test";
import { getWeatherTool, sumNumbersTool } from "./fixtures/tools.js";
+2 -1
View File
@@ -1,6 +1,7 @@
import { ClipEmbedding } from "@llamaindex/clip";
import type { LoadTransformerEvent } from "@llamaindex/env/multi-model";
import { setTransformers } from "@llamaindex/env/multi-model";
import { ClipEmbedding, ImageNode, Settings } from "llamaindex";
import { ImageNode, Settings } from "llamaindex";
import assert from "node:assert";
import { type Mock, test } from "node:test";
+1 -1
View File
@@ -1,6 +1,6 @@
import { PGVectorStore } from "@llamaindex/postgres";
import { config } from "dotenv";
import { Document, VectorStoreQueryMode } from "llamaindex";
import { PGVectorStore } from "llamaindex/vector-store/PGVectorStore";
import assert from "node:assert";
import { test } from "node:test";
import pg from "pg";
+3 -5
View File
@@ -1,10 +1,8 @@
import { Document, MetadataMode } from "@llamaindex/core/schema";
import { OpenAIEmbedding } from "@llamaindex/openai";
import { PineconeVectorStore } from "@llamaindex/pinecone";
import { config } from "dotenv";
import {
OpenAIEmbedding,
PineconeVectorStore,
VectorStoreIndex,
} from "llamaindex";
import { VectorStoreIndex } from "llamaindex";
import assert from "node:assert";
import { test } from "node:test";
+5 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/e2e",
"private": true,
"version": "0.0.8",
"version": "0.1.0",
"type": "module",
"scripts": {
"e2e": "node --import tsx --import ./mock-register.js --test ./node/**/*.e2e.ts",
@@ -14,6 +14,10 @@
"@llamaindex/env": "workspace:*",
"@llamaindex/ollama": "workspace:*",
"@llamaindex/openai": "workspace:*",
"@llamaindex/pinecone": "workspace:*",
"@llamaindex/postgres": "workspace:*",
"@llamaindex/clip": "workspace:*",
"@llamaindex/anthropic": "workspace:*",
"@types/node": "^22.9.0",
"@types/pg": "^8.11.8",
"@huggingface/transformers": "^3.0.2",
+44
View File
@@ -1,5 +1,49 @@
# examples
## 0.2.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
- f4588bc: Remove readers package from llamaindex
### Patch Changes
- b490376: Remove deprecated ServiceContext
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- @llamaindex/milvus@0.1.0
- @llamaindex/qdrant@0.1.0
- @llamaindex/azure@0.1.0
- @llamaindex/anthropic@0.1.0
- llamaindex@0.9.0
- @llamaindex/cloud@3.0.0
- @llamaindex/node-parser@1.0.0
- @llamaindex/clip@0.0.36
- @llamaindex/cohere@0.0.5
- @llamaindex/deepinfra@0.0.36
- @llamaindex/google@0.0.7
- @llamaindex/huggingface@0.0.36
- @llamaindex/mistral@0.0.5
- @llamaindex/mixedbread@0.0.5
- @llamaindex/ollama@0.0.40
- @llamaindex/openai@0.1.52
- @llamaindex/portkey-ai@0.0.33
- @llamaindex/replicate@0.0.33
- @llamaindex/astra@0.0.5
- @llamaindex/chroma@0.0.5
- @llamaindex/mongodb@0.0.5
- @llamaindex/pinecone@0.0.5
- @llamaindex/postgres@0.0.33
- @llamaindex/upstash@0.0.5
- @llamaindex/weaviate@0.0.5
- @llamaindex/vercel@0.0.11
- @llamaindex/readers@2.0.0
- @llamaindex/groq@0.0.51
- @llamaindex/vllm@0.0.22
## 0.1.3
### Patch Changes
+2 -5
View File
@@ -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
+1 -1
View File
@@ -1,9 +1,9 @@
import { OpenAIAgent } from "@llamaindex/openai";
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
import {
FunctionTool,
MetadataMode,
NodeWithScore,
SimpleDirectoryReader,
VectorStoreIndex,
} from "llamaindex";
+2 -5
View File
@@ -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
+2 -3
View File
@@ -1,5 +1,5 @@
import { AstraDBVectorStore } from "@llamaindex/astra";
import { VectorStoreIndex, serviceContextFromDefaults } from "llamaindex";
import { VectorStoreIndex } from "llamaindex";
const collectionName = "movie_reviews";
@@ -8,8 +8,7 @@ async function main() {
const astraVS = new AstraDBVectorStore({ contentKey: "reviewtext" });
await astraVS.connect(collectionName);
const ctx = serviceContextFromDefaults();
const index = await VectorStoreIndex.fromVectorStore(astraVS, ctx);
const index = await VectorStoreIndex.fromVectorStore(astraVS);
const retriever = await index.asRetriever({ similarityTopK: 20 });
+1 -1
View File
@@ -1,4 +1,4 @@
import { SimpleDirectoryReader } from "llamaindex";
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
function callback(
category: string,
+1 -2
View File
@@ -30,13 +30,12 @@ async function main() {
// Split text and create embeddings. Store them in a VectorStoreIndex
// var storageContext = await storageContextFromDefaults({});
// var serviceContext = serviceContextFromDefaults({});
// const docStore = storageContext.docStore;
// for (const doc of documents) {
// docStore.setDocumentHash(doc.id_, doc.hash);
// }
// const nodes = serviceContext.nodeParser.getNodesFromDocuments(documents);
// const nodes = Settings.nodeParser.getNodesFromDocuments(documents);
// console.log(nodes);
//
+1 -1
View File
@@ -1,9 +1,9 @@
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
import {
ImageDocument,
JinaAIEmbedding,
similarity,
SimilarityType,
SimpleDirectoryReader,
} from "llamaindex";
import path from "path";
+2 -1
View File
@@ -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";
+9 -10
View File
@@ -1,17 +1,16 @@
import { storageContextFromDefaults } from "llamaindex";
import { ClipEmbedding } from "@llamaindex/clip";
import { path } from "@llamaindex/env";
import { SimpleVectorStore, storageContextFromDefaults } from "llamaindex";
// set up store context with two vector stores, one for text, the other for images
export async function getStorageContext() {
return await storageContextFromDefaults({
persistDir: "storage",
storeImages: true,
// if storeImages is true, the following vector store will be added
// vectorStores: {
// IMAGE: SimpleVectorStore.fromPersistDir(
// `${persistDir}/images`,
// fs,
// new ClipEmbedding(),
// ),
// },
vectorStores: {
IMAGE: await SimpleVectorStore.fromPersistDir(
path.join("storage", "images"),
new ClipEmbedding(),
),
},
});
}
+1 -2
View File
@@ -1,5 +1,4 @@
import { OllamaEmbedding } from "@llamaindex/ollama";
import { Ollama } from "llamaindex/llm/ollama";
import { Ollama, OllamaEmbedding } from "@llamaindex/ollama";
(async () => {
const llm = new Ollama({
+37 -36
View File
@@ -1,63 +1,64 @@
{
"name": "@llamaindex/examples",
"version": "0.2.0",
"private": true,
"version": "0.1.3",
"scripts": {
"lint": "eslint .",
"start": "tsx ./starter.ts"
},
"dependencies": {
"@ai-sdk/openai": "^1.0.5",
"@azure/cosmos": "^4.1.1",
"@azure/identity": "^4.4.1",
"@azure/search-documents": "^12.1.0",
"@llamaindex/vercel": "^0.0.10",
"@llamaindex/anthropic": "^0.1.0",
"@llamaindex/astra": "^0.0.5",
"@llamaindex/azure": "^0.1.0",
"@llamaindex/chroma": "^0.0.5",
"@llamaindex/clip": "^0.0.36",
"@llamaindex/cloud": "^3.0.0",
"@llamaindex/cohere": "^0.0.5",
"@llamaindex/deepinfra": "^0.0.36",
"@llamaindex/env": "^0.1.27",
"@llamaindex/google": "^0.0.7",
"@llamaindex/groq": "^0.0.51",
"@llamaindex/huggingface": "^0.0.36",
"@llamaindex/milvus": "^0.1.0",
"@llamaindex/mistral": "^0.0.5",
"@llamaindex/mixedbread": "^0.0.5",
"@llamaindex/mongodb": "^0.0.5",
"@llamaindex/node-parser": "^1.0.0",
"@llamaindex/ollama": "^0.0.40",
"@llamaindex/openai": "^0.1.52",
"@llamaindex/pinecone": "^0.0.5",
"@llamaindex/portkey-ai": "^0.0.33",
"@llamaindex/postgres": "^0.0.33",
"@llamaindex/qdrant": "^0.1.0",
"@llamaindex/readers": "^2.0.0",
"@llamaindex/replicate": "^0.0.33",
"@llamaindex/upstash": "^0.0.5",
"@llamaindex/vercel": "^0.0.11",
"@llamaindex/vllm": "^0.0.22",
"@llamaindex/weaviate": "^0.0.5",
"@llamaindex/workflow": "^0.0.10",
"@notionhq/client": "^2.2.15",
"@pinecone-database/pinecone": "^4.0.0",
"@vercel/postgres": "^0.10.0",
"ai": "^4.0.0",
"ajv": "^8.17.1",
"commander": "^12.1.0",
"dotenv": "^16.4.5",
"js-tiktoken": "^1.0.14",
"llamaindex": "^0.8.37",
"llamaindex": "^0.9.0",
"mongodb": "6.7.0",
"postgres": "^3.4.4",
"ajv": "^8.17.1",
"wikipedia": "^2.1.2",
"@llamaindex/openai": "workspace:*",
"@llamaindex/cloud": "workspace:*",
"@llamaindex/anthropic": "workspace:*",
"@llamaindex/clip": "workspace:*",
"@llamaindex/azure": "workspace:*",
"@llamaindex/deepinfra": "workspace:*",
"@llamaindex/groq": "workspace:*",
"@llamaindex/huggingface": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
"@llamaindex/ollama": "workspace:*",
"@llamaindex/portkey-ai": "workspace:*",
"@llamaindex/readers": "workspace:*",
"@llamaindex/replicate": "workspace:*",
"@llamaindex/vllm": "workspace:*",
"@llamaindex/postgres": "workspace:*",
"@llamaindex/astra": "workspace:*",
"@llamaindex/milvus": "workspace:*",
"@llamaindex/chroma": "workspace:*",
"@llamaindex/mongodb": "workspace:*",
"@llamaindex/pinecone": "workspace:*",
"@llamaindex/qdrant": "workspace:*",
"@llamaindex/upstash": "workspace:*",
"@llamaindex/weaviate": "workspace:*",
"@llamaindex/google": "workspace:*",
"@llamaindex/mistral": "workspace:*",
"@llamaindex/mixedbread": "workspace:*",
"@llamaindex/cohere": "workspace:*"
"wikipedia": "^2.1.2"
},
"devDependencies": {
"@types/node": "^22.9.0",
"tsx": "^4.19.0",
"typescript": "^5.7.2"
},
"scripts": {
"lint": "eslint .",
"start": "tsx ./starter.ts"
},
"stackblitz": {
"startCommand": "npm start"
}
+2 -5
View File
@@ -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
+3 -3
View File
@@ -19,9 +19,9 @@
"start:obsidian": "node --import tsx ./src/obsidian.ts"
},
"dependencies": {
"@llamaindex/readers": "*",
"llamaindex": "*",
"@llamaindex/cloud": "*"
"@llamaindex/cloud": "workspace:* || ^2.0.24",
"@llamaindex/readers": "workspace:* || ^1.0.25",
"llamaindex": "workspace:* || ^0.8.37"
},
"devDependencies": {
"@types/node": "^22.9.0",
@@ -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>[]> {
@@ -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();
@@ -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");
+1 -1
View File
@@ -1,9 +1,9 @@
import { OpenAI } from "@llamaindex/openai";
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
import {
RouterQueryEngine,
SentenceSplitter,
Settings,
SimpleDirectoryReader,
SummaryIndex,
VectorStoreIndex,
} from "llamaindex";
+1 -1
View File
@@ -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,
+2 -5
View File
@@ -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) {
+1 -1
View File
@@ -1,6 +1,6 @@
import { PGVectorStore } from "@llamaindex/postgres";
import dotenv from "dotenv";
import { Document, VectorStoreQueryMode } from "llamaindex";
import { PGVectorStore } from "llamaindex/vector-store/PGVectorStore";
import postgres from "postgres";
dotenv.config();
+1 -1
View File
@@ -1,5 +1,5 @@
import { PGVectorStore } from "@llamaindex/postgres";
import { VectorStoreIndex } from "llamaindex";
import { PGVectorStore } from "llamaindex/vector-store/PGVectorStore";
async function main() {
// eslint-disable-next-line @typescript-eslint/no-require-imports
+2 -5
View File
@@ -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();
+1 -1
View File
@@ -1,8 +1,8 @@
// https://vercel.com/docs/storage/vercel-postgres/sdk
import { PGVectorStore } from "@llamaindex/postgres";
import { sql } from "@vercel/postgres";
import dotenv from "dotenv";
import { Document, VectorStoreQueryMode } from "llamaindex";
import { PGVectorStore } from "llamaindex/vector-store/PGVectorStore";
dotenv.config();
+10 -4
View File
@@ -2,8 +2,9 @@
"name": "@llamaindex/monorepo",
"private": true,
"scripts": {
"build": "turbo run build --filter=\"./packages/*\" --filter=\"./packages/providers/*\"",
"dev": "turbo run dev --filter=\"./packages/*\" --filter=\"./packages/providers/*\"",
"clean": "find . -type d \\( -name .turbo -o -name node_modules -o -name dist -o -name .next -o -name lib \\) -exec rm -rf {} +",
"build": "turbo run build --filter=\"./packages/*\" --filter=\"./packages/providers/**\"",
"dev": "turbo run dev --filter=\"./packages/*\" --filter=\"./packages/providers/**\"",
"format": "prettier --ignore-unknown --cache --check .",
"format:write": "prettier --ignore-unknown --write .",
"lint": "turbo run lint",
@@ -15,7 +16,8 @@
"release": "pnpm run build && changeset publish",
"release-snapshot": "pnpm run build && changeset publish --tag snapshot",
"new-version": "changeset version && pnpm format:write && pnpm run build",
"new-snapshot": "pnpm run build && changeset version --snapshot"
"new-snapshot": "pnpm run build && changeset version --snapshot",
"lint-staged": "lint-staged"
},
"devDependencies": {
"@changesets/cli": "^2.27.5",
@@ -36,6 +38,10 @@
},
"packageManager": "pnpm@9.12.3",
"lint-staged": {
"(!apps/docs/i18n/**/docusaurus-plugin-content-docs/current/api/*).{js,jsx,ts,tsx,md}": "prettier --write"
"*.{js,jsx,ts,tsx}": [
"prettier --check",
"eslint"
],
"*.{json,md}": "prettier --check"
}
}
+10
View File
@@ -1,5 +1,15 @@
# @llamaindex/autotool
## 6.0.0
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 5.0.37
### Patch Changes
@@ -1,5 +1,16 @@
# @llamaindex/autotool-01-node-example
## 0.0.81
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
- @llamaindex/autotool@6.0.0
## 0.0.80
### Patch Changes
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.80"
"version": "0.0.81"
}
@@ -1,5 +1,16 @@
# @llamaindex/autotool-02-next-example
## 0.1.125
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
- @llamaindex/autotool@6.0.0
## 0.1.124
### Patch Changes
@@ -82,11 +82,8 @@
}
.background-gradient {
background-color: #fff;
background-image: radial-gradient(
at 21% 11%,
rgba(186, 186, 233, 0.53) 0,
transparent 50%
),
background-image:
radial-gradient(at 21% 11%, rgba(186, 186, 233, 0.53) 0, transparent 50%),
radial-gradient(at 85% 0, hsla(46, 57%, 78%, 0.52) 0, transparent 50%),
radial-gradient(at 91% 36%, rgba(194, 213, 255, 0.68) 0, transparent 50%),
radial-gradient(at 8% 40%, rgba(251, 218, 239, 0.46) 0, transparent 50%);
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool-02-next-example",
"private": true,
"version": "0.1.124",
"version": "0.1.125",
"scripts": {
"dev": "next dev",
"build": "next build",
+6 -1
View File
@@ -1,7 +1,12 @@
{
"name": "@llamaindex/autotool",
"type": "module",
"version": "5.0.37",
"repository": {
"type": "git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/autotool"
},
"version": "6.0.0",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/cloud
## 3.0.0
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- @llamaindex/core@0.5.0
## 2.0.24
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "2.0.24",
"version": "3.0.0",
"type": "module",
"license": "MIT",
"scripts": {
@@ -60,7 +60,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/cloud"
},
"devDependencies": {
+8
View File
@@ -1,5 +1,13 @@
# @llamaindex/community
## 0.0.82
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- @llamaindex/core@0.5.0
## 0.0.81
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.81",
"version": "0.0.82",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -34,7 +34,7 @@
],
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/community"
},
"scripts": {
+10
View File
@@ -1,5 +1,15 @@
# @llamaindex/core
## 0.5.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
### Patch Changes
- d924c63: feat: asChatEngine function for index
## 0.4.23
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.4.23",
"version": "0.5.0",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
@@ -386,7 +386,7 @@
"repository": {
"type": "git",
"directory": "packages/core",
"url": "https://github.com/run-llama/LlamaIndexTS.git"
"url": "git+https://github.com/run-llama/LlamaIndexTS.git"
},
"devDependencies": {
"@edge-runtime/vm": "^4.0.4",
-1
View File
@@ -16,7 +16,6 @@ export const DEFAULT_DOC_STORE_PERSIST_FILENAME = "doc_store.json";
export const DEFAULT_VECTOR_STORE_PERSIST_FILENAME = "vector_store.json";
export const DEFAULT_GRAPH_STORE_PERSIST_FILENAME = "graph_store.json";
export const DEFAULT_NAMESPACE = "docstore";
export const DEFAULT_IMAGE_VECTOR_NAMESPACE = "images";
//#endregion
//#region llama cloud
export const DEFAULT_PROJECT_NAME = "Default";
+1 -1
View File
@@ -113,7 +113,7 @@
],
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/env"
},
"scripts": {
+10
View File
@@ -1,5 +1,15 @@
# @llamaindex/experimental
## 0.0.150
### Patch Changes
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- Updated dependencies [b490376]
- Updated dependencies [f4588bc]
- llamaindex@0.9.0
## 0.0.149
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.149",
"version": "0.0.150",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -42,7 +42,7 @@
],
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/experimental"
},
"scripts": {
+18
View File
@@ -1,5 +1,23 @@
# llamaindex
## 0.9.0
### Minor Changes
- 6a4a737: Remove re-exports from llamaindex main package
- b490376: Remove deprecated ServiceContext
- f4588bc: Remove readers package from llamaindex
### Patch Changes
- d924c63: feat: asChatEngine function for index
- Updated dependencies [6a4a737]
- Updated dependencies [d924c63]
- @llamaindex/core@0.5.0
- @llamaindex/cloud@3.0.0
- @llamaindex/node-parser@1.0.0
- @llamaindex/openai@0.1.52
## 0.8.37
### Patch Changes
+2 -46
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.8.37",
"version": "0.9.0",
"license": "MIT",
"type": "module",
"keywords": [
@@ -20,35 +20,11 @@
"llamaindex"
],
"dependencies": {
"@llamaindex/anthropic": "workspace:*",
"@llamaindex/clip": "workspace:*",
"@llamaindex/cloud": "workspace:*",
"@llamaindex/core": "workspace:*",
"@llamaindex/deepinfra": "workspace:*",
"@llamaindex/env": "workspace:*",
"@llamaindex/groq": "workspace:*",
"@llamaindex/huggingface": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
"@llamaindex/ollama": "workspace:*",
"@llamaindex/openai": "workspace:*",
"@llamaindex/portkey-ai": "workspace:*",
"@llamaindex/readers": "workspace:*",
"@llamaindex/replicate": "workspace:*",
"@llamaindex/vllm": "workspace:*",
"@llamaindex/postgres": "workspace:*",
"@llamaindex/azure": "workspace:*",
"@llamaindex/astra": "workspace:*",
"@llamaindex/milvus": "workspace:*",
"@llamaindex/chroma": "workspace:*",
"@llamaindex/mongodb": "workspace:*",
"@llamaindex/pinecone": "workspace:*",
"@llamaindex/qdrant": "workspace:*",
"@llamaindex/upstash": "workspace:*",
"@llamaindex/weaviate": "workspace:*",
"@llamaindex/google": "workspace:*",
"@llamaindex/mistral": "workspace:*",
"@llamaindex/mixedbread": "workspace:*",
"@llamaindex/cohere": "workspace:*",
"@types/lodash": "^4.17.7",
"@types/node": "^22.9.0",
"ajv": "^8.17.1",
@@ -101,29 +77,10 @@
"default": "./dist/cjs/next.js"
}
},
"./register": "./register.js",
"./internal/*": {
"import": "./dist/not-allow.js",
"require": "./dist/cjs/not-allow.js"
},
"./readers/SimpleDirectoryReader": {
"workerd": {
"types": "./dist/type/readers/SimpleDirectoryReader.edge.d.ts",
"default": "./dist/readers/SimpleDirectoryReader.edge.js"
},
"edge-light": {
"types": "./dist/type/readers/SimpleDirectoryReader.edge.d.ts",
"default": "./dist/readers/SimpleDirectoryReader.edge.js"
},
"import": {
"types": "./dist/type/readers/SimpleDirectoryReader.d.ts",
"default": "./dist/readers/SimpleDirectoryReader.js"
},
"require": {
"types": "./dist/type/readers/SimpleDirectoryReader.d.ts",
"default": "./dist/cjs/readers/SimpleDirectoryReader.js"
}
},
"./*": {
"import": {
"types": "./dist/type/*.d.ts",
@@ -136,7 +93,6 @@
}
},
"files": [
"./register.js",
"dist",
"CHANGELOG.md",
"examples",
@@ -144,7 +100,7 @@
],
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/llamaindex"
},
"scripts": {
-6
View File
@@ -1,6 +0,0 @@
/**
* ```shell
* node --import llamaindex/register ./loader.js
* ```
*/
import "@llamaindex/readers/node";
-67
View File
@@ -1,67 +0,0 @@
import type { BaseEmbedding } from "@llamaindex/core/embeddings";
import { PromptHelper } from "@llamaindex/core/indices";
import type { LLM } from "@llamaindex/core/llms";
import {
type NodeParser,
SentenceSplitter,
} from "@llamaindex/core/node-parser";
import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai";
/**
* The ServiceContext is a collection of components that are used in different parts of the application.
*
* @deprecated This will no longer supported, please use `Settings` instead.
*/
export interface ServiceContext {
llm: LLM;
promptHelper: PromptHelper;
embedModel: BaseEmbedding;
nodeParser: NodeParser;
// llamaLogger: any;
}
export interface ServiceContextOptions {
llm?: LLM;
promptHelper?: PromptHelper;
embedModel?: BaseEmbedding;
nodeParser?: NodeParser;
// NodeParser arguments
chunkSize?: number;
chunkOverlap?: number;
}
export function serviceContextFromDefaults(options?: ServiceContextOptions) {
const serviceContext: ServiceContext = {
llm: options?.llm ?? new OpenAI(),
embedModel: options?.embedModel ?? new OpenAIEmbedding(),
nodeParser:
options?.nodeParser ??
new SentenceSplitter({
chunkSize: options?.chunkSize,
chunkOverlap: options?.chunkOverlap,
}),
promptHelper: options?.promptHelper ?? new PromptHelper(),
};
return serviceContext;
}
export function serviceContextFromServiceContext(
serviceContext: ServiceContext,
options: ServiceContextOptions,
) {
const newServiceContext = { ...serviceContext };
if (options.llm) {
newServiceContext.llm = options.llm;
}
if (options.promptHelper) {
newServiceContext.promptHelper = options.promptHelper;
}
if (options.embedModel) {
newServiceContext.embedModel = options.embedModel;
}
if (options.nodeParser) {
newServiceContext.nodeParser = options.nodeParser;
}
return newServiceContext;
}
-39
View File
@@ -12,7 +12,6 @@ import {
SentenceSplitter,
} from "@llamaindex/core/node-parser";
import { AsyncLocalStorage } from "@llamaindex/env";
import type { ServiceContext } from "./ServiceContext.js";
export type PromptConfig = {
llm?: string;
@@ -163,42 +162,4 @@ class GlobalSettings implements Config {
}
}
export const llmFromSettingsOrContext = (serviceContext?: ServiceContext) => {
if (serviceContext?.llm) {
return serviceContext.llm;
}
return Settings.llm;
};
export const nodeParserFromSettingsOrContext = (
serviceContext?: ServiceContext,
) => {
if (serviceContext?.nodeParser) {
return serviceContext.nodeParser;
}
return Settings.nodeParser;
};
export const embedModelFromSettingsOrContext = (
serviceContext?: ServiceContext,
) => {
if (serviceContext?.embedModel) {
return serviceContext.embedModel;
}
return Settings.embedModel;
};
export const promptHelperFromSettingsOrContext = (
serviceContext?: ServiceContext,
) => {
if (serviceContext?.promptHelper) {
return serviceContext.promptHelper;
}
return Settings.promptHelper;
};
export const Settings = new GlobalSettings();
@@ -1,7 +0,0 @@
import { AnthropicAgent } from "@llamaindex/anthropic";
import { withContextAwareness } from "./contextAwareMixin.js";
export const AnthropicContextAwareAgent = withContextAwareness(AnthropicAgent);
export type { ContextAwareConfig } from "./contextAwareMixin.js";
export * from "@llamaindex/anthropic";
@@ -1,7 +1,3 @@
import {
AnthropicAgent,
type AnthropicAgentParams,
} from "@llamaindex/anthropic";
import type {
NonStreamingChatEngineParams,
StreamingChatEngineParams,
@@ -20,29 +16,21 @@ export interface ContextAwareState {
retrievedContext: string | null;
}
export type SupportedAgent = typeof OpenAIAgent | typeof AnthropicAgent;
export type AgentParams<T> = T extends typeof OpenAIAgent
? OpenAIAgentParams
: T extends typeof AnthropicAgent
? AnthropicAgentParams
: never;
// TODO: support any LLMAgent
export type SupportedAgent = typeof OpenAIAgent;
export type AgentParams = OpenAIAgentParams;
/**
* ContextAwareAgentRunner enhances the base AgentRunner with the ability to retrieve and inject relevant context
* for each query. This allows the agent to access and utilize appropriate information from a given index or retriever,
* providing more informed and context-specific responses to user queries.
*/
export function withContextAwareness<T extends SupportedAgent>(Base: T) {
export function withContextAwareness(Base: SupportedAgent) {
return class ContextAwareAgent extends Base {
public readonly contextRetriever: BaseRetriever;
public retrievedContext: string | null = null;
declare public chatHistory: T extends typeof OpenAIAgent
? OpenAIAgent["chatHistory"]
: T extends typeof AnthropicAgent
? AnthropicAgent["chatHistory"]
: never;
constructor(params: AgentParams<T> & ContextAwareConfig) {
constructor(params: AgentParams & ContextAwareConfig) {
super(params);
this.contextRetriever = params.contextRetriever;
}
+2 -17
View File
@@ -1,21 +1,6 @@
export * from "@llamaindex/core/agent";
export {
OllamaAgent,
OllamaAgentWorker,
type OllamaAgentParams,
} from "@llamaindex/ollama";
export {
AnthropicAgent,
AnthropicAgentWorker,
AnthropicContextAwareAgent,
type AnthropicAgentParams,
} from "./anthropic.js";
export {
OpenAIAgent,
OpenAIAgentWorker,
OpenAIContextAwareAgent,
type OpenAIAgentParams,
} from "./openai.js";
export { OpenAIContextAwareAgent } from "./openai.js";
export {
ReACTAgentWorker,
ReActAgent,
-3
View File
@@ -1,5 +1,3 @@
import type { ServiceContext } from "../ServiceContext.js";
export type ClientParams = {
apiKey?: string | undefined;
baseUrl?: string | undefined;
@@ -9,5 +7,4 @@ export type CloudConstructorParams = {
name: string;
projectName: string;
organizationId?: string | undefined;
serviceContext?: ServiceContext | undefined;
} & ClientParams;
@@ -1 +0,0 @@
export * from "@llamaindex/clip";
@@ -1 +0,0 @@
export * from "@llamaindex/deepinfra";

Some files were not shown because too many files have changed in this diff Show More