mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-16 07:14:29 -04:00
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cb73f77bb8 | |||
| 8bf1ca1701 | |||
| 58b3ee52e0 | |||
| 4bac71d6a2 | |||
| a3cbcb31a2 | |||
| bbc8c8787d | |||
| 4b49428f57 | |||
| 7ee4968b06 | |||
| 0111f5c8b0 | |||
| beb922b743 | |||
| e28c29d1f5 | |||
| 008cccd9f1 | |||
| 081698d68c | |||
| ab5fe5d7a0 | |||
| 56689707d3 | |||
| fd74ba4bf1 | |||
| b2634e47ca | |||
| ad3c7f1ec1 | |||
| 335f2df626 | |||
| ee963644bf | |||
| cb256f24ae | |||
| 1ccc04ecb5 | |||
| 034639153b | |||
| 1914b52708 | |||
| cb021e7196 | |||
| c2aa836b35 | |||
| 3b0f55f1ea | |||
| a9c6144eec | |||
| 3564244ced | |||
| d952e68ec4 | |||
| 5c026e839f | |||
| 9c1c5b4d50 | |||
| c902fcbc33 | |||
| 88d776f392 | |||
| 6fcc6bcb84 | |||
| be74207945 | |||
| 6be223dfad | |||
| 4cbfdb5f5c | |||
| 9767d1c004 | |||
| e831b28627 | |||
| cc50c9c2d4 | |||
| 954140776e | |||
| 6d37d440a6 | |||
| e724f7e9f2 | |||
| 1b029ae525 | |||
| d1db2189c9 | |||
| 2c5b4030c9 | |||
| 96eb597059 | |||
| 04098d55ff | |||
| 335a6b9e88 | |||
| c2a345ebb1 | |||
| d3fa729a30 | |||
| c7c08005ec |
@@ -1,16 +0,0 @@
|
||||
---
|
||||
"@llamaindex/milvus": minor
|
||||
"@llamaindex/qdrant": minor
|
||||
"@llamaindex/next-node-runtime-test": minor
|
||||
"@llamaindex/azure": minor
|
||||
"@llamaindex/cloudflare-hono": minor
|
||||
"@llamaindex/anthropic": minor
|
||||
"@llamaindex/llamaindex-test": minor
|
||||
"llamaindex": minor
|
||||
"@llamaindex/core": minor
|
||||
"@llamaindex/doc": minor
|
||||
"@llamaindex/examples": minor
|
||||
"@llamaindex/e2e": minor
|
||||
---
|
||||
|
||||
Remove re-exports from llamaindex main package
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@llamaindex/doc": patch
|
||||
---
|
||||
|
||||
docs: update chat engine docs
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@llamaindex/doc": patch
|
||||
---
|
||||
|
||||
docs: update workflow doc
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
"@llamaindex/core": patch
|
||||
"llamaindex": patch
|
||||
---
|
||||
|
||||
feat: asChatEngine function for index
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
"llamaindex": minor
|
||||
"@llamaindex/cloudflare-hono": patch
|
||||
"@llamaindex/examples": patch
|
||||
---
|
||||
|
||||
Remove deprecated ServiceContext
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
"llamaindex": minor
|
||||
"@llamaindex/doc": minor
|
||||
"@llamaindex/examples": minor
|
||||
"@llamaindex/unit-test": minor
|
||||
---
|
||||
|
||||
Remove readers package from llamaindex
|
||||
@@ -98,6 +98,7 @@ jobs:
|
||||
- nextjs-node-runtime
|
||||
- waku-query-engine
|
||||
- llama-parse-browser
|
||||
- vite-import-llamaindex
|
||||
runs-on: ubuntu-latest
|
||||
name: Build LlamaIndex Example (${{ matrix.packages }})
|
||||
steps:
|
||||
@@ -116,6 +117,30 @@ jobs:
|
||||
run: pnpm run build
|
||||
working-directory: e2e/examples/${{ matrix.packages }}
|
||||
|
||||
size-limit:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
name: Size Limit
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: ".nvmrc"
|
||||
cache: "pnpm"
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
- name: Build llamaindex
|
||||
run: pnpm run build
|
||||
- uses: andresz1/size-limit-action@94bc357df29c36c8f8d50ea497c3e225c3c95d1d
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
directory: e2e/examples/vite-import-llamaindex
|
||||
skip_step: "install"
|
||||
build_script: build
|
||||
package_manager: pnpm
|
||||
|
||||
typecheck-examples:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
@@ -41,8 +41,15 @@ pnpm install
|
||||
|
||||
### Build the packages
|
||||
|
||||
You'll need Turbo to build the packages. If you don't have it, you can run it with `pnpx`.
|
||||
|
||||
To build all packages, run:
|
||||
|
||||
```shell
|
||||
# Build all packages
|
||||
pnpx turbo build --filter "./packages/*"
|
||||
|
||||
# Or if you have turbo installed, you can run:
|
||||
turbo build --filter "./packages/*"
|
||||
```
|
||||
|
||||
|
||||
@@ -1,5 +1,136 @@
|
||||
# @llamaindex/doc
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 4bac71d: Support binding additional argument to function tool
|
||||
- Updated dependencies [4bac71d]
|
||||
- @llamaindex/core@0.5.7
|
||||
- @llamaindex/cloud@3.0.8
|
||||
- llamaindex@0.9.9
|
||||
- @llamaindex/node-parser@1.0.7
|
||||
- @llamaindex/openai@0.1.59
|
||||
- @llamaindex/readers@2.0.7
|
||||
- @llamaindex/workflow@0.0.15
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4b49428]
|
||||
- Updated dependencies [bbc8c87]
|
||||
- @llamaindex/workflow@0.0.14
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/core@0.5.6
|
||||
- llamaindex@0.9.7
|
||||
- @llamaindex/cloud@3.0.7
|
||||
- @llamaindex/node-parser@1.0.6
|
||||
- @llamaindex/openai@0.1.58
|
||||
- @llamaindex/readers@2.0.6
|
||||
- @llamaindex/workflow@0.0.13
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5668970]
|
||||
- @llamaindex/core@0.5.5
|
||||
- @llamaindex/workflow@0.0.12
|
||||
- @llamaindex/cloud@3.0.6
|
||||
- llamaindex@0.9.6
|
||||
- @llamaindex/node-parser@1.0.5
|
||||
- @llamaindex/openai@0.1.57
|
||||
- @llamaindex/readers@2.0.5
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ad3c7f1]
|
||||
- @llamaindex/core@0.5.4
|
||||
- @llamaindex/cloud@3.0.5
|
||||
- llamaindex@0.9.5
|
||||
- @llamaindex/node-parser@1.0.4
|
||||
- @llamaindex/openai@0.1.56
|
||||
- @llamaindex/readers@2.0.4
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
- llamaindex@0.9.4
|
||||
- @llamaindex/cloud@3.0.4
|
||||
- @llamaindex/node-parser@1.0.3
|
||||
- @llamaindex/readers@2.0.3
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/cloud@3.0.3
|
||||
- llamaindex@0.9.3
|
||||
- @llamaindex/node-parser@1.0.2
|
||||
- @llamaindex/openai@0.1.54
|
||||
- @llamaindex/readers@2.0.2
|
||||
|
||||
## 0.1.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [c902fcb]
|
||||
- Updated dependencies [88d776f]
|
||||
- @llamaindex/cloud@3.0.2
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
- @llamaindex/cloud@3.0.1
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/node-parser@1.0.1
|
||||
- @llamaindex/openai@0.1.53
|
||||
- @llamaindex/readers@2.0.1
|
||||
- @llamaindex/workflow@0.0.11
|
||||
|
||||
## 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
|
||||
|
||||
+14
-13
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/doc",
|
||||
"version": "0.0.41",
|
||||
"version": "0.1.9",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "pnpm run build:docs && next build",
|
||||
@@ -28,25 +28,26 @@
|
||||
"@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",
|
||||
"next": "15.0.3",
|
||||
"next": "15.1.7",
|
||||
"next-themes": "^0.4.3",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-icons": "^5.3.0",
|
||||
"react-monaco-editor": "^0.56.2",
|
||||
"react-text-transition": "^3.1.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",
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -3,6 +3,8 @@ title: With Node.js/Bun/Deno
|
||||
description: In this guide, you'll learn how to use LlamaIndex with Node.js, Bun, and Deno.
|
||||
---
|
||||
|
||||
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
|
||||
## Adding environment variables
|
||||
|
||||
By default, LlamaIndex uses OpenAI provider, which requires an API key. You can set the `OPENAI_API_KEY` environment variable to authenticate with OpenAI.
|
||||
@@ -22,6 +24,26 @@ node --env-file .env your-script.js
|
||||
|
||||
For more information, see the [How to read environment variables from Node.js](https://nodejs.org/en/learn/command-line/how-to-read-environment-variables-from-nodejs).
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
By the default, we are using `js-tiktoken` for tokenization. You can install `gpt-tokenizer` which is then automatically used by LlamaIndex to get a 60x speedup for tokenization:
|
||||
|
||||
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
|
||||
```shell tab="npm"
|
||||
npm install gpt-tokenizer
|
||||
```
|
||||
|
||||
```shell tab="yarn"
|
||||
yarn add gpt-tokenizer
|
||||
```
|
||||
|
||||
```shell tab="pnpm"
|
||||
pnpm add gpt-tokenizer
|
||||
```
|
||||
</Tabs>
|
||||
|
||||
> Note: This only works for Node.js
|
||||
|
||||
## TypeScript support
|
||||
|
||||
<Card
|
||||
|
||||
@@ -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"]
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
---
|
||||
title: Agent Workflow
|
||||
---
|
||||
|
||||
import { DynamicCodeBlock } from 'fumadocs-ui/components/dynamic-codeblock';
|
||||
import CodeSource from "!raw-loader!../../../../../../../examples/agentworkflow/blog_writer.ts";
|
||||
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
|
||||
`AgentWorkflow` is a powerful system that enables you to create and orchestrate one or multiple agents with tools to perform specific tasks. It's built on top of the base `Workflow` system and provides a streamlined interface for agent interactions.
|
||||
|
||||
## Installation
|
||||
|
||||
You'll need to install the `@llamaindex/workflow` package:
|
||||
|
||||
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
|
||||
```shell tab="npm"
|
||||
npm install @llamaindex/workflow
|
||||
```
|
||||
|
||||
```shell tab="yarn"
|
||||
yarn add @llamaindex/workflow
|
||||
```
|
||||
|
||||
```shell tab="pnpm"
|
||||
pnpm add @llamaindex/workflow
|
||||
```
|
||||
</Tabs>
|
||||
|
||||
## Usage
|
||||
|
||||
### Single Agent Workflow
|
||||
|
||||
The simplest use case is creating a single agent with specific tools. Here's an example of creating an assistant that tells jokes:
|
||||
|
||||
```typescript
|
||||
import { AgentWorkflow, FunctionTool } from "llamaindex";
|
||||
import { OpenAI } from "@llamaindex/openai";
|
||||
|
||||
// Define a joke-telling tool
|
||||
const jokeTool = FunctionTool.from(
|
||||
() => "Baby Llama is called cria",
|
||||
{
|
||||
name: "joke",
|
||||
description: "Use this tool to get a joke",
|
||||
}
|
||||
);
|
||||
|
||||
// Create an agent workflow with the tool
|
||||
const workflow = AgentWorkflow.fromTools({
|
||||
tools: [jokeTool],
|
||||
llm: new OpenAI({
|
||||
model: "gpt-4o-mini",
|
||||
}),
|
||||
});
|
||||
|
||||
// Run the workflow
|
||||
const result = await workflow.run("Tell me something funny");
|
||||
console.log(result); // Baby Llama is called cria
|
||||
```
|
||||
|
||||
### Event Streaming
|
||||
|
||||
`AgentWorkflow` provides a unified interface for event streaming, making it easy to track and respond to different events during execution:
|
||||
|
||||
```typescript
|
||||
import { AgentToolCall, AgentStream } from "llamaindex";
|
||||
|
||||
// Get the workflow execution context
|
||||
const context = workflow.run("Tell me something funny");
|
||||
|
||||
// Stream and handle events
|
||||
for await (const event of context) {
|
||||
if (event instanceof AgentToolCall) {
|
||||
console.log(`Tool being called: ${event.data.toolName}`);
|
||||
}
|
||||
if (event instanceof AgentStream) {
|
||||
process.stdout.write(event.data.delta);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Multi-Agent Workflow
|
||||
|
||||
`AgentWorkflow` can orchestrate multiple agents, enabling complex interactions and task handoffs. Each agent in a multi-agent workflow requires:
|
||||
|
||||
- `name`: Unique identifier for the agent
|
||||
- `description`: Purpose description used for task routing
|
||||
- `tools`: Array of tools the agent can use
|
||||
- `canHandoffTo` (optional): Array of agent names or agent instances that this agent can delegate tasks to
|
||||
|
||||
Here's an example of a multi-agent system that combines joke-telling and weather information:
|
||||
|
||||
```typescript
|
||||
import { AgentWorkflow, FunctionAgent, FunctionTool } from "llamaindex";
|
||||
import { OpenAI } from "@llamaindex/openai";
|
||||
import { z } from "zod";
|
||||
|
||||
// Create a weather agent
|
||||
const weatherAgent = new FunctionAgent({
|
||||
name: "WeatherAgent",
|
||||
description: "Provides weather information for any city",
|
||||
tools: [
|
||||
FunctionTool.from(
|
||||
({ city }: { city: string }) => `The weather in ${city} is sunny`,
|
||||
{
|
||||
name: "fetchWeather",
|
||||
description: "Get weather information for a city",
|
||||
parameters: z.object({
|
||||
city: z.string(),
|
||||
}),
|
||||
}
|
||||
),
|
||||
],
|
||||
llm: new OpenAI({ model: "gpt-4o-mini" }),
|
||||
});
|
||||
|
||||
// Create a joke-telling agent
|
||||
const jokeAgent = new FunctionAgent({
|
||||
name: "JokeAgent",
|
||||
description: "Tells jokes and funny stories",
|
||||
tools: [jokeTool], // Using the joke tool defined earlier
|
||||
llm: new OpenAI({ model: "gpt-4o-mini" }),
|
||||
canHandoffTo: [weatherAgent], // Can hand off to the weather agent
|
||||
});
|
||||
|
||||
// Create the multi-agent workflow
|
||||
const workflow = new AgentWorkflow({
|
||||
agents: [jokeAgent, weatherAgent],
|
||||
rootAgent: jokeAgent, // Start with the joke agent
|
||||
});
|
||||
|
||||
// Run the workflow
|
||||
const result = await workflow.run(
|
||||
"Give me a morning greeting with a joke and the weather in San Francisco"
|
||||
);
|
||||
```
|
||||
|
||||
The workflow will coordinate between agents, allowing them to handle different aspects of the request and hand off tasks when appropriate.
|
||||
|
||||
+3
-2
@@ -2,10 +2,11 @@
|
||||
title: Jina AI
|
||||
---
|
||||
|
||||
To use Jina AI embeddings, you need to import `JinaAIEmbedding` from `llamaindex`.
|
||||
To use Jina AI embeddings, you need to import `JinaAIEmbedding` from `@llamaindex/jinaai`.
|
||||
|
||||
```ts
|
||||
import { JinaAIEmbedding, Settings } from "llamaindex";
|
||||
import { Settings } from "llamaindex";
|
||||
import { JinaAIEmbedding } from "@llamaindex/jinaai";
|
||||
|
||||
Settings.embedModel = new JinaAIEmbedding();
|
||||
|
||||
|
||||
+3
-2
@@ -2,10 +2,11 @@
|
||||
title: Together
|
||||
---
|
||||
|
||||
To use together embeddings, you need to import `TogetherEmbedding` from `llamaindex`.
|
||||
To use together embeddings, you need to import `TogetherEmbedding` from `@llamaindex/together`.
|
||||
|
||||
```ts
|
||||
import { TogetherEmbedding, Settings } from "llamaindex";
|
||||
import { Settings } from "llamaindex";
|
||||
import { TogetherEmbedding } from "@llamaindex/together";
|
||||
|
||||
Settings.embedModel = new TogetherEmbedding({
|
||||
apiKey: "<YOUR_API_KEY>",
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: VoyageAI
|
||||
---
|
||||
|
||||
To use VoyageAI embeddings, you need to import `VoyageAIEmbedding` from `@llamaindex/voyage-ai`.
|
||||
|
||||
## Installation
|
||||
|
||||
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
|
||||
<Tabs groupId="install" items={["npm", "yarn", "pnpm"]} persist>
|
||||
```shell tab="npm"
|
||||
npm install llamaindex @llamaindex/voyage-ai
|
||||
```
|
||||
|
||||
```shell tab="yarn"
|
||||
yarn add llamaindex @llamaindex/voyage-ai
|
||||
```
|
||||
|
||||
```shell tab="pnpm"
|
||||
pnpm add llamaindex @llamaindex/voyage-ai
|
||||
```
|
||||
</Tabs>
|
||||
|
||||
```ts
|
||||
import { VoyageAIEmbedding } from "@llamaindex/voyage-ai";
|
||||
import { Document, Settings, VectorStoreIndex } from "llamaindex";
|
||||
|
||||
Settings.embedModel = new VoyageAIEmbedding();
|
||||
|
||||
const document = new Document({ text: essay, id_: "essay" });
|
||||
|
||||
const index = await VectorStoreIndex.fromDocuments([document]);
|
||||
|
||||
const queryEngine = index.asQueryEngine();
|
||||
|
||||
const query = "What is the meaning of life?";
|
||||
|
||||
const results = await queryEngine.query({
|
||||
query,
|
||||
});
|
||||
```
|
||||
|
||||
## API Reference
|
||||
|
||||
- [VoyageAIEmbedding](/docs/api/classes/VoyageAIEmbedding)
|
||||
@@ -37,6 +37,31 @@ Settings.embedModel = new OpenAIEmbedding({
|
||||
|
||||
For local embeddings, you can use the [HuggingFace](/docs/llamaindex/modules/embeddings/available_embeddings/huggingface) embedding model.
|
||||
|
||||
## Local Ollama Embeddings With Remote Host
|
||||
|
||||
Ollama provides a way to run embedding models locally or connect to a remote Ollama instance. This is particularly useful when you need to:
|
||||
- Run embeddings without relying on external API services
|
||||
- Use custom embedding models
|
||||
- Connect to a shared Ollama instance in your network
|
||||
|
||||
The ENV variable method you will find elsewhere sometimes may not work with the OllamaEmbedding class. Also note, you'll need to change the host
|
||||
in the Ollama server to `0.0.0.0` to allow connections from other machines.
|
||||
|
||||
To use Ollama embeddings with a remote host, you need to specify the host URL in the configuration like this:
|
||||
|
||||
```typescript
|
||||
import { OllamaEmbedding } from "@llamaindex/ollama";
|
||||
import { Settings } from "llamaindex";
|
||||
|
||||
// Configure Ollama with a remote host
|
||||
Settings.embedModel = new OllamaEmbedding({
|
||||
model: "nomic-embed-text",
|
||||
config: {
|
||||
host: "http://your-ollama-host:11434"
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## Available Embeddings
|
||||
|
||||
Most available embeddings are listed in the sidebar on the left.
|
||||
|
||||
@@ -7,7 +7,8 @@ title: DeepSeek LLM
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { DeepSeekLLM, Settings } from "llamaindex";
|
||||
import { Settings } from "llamaindex";
|
||||
import { DeepSeekLLM } from "@llamaindex/deepseek";
|
||||
|
||||
Settings.llm = new DeepSeekLLM({
|
||||
apiKey: "<YOUR_API_KEY>",
|
||||
@@ -18,7 +19,8 @@ Settings.llm = new DeepSeekLLM({
|
||||
## Example
|
||||
|
||||
```ts
|
||||
import { DeepSeekLLM, Document, VectorStoreIndex, Settings } from "llamaindex";
|
||||
import { Document, VectorStoreIndex, Settings } from "llamaindex";
|
||||
import { DeepSeekLLM } from "@llamaindex/deepseek";
|
||||
|
||||
const deepseekLlm = new DeepSeekLLM({
|
||||
apiKey: "<YOUR_API_KEY>",
|
||||
|
||||
@@ -7,7 +7,8 @@ title: Fireworks LLM
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { FireworksLLM, Settings } from "llamaindex";
|
||||
import { Settings } from "llamaindex";
|
||||
import { FireworksLLM } from "@llamaindex/fireworks";
|
||||
|
||||
Settings.llm = new FireworksLLM({
|
||||
apiKey: "<YOUR_API_KEY>",
|
||||
|
||||
@@ -23,7 +23,8 @@ import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { Settings, TogetherLLM } from "llamaindex";
|
||||
import { Settings } from "llamaindex";
|
||||
import { TogetherLLM } from "@llamaindex/together";
|
||||
|
||||
Settings.llm = new TogetherLLM({
|
||||
apiKey: "<YOUR_API_KEY>",
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: Tools
|
||||
---
|
||||
|
||||
A "tool" is a utility that can be called by an agent on behalf of an LLM.
|
||||
A tool can be called to perform custom actions, or retrieve extra information based on the LLM-generated input.
|
||||
A result from a tool call can be used by subsequent steps in a workflow, or to compute a final answer.
|
||||
For example, a "weather tool" could fetch some live weather information from a geographical location.
|
||||
|
||||
## Function tool
|
||||
|
||||
Function tools are implemented with the `FunctionTool` class.
|
||||
A `FunctionTool` is constructed from a function with signature
|
||||
```ts
|
||||
(input: T, additionalArg?: AdditionalToolArgument) => R
|
||||
```
|
||||
where
|
||||
- `input` is generated by the LLM, `T` is the type defined by the tool `parameters`
|
||||
- `additionalArg` is an optional extra argument, see "Binding" below
|
||||
- `R` is the return type
|
||||
|
||||
### Binding
|
||||
|
||||
An additional argument can be bound to a tool, each tool call will be passed
|
||||
- the input provided by the LLM
|
||||
- the additional argument (extends object)
|
||||
|
||||
Note: calling the `bind` method will return a new `FunctionTool` instance, without modifying the tool which `bind` is called on.
|
||||
|
||||
Example to pass a `userToken` as additional argument:
|
||||
```ts
|
||||
// first arg is LLM input, second is bound arg
|
||||
const queryKnowledgeBase = async ({ question }, { userToken }) => {
|
||||
const response = await fetch(`https://knowledge-base.com?token=${userToken}&query=${question}`);
|
||||
// ...
|
||||
};
|
||||
|
||||
// define tool as usual
|
||||
const kbTool = FunctionTool.from(queryKnowledgeBase, {
|
||||
name: 'queryKnowledgeBase',
|
||||
description: 'Query knowledge base',
|
||||
parameters: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
question: {
|
||||
type: 'string',
|
||||
description: 'The user question',
|
||||
},
|
||||
},
|
||||
required: ['question'],
|
||||
},
|
||||
});
|
||||
|
||||
// create an agent
|
||||
const additionalArg = { userToken: 'abcd1234' };
|
||||
const kbAgent = new LLMAgent({
|
||||
tools: [kbTool.bind(additionalArg)],
|
||||
// llm, systemPrompt etc
|
||||
})
|
||||
```
|
||||
@@ -1,6 +1,13 @@
|
||||
{
|
||||
"plugin": ["typedoc-plugin-markdown", "typedoc-plugin-merge-modules"],
|
||||
"entryPoints": ["../../packages/llamaindex/src/index.ts"],
|
||||
"entryPoints": ["../../packages/**/src/index.ts"],
|
||||
"exclude": [
|
||||
"../../packages/autotool/**/src/index.ts",
|
||||
"**/node_modules/**",
|
||||
"**/dist/**",
|
||||
"**/test/**",
|
||||
"**/tests/**"
|
||||
],
|
||||
"tsconfig": "../../tsconfig.json",
|
||||
"readme": "none",
|
||||
"sourceLinkTemplate": "https://github.com/run-llama/LlamaIndexTS/blob/{gitRevision}/{path}#L{line}",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloudflare-hono",
|
||||
"version": "0.0.0",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"deploy": "wrangler deploy",
|
||||
|
||||
@@ -1,5 +1,74 @@
|
||||
# @llamaindex/cloudflare-worker-agent-test
|
||||
|
||||
## 0.0.143
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 0.0.142
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.0.141
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 0.0.140
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 0.0.139
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 0.0.138
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.0.137
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.0.136
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.0.135
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 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.143",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,60 @@
|
||||
# @llamaindex/llama-parse-browser-test
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.8
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.7
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.6
|
||||
|
||||
## 0.0.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.5
|
||||
|
||||
## 0.0.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.4
|
||||
|
||||
## 0.0.48
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.3
|
||||
|
||||
## 0.0.47
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [c902fcb]
|
||||
- @llamaindex/cloud@3.0.2
|
||||
|
||||
## 0.0.46
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@3.0.1
|
||||
|
||||
## 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.53",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,74 @@
|
||||
# @llamaindex/next-agent-test
|
||||
|
||||
## 0.1.143
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 0.1.142
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.1.141
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 0.1.140
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 0.1.139
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 0.1.138
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.1.137
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.1.136
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.1.135
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 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,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-agent-test",
|
||||
"version": "0.1.133",
|
||||
"version": "0.1.143",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
@@ -10,9 +10,9 @@
|
||||
"dependencies": {
|
||||
"ai": "^4.0.0",
|
||||
"llamaindex": "workspace:*",
|
||||
"next": "15.0.3",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1"
|
||||
"next": "15.1.7",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.9.0",
|
||||
|
||||
@@ -1,5 +1,74 @@
|
||||
# test-edge-runtime
|
||||
|
||||
## 0.1.142
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 0.1.141
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.1.140
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 0.1.139
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 0.1.138
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 0.1.137
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.1.136
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.1.135
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.1.134
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 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.142",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
@@ -9,7 +9,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"llamaindex": "workspace:*",
|
||||
"next": "15.0.3",
|
||||
"next": "15.1.7",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,94 @@
|
||||
# @llamaindex/next-node-runtime
|
||||
|
||||
## 0.1.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
- @llamaindex/huggingface@0.0.43
|
||||
- @llamaindex/readers@2.0.7
|
||||
|
||||
## 0.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.1.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
- @llamaindex/huggingface@0.0.42
|
||||
- @llamaindex/readers@2.0.6
|
||||
|
||||
## 0.1.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
- @llamaindex/huggingface@0.0.41
|
||||
- @llamaindex/readers@2.0.5
|
||||
|
||||
## 0.1.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
- @llamaindex/huggingface@0.0.40
|
||||
- @llamaindex/readers@2.0.4
|
||||
|
||||
## 0.1.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
- @llamaindex/huggingface@0.0.39
|
||||
- @llamaindex/readers@2.0.3
|
||||
|
||||
## 0.1.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
- @llamaindex/huggingface@0.0.38
|
||||
- @llamaindex/readers@2.0.2
|
||||
|
||||
## 0.1.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
- @llamaindex/huggingface@0.0.37
|
||||
- @llamaindex/readers@2.0.1
|
||||
|
||||
## 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.9",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
@@ -11,9 +11,9 @@
|
||||
"llamaindex": "workspace:*",
|
||||
"@llamaindex/huggingface": "workspace:*",
|
||||
"@llamaindex/readers": "workspace:*",
|
||||
"next": "15.0.3",
|
||||
"react": "18.3.1",
|
||||
"react-dom": "18.3.1"
|
||||
"next": "15.1.7",
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.9.0",
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1,60 @@
|
||||
# vite-import-llamaindex
|
||||
|
||||
## 0.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 0.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 0.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 0.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "vite-import-llamaindex",
|
||||
"private": true,
|
||||
"version": "0.0.9",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
"size-limit": "size-limit"
|
||||
},
|
||||
"size-limit": [
|
||||
{
|
||||
"path": "dist/LlamaIndexImportTest.js"
|
||||
}
|
||||
],
|
||||
"devDependencies": {
|
||||
"@size-limit/preset-big-lib": "^11.1.6",
|
||||
"size-limit": "^11.1.6",
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^6.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"llamaindex": "workspace:*"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,7 @@
|
||||
import "llamaindex";
|
||||
|
||||
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
||||
<div>
|
||||
Hello World!
|
||||
</div>
|
||||
`;
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"module": "ESNext",
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUncheckedSideEffectImports": true
|
||||
},
|
||||
"include": ["src", "vite.config.ts"]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { dirname, resolve } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { defineConfig } from "vite";
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
lib: {
|
||||
entry: resolve(__dirname, "src/main.ts"),
|
||||
name: "LlamaIndexImportTest",
|
||||
fileName: "LlamaIndexImportTest",
|
||||
formats: ["es", "cjs"],
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -5,3 +5,4 @@ dist
|
||||
.cache
|
||||
.DS_Store
|
||||
*.pem
|
||||
/src/pages.gen.ts
|
||||
|
||||
@@ -1,5 +1,77 @@
|
||||
# @llamaindex/waku-query-engine-test
|
||||
|
||||
## 0.0.143
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 0.0.142
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 0.0.141
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/env@0.1.29
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 0.0.140
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 0.0.139
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 0.0.138
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.0.137
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.0.136
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.0.135
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- Updated dependencies [6d37d44]
|
||||
- @llamaindex/env@0.1.28
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 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/waku-query-engine-test",
|
||||
"version": "0.0.133",
|
||||
"version": "0.0.143",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -11,10 +11,10 @@
|
||||
"dependencies": {
|
||||
"@llamaindex/env": "workspace:*",
|
||||
"llamaindex": "workspace:*",
|
||||
"react": "19.0.0-rc-5c56b873-20241107",
|
||||
"react-dom": "19.0.0-rc-5c56b873-20241107",
|
||||
"react-server-dom-webpack": "19.0.0-rc-5c56b873-20241107",
|
||||
"waku": "0.21.6"
|
||||
"react": "19.0.0",
|
||||
"react-dom": "19.0.0",
|
||||
"react-server-dom-webpack": "19.0.0",
|
||||
"waku": "0.21.20"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "18.3.12",
|
||||
|
||||
+30
-11
@@ -1,5 +1,7 @@
|
||||
import assert from "node:assert";
|
||||
import { execSync } from "node:child_process";
|
||||
import { mkdir, rm, writeFile } from "node:fs/promises";
|
||||
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
||||
import { createRequire } from "node:module";
|
||||
import { resolve } from "node:path";
|
||||
import { test } from "node:test";
|
||||
import { testRootDir } from "./utils.js";
|
||||
@@ -14,17 +16,17 @@ const { Document, MetadataMode, VectorStoreIndex } = require('llamaindex')
|
||||
const { OpenAIEmbedding } = require('@llamaindex/openai')
|
||||
const { Settings } = require('@llamaindex/core/global')`;
|
||||
const mainCode = `
|
||||
async function main() {
|
||||
Settings.embedModel = new OpenAIEmbedding({
|
||||
model: 'text-embedding-3-small',
|
||||
apiKey: '${process.env.OPENAI_API_KEY}',
|
||||
})
|
||||
const model = Settings.embedModel
|
||||
if (model == null) {
|
||||
process.exit(-1)
|
||||
}
|
||||
Settings.embedModel = new OpenAIEmbedding({
|
||||
model: 'text-embedding-3-small',
|
||||
apiKey: '${process.env.OPENAI_API_KEY}',
|
||||
})
|
||||
const model = Settings.embedModel
|
||||
if (model == null) {
|
||||
process.exit(-1)
|
||||
}
|
||||
main().catch(console.error)`;
|
||||
const document = new Document({ text: 'Hello, world!' })
|
||||
const index = await VectorStoreIndex.fromDocuments([document])
|
||||
`;
|
||||
t.before(async () => {
|
||||
await mkdir(resolve(testRootDir, ".temp"), {
|
||||
recursive: true,
|
||||
@@ -84,3 +86,20 @@ main().catch(console.error)`;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
test('no extra deps in "@llamaindex/env" cjs module', async () => {
|
||||
const modules = ["@aws-crypto/sha256-js"];
|
||||
const require = createRequire(import.meta.url);
|
||||
const envPackage = require.resolve("@llamaindex/env");
|
||||
const file = await readFile(envPackage, "utf-8");
|
||||
for (const module of modules) {
|
||||
assert.ok(!file.includes(module));
|
||||
}
|
||||
});
|
||||
|
||||
test('no error when require "llamaindex" in CJS', async () => {
|
||||
const code = `require('llamaindex')`;
|
||||
execSync(`${process.argv[0]} -e "${code}"`, {
|
||||
cwd: process.cwd(),
|
||||
});
|
||||
});
|
||||
|
||||
+1
-1
@@ -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",
|
||||
|
||||
@@ -1,5 +1,349 @@
|
||||
# examples
|
||||
|
||||
## 0.2.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [58b3ee5]
|
||||
- Updated dependencies [4bac71d]
|
||||
- Updated dependencies [8bf1ca1]
|
||||
- @llamaindex/google@0.1.0
|
||||
- @llamaindex/core@0.5.7
|
||||
- @llamaindex/anthropic@0.2.5
|
||||
- @llamaindex/cloud@3.0.8
|
||||
- llamaindex@0.9.9
|
||||
- @llamaindex/node-parser@1.0.7
|
||||
- @llamaindex/clip@0.0.43
|
||||
- @llamaindex/cohere@0.0.12
|
||||
- @llamaindex/deepinfra@0.0.43
|
||||
- @llamaindex/huggingface@0.0.43
|
||||
- @llamaindex/jinaai@0.0.3
|
||||
- @llamaindex/mistral@0.0.12
|
||||
- @llamaindex/mixedbread@0.0.12
|
||||
- @llamaindex/ollama@0.0.47
|
||||
- @llamaindex/openai@0.1.59
|
||||
- @llamaindex/portkey-ai@0.0.40
|
||||
- @llamaindex/replicate@0.0.40
|
||||
- @llamaindex/astra@0.0.12
|
||||
- @llamaindex/azure@0.1.7
|
||||
- @llamaindex/chroma@0.0.12
|
||||
- @llamaindex/firestore@1.0.5
|
||||
- @llamaindex/milvus@0.1.7
|
||||
- @llamaindex/mongodb@0.0.12
|
||||
- @llamaindex/pinecone@0.0.12
|
||||
- @llamaindex/postgres@0.0.40
|
||||
- @llamaindex/qdrant@0.1.7
|
||||
- @llamaindex/upstash@0.0.12
|
||||
- @llamaindex/weaviate@0.0.12
|
||||
- @llamaindex/vercel@0.0.18
|
||||
- @llamaindex/voyage-ai@1.0.4
|
||||
- @llamaindex/readers@2.0.7
|
||||
- @llamaindex/workflow@0.0.15
|
||||
- @llamaindex/deepseek@0.0.3
|
||||
- @llamaindex/fireworks@0.0.3
|
||||
- @llamaindex/groq@0.0.58
|
||||
- @llamaindex/together@0.0.3
|
||||
- @llamaindex/vllm@0.0.29
|
||||
|
||||
## 0.2.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4b49428]
|
||||
- Updated dependencies [bbc8c87]
|
||||
- Updated dependencies [7ee4968]
|
||||
- @llamaindex/workflow@0.0.14
|
||||
- llamaindex@0.9.8
|
||||
- @llamaindex/deepseek@0.0.2
|
||||
- @llamaindex/fireworks@0.0.2
|
||||
- @llamaindex/together@0.0.2
|
||||
- @llamaindex/jinaai@0.0.2
|
||||
- @llamaindex/google@0.0.14
|
||||
|
||||
## 0.2.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/env@0.1.29
|
||||
- @llamaindex/core@0.5.6
|
||||
- llamaindex@0.9.7
|
||||
- @llamaindex/cloud@3.0.7
|
||||
- @llamaindex/node-parser@1.0.6
|
||||
- @llamaindex/anthropic@0.2.4
|
||||
- @llamaindex/clip@0.0.42
|
||||
- @llamaindex/cohere@0.0.11
|
||||
- @llamaindex/deepinfra@0.0.42
|
||||
- @llamaindex/google@0.0.13
|
||||
- @llamaindex/groq@0.0.57
|
||||
- @llamaindex/huggingface@0.0.42
|
||||
- @llamaindex/mistral@0.0.11
|
||||
- @llamaindex/mixedbread@0.0.11
|
||||
- @llamaindex/ollama@0.0.46
|
||||
- @llamaindex/openai@0.1.58
|
||||
- @llamaindex/portkey-ai@0.0.39
|
||||
- @llamaindex/replicate@0.0.39
|
||||
- @llamaindex/astra@0.0.11
|
||||
- @llamaindex/azure@0.1.6
|
||||
- @llamaindex/chroma@0.0.11
|
||||
- @llamaindex/firestore@1.0.4
|
||||
- @llamaindex/milvus@0.1.6
|
||||
- @llamaindex/mongodb@0.0.11
|
||||
- @llamaindex/pinecone@0.0.11
|
||||
- @llamaindex/postgres@0.0.39
|
||||
- @llamaindex/qdrant@0.1.6
|
||||
- @llamaindex/upstash@0.0.11
|
||||
- @llamaindex/weaviate@0.0.11
|
||||
- @llamaindex/voyage-ai@1.0.3
|
||||
- @llamaindex/readers@2.0.6
|
||||
- @llamaindex/workflow@0.0.13
|
||||
- @llamaindex/vercel@0.0.17
|
||||
- @llamaindex/vllm@0.0.28
|
||||
|
||||
## 0.2.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5668970]
|
||||
- Updated dependencies [fd74ba4]
|
||||
- @llamaindex/core@0.5.5
|
||||
- @llamaindex/workflow@0.0.12
|
||||
- @llamaindex/voyage-ai@1.0.2
|
||||
- @llamaindex/cloud@3.0.6
|
||||
- llamaindex@0.9.6
|
||||
- @llamaindex/node-parser@1.0.5
|
||||
- @llamaindex/anthropic@0.2.3
|
||||
- @llamaindex/clip@0.0.41
|
||||
- @llamaindex/cohere@0.0.10
|
||||
- @llamaindex/deepinfra@0.0.41
|
||||
- @llamaindex/google@0.0.12
|
||||
- @llamaindex/huggingface@0.0.41
|
||||
- @llamaindex/mistral@0.0.10
|
||||
- @llamaindex/mixedbread@0.0.10
|
||||
- @llamaindex/ollama@0.0.45
|
||||
- @llamaindex/openai@0.1.57
|
||||
- @llamaindex/portkey-ai@0.0.38
|
||||
- @llamaindex/replicate@0.0.38
|
||||
- @llamaindex/astra@0.0.10
|
||||
- @llamaindex/azure@0.1.5
|
||||
- @llamaindex/chroma@0.0.10
|
||||
- @llamaindex/firestore@1.0.3
|
||||
- @llamaindex/milvus@0.1.5
|
||||
- @llamaindex/mongodb@0.0.10
|
||||
- @llamaindex/pinecone@0.0.10
|
||||
- @llamaindex/postgres@0.0.38
|
||||
- @llamaindex/qdrant@0.1.5
|
||||
- @llamaindex/upstash@0.0.10
|
||||
- @llamaindex/weaviate@0.0.10
|
||||
- @llamaindex/vercel@0.0.16
|
||||
- @llamaindex/readers@2.0.5
|
||||
- @llamaindex/groq@0.0.56
|
||||
- @llamaindex/vllm@0.0.27
|
||||
|
||||
## 0.2.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ad3c7f1]
|
||||
- @llamaindex/core@0.5.4
|
||||
- @llamaindex/cloud@3.0.5
|
||||
- llamaindex@0.9.5
|
||||
- @llamaindex/node-parser@1.0.4
|
||||
- @llamaindex/anthropic@0.2.2
|
||||
- @llamaindex/clip@0.0.40
|
||||
- @llamaindex/cohere@0.0.9
|
||||
- @llamaindex/deepinfra@0.0.40
|
||||
- @llamaindex/google@0.0.11
|
||||
- @llamaindex/huggingface@0.0.40
|
||||
- @llamaindex/mistral@0.0.9
|
||||
- @llamaindex/mixedbread@0.0.9
|
||||
- @llamaindex/ollama@0.0.44
|
||||
- @llamaindex/openai@0.1.56
|
||||
- @llamaindex/portkey-ai@0.0.37
|
||||
- @llamaindex/replicate@0.0.37
|
||||
- @llamaindex/astra@0.0.9
|
||||
- @llamaindex/azure@0.1.4
|
||||
- @llamaindex/chroma@0.0.9
|
||||
- @llamaindex/firestore@1.0.2
|
||||
- @llamaindex/milvus@0.1.4
|
||||
- @llamaindex/mongodb@0.0.9
|
||||
- @llamaindex/pinecone@0.0.9
|
||||
- @llamaindex/postgres@0.0.37
|
||||
- @llamaindex/qdrant@0.1.4
|
||||
- @llamaindex/upstash@0.0.9
|
||||
- @llamaindex/weaviate@0.0.9
|
||||
- @llamaindex/vercel@0.0.15
|
||||
- @llamaindex/voyage-ai@1.0.1
|
||||
- @llamaindex/readers@2.0.4
|
||||
- @llamaindex/groq@0.0.55
|
||||
- @llamaindex/vllm@0.0.26
|
||||
|
||||
## 0.2.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- Updated dependencies [0346391]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
- llamaindex@0.9.4
|
||||
- @llamaindex/voyage-ai@1.0.0
|
||||
- @llamaindex/clip@0.0.39
|
||||
- @llamaindex/deepinfra@0.0.39
|
||||
- @llamaindex/groq@0.0.54
|
||||
- @llamaindex/huggingface@0.0.39
|
||||
- @llamaindex/azure@0.1.3
|
||||
- @llamaindex/milvus@0.1.3
|
||||
- @llamaindex/qdrant@0.1.3
|
||||
- @llamaindex/vllm@0.0.25
|
||||
- @llamaindex/cloud@3.0.4
|
||||
- @llamaindex/node-parser@1.0.3
|
||||
- @llamaindex/anthropic@0.2.1
|
||||
- @llamaindex/cohere@0.0.8
|
||||
- @llamaindex/google@0.0.10
|
||||
- @llamaindex/mistral@0.0.8
|
||||
- @llamaindex/mixedbread@0.0.8
|
||||
- @llamaindex/ollama@0.0.43
|
||||
- @llamaindex/portkey-ai@0.0.36
|
||||
- @llamaindex/replicate@0.0.36
|
||||
- @llamaindex/astra@0.0.8
|
||||
- @llamaindex/chroma@0.0.8
|
||||
- @llamaindex/firestore@1.0.1
|
||||
- @llamaindex/mongodb@0.0.8
|
||||
- @llamaindex/pinecone@0.0.8
|
||||
- @llamaindex/postgres@0.0.36
|
||||
- @llamaindex/upstash@0.0.8
|
||||
- @llamaindex/weaviate@0.0.8
|
||||
- @llamaindex/vercel@0.0.14
|
||||
- @llamaindex/readers@2.0.3
|
||||
|
||||
## 0.2.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3564244: Add support for claude 3.7 thinking (and set default temperature to 1)
|
||||
- 3564244: add support for claude 3.7
|
||||
- Updated dependencies [d952e68]
|
||||
- Updated dependencies [a9c6144]
|
||||
- Updated dependencies [5c026e8]
|
||||
- Updated dependencies [3564244]
|
||||
- Updated dependencies [3564244]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/anthropic@0.2.0
|
||||
- @llamaindex/firestore@1.0.0
|
||||
- @llamaindex/cloud@3.0.3
|
||||
- llamaindex@0.9.3
|
||||
- @llamaindex/node-parser@1.0.2
|
||||
- @llamaindex/clip@0.0.38
|
||||
- @llamaindex/cohere@0.0.7
|
||||
- @llamaindex/deepinfra@0.0.38
|
||||
- @llamaindex/google@0.0.9
|
||||
- @llamaindex/huggingface@0.0.38
|
||||
- @llamaindex/mistral@0.0.7
|
||||
- @llamaindex/mixedbread@0.0.7
|
||||
- @llamaindex/ollama@0.0.42
|
||||
- @llamaindex/openai@0.1.54
|
||||
- @llamaindex/portkey-ai@0.0.35
|
||||
- @llamaindex/replicate@0.0.35
|
||||
- @llamaindex/astra@0.0.7
|
||||
- @llamaindex/azure@0.1.2
|
||||
- @llamaindex/chroma@0.0.7
|
||||
- @llamaindex/milvus@0.1.2
|
||||
- @llamaindex/mongodb@0.0.7
|
||||
- @llamaindex/pinecone@0.0.7
|
||||
- @llamaindex/postgres@0.0.35
|
||||
- @llamaindex/qdrant@0.1.2
|
||||
- @llamaindex/upstash@0.0.7
|
||||
- @llamaindex/weaviate@0.0.7
|
||||
- @llamaindex/vercel@0.0.13
|
||||
- @llamaindex/readers@2.0.2
|
||||
- @llamaindex/groq@0.0.53
|
||||
- @llamaindex/vllm@0.0.24
|
||||
|
||||
## 0.2.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- Updated dependencies [6d37d44]
|
||||
- @llamaindex/env@0.1.28
|
||||
- llamaindex@0.9.1
|
||||
- @llamaindex/cloud@3.0.1
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/node-parser@1.0.1
|
||||
- @llamaindex/anthropic@0.1.1
|
||||
- @llamaindex/clip@0.0.37
|
||||
- @llamaindex/cohere@0.0.6
|
||||
- @llamaindex/deepinfra@0.0.37
|
||||
- @llamaindex/google@0.0.8
|
||||
- @llamaindex/groq@0.0.52
|
||||
- @llamaindex/huggingface@0.0.37
|
||||
- @llamaindex/mistral@0.0.6
|
||||
- @llamaindex/mixedbread@0.0.6
|
||||
- @llamaindex/ollama@0.0.41
|
||||
- @llamaindex/openai@0.1.53
|
||||
- @llamaindex/portkey-ai@0.0.34
|
||||
- @llamaindex/replicate@0.0.34
|
||||
- @llamaindex/astra@0.0.6
|
||||
- @llamaindex/azure@0.1.1
|
||||
- @llamaindex/chroma@0.0.6
|
||||
- @llamaindex/milvus@0.1.1
|
||||
- @llamaindex/mongodb@0.0.6
|
||||
- @llamaindex/pinecone@0.0.6
|
||||
- @llamaindex/postgres@0.0.34
|
||||
- @llamaindex/qdrant@0.1.1
|
||||
- @llamaindex/upstash@0.0.6
|
||||
- @llamaindex/weaviate@0.0.6
|
||||
- @llamaindex/readers@2.0.1
|
||||
- @llamaindex/workflow@0.0.11
|
||||
- @llamaindex/vercel@0.0.12
|
||||
- @llamaindex/vllm@0.0.23
|
||||
|
||||
## 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
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
import { OpenAI } from "@llamaindex/openai";
|
||||
import fs from "fs";
|
||||
import {
|
||||
AgentToolCall,
|
||||
AgentToolCallResult,
|
||||
AgentWorkflow,
|
||||
FunctionAgent,
|
||||
FunctionTool,
|
||||
} from "llamaindex";
|
||||
import os from "os";
|
||||
import { z } from "zod";
|
||||
|
||||
import { WikipediaTool } from "../wiki";
|
||||
const llm = new OpenAI({
|
||||
model: "gpt-4o-mini",
|
||||
});
|
||||
|
||||
const saveFileTool = FunctionTool.from(
|
||||
({ content }: { content: string }) => {
|
||||
const filePath = os.tmpdir() + "/report.md";
|
||||
fs.writeFileSync(filePath, content);
|
||||
return `File saved successfully at ${filePath}`;
|
||||
},
|
||||
{
|
||||
name: "saveFile",
|
||||
description:
|
||||
"Save the written content into a file that can be downloaded by the user",
|
||||
parameters: z.object({
|
||||
content: z.string({
|
||||
description: "The content to save into a file",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
async function main() {
|
||||
const reportAgent = new FunctionAgent({
|
||||
name: "ReportAgent",
|
||||
description:
|
||||
"Responsible for crafting well-written blog posts based on research findings",
|
||||
systemPrompt: `You are a professional writer. Your task is to create an engaging blog post using the research content provided. Once complete, save the post to a file using the saveFile tool.`,
|
||||
tools: [saveFileTool],
|
||||
llm,
|
||||
});
|
||||
|
||||
const researchAgent = new FunctionAgent({
|
||||
name: "ResearchAgent",
|
||||
description:
|
||||
"Responsible for gathering relevant information from the internet",
|
||||
systemPrompt: `You are a research agent. Your role is to gather information from the internet using the provided tools and then transfer this information to the report agent for content creation.`,
|
||||
tools: [new WikipediaTool()],
|
||||
canHandoffTo: [reportAgent],
|
||||
llm,
|
||||
});
|
||||
|
||||
const workflow = new AgentWorkflow({
|
||||
agents: [researchAgent, reportAgent],
|
||||
rootAgent: researchAgent,
|
||||
});
|
||||
|
||||
const context = workflow.run("Write a blog post about history of LLM");
|
||||
|
||||
let finalResult;
|
||||
for await (const event of context) {
|
||||
if (event instanceof AgentToolCall) {
|
||||
console.log(
|
||||
`[Agent ${event.displayName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
|
||||
event.data.toolKwargs,
|
||||
)}`,
|
||||
);
|
||||
} else if (event instanceof AgentToolCallResult) {
|
||||
console.log(
|
||||
`[Agent ${event.displayName}] executed tool ${event.data.toolName} with result ${event.data.toolOutput.result}`,
|
||||
);
|
||||
}
|
||||
finalResult = event;
|
||||
}
|
||||
console.log("Final result:", finalResult?.data);
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
@@ -0,0 +1,110 @@
|
||||
/**
|
||||
* This example shows how to use AgentWorkflow with multiple agents
|
||||
* 1. FetchWeatherAgent - Fetches the weather in a city
|
||||
* 2. TemperatureConverterAgent - Converts the temperature from Fahrenheit to Celsius
|
||||
*/
|
||||
import { OpenAI } from "@llamaindex/openai";
|
||||
import { StopEvent } from "@llamaindex/workflow";
|
||||
import {
|
||||
AgentInput,
|
||||
AgentOutput,
|
||||
AgentStream,
|
||||
AgentToolCall,
|
||||
AgentToolCallResult,
|
||||
AgentWorkflow,
|
||||
FunctionAgent,
|
||||
FunctionTool,
|
||||
} from "llamaindex";
|
||||
import { z } from "zod";
|
||||
|
||||
const llm = new OpenAI({
|
||||
model: "gpt-4o-mini",
|
||||
});
|
||||
|
||||
// Define tools for the agents
|
||||
const temperatureConverterTool = FunctionTool.from(
|
||||
({ temperature }: { temperature: number }) => {
|
||||
return ((temperature - 32) * 5) / 9;
|
||||
},
|
||||
{
|
||||
description: "Convert a temperature from Fahrenheit to Celsius",
|
||||
name: "fahrenheitToCelsius",
|
||||
parameters: z.object({
|
||||
temperature: z.number({
|
||||
description: "The temperature in Fahrenheit",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
const temperatureFetcherTool = FunctionTool.from(
|
||||
({ city }: { city: string }) => {
|
||||
const temperature = Math.floor(Math.random() * 58) + 32;
|
||||
return `The current temperature in ${city} is ${temperature}°F`;
|
||||
},
|
||||
{
|
||||
description: "Fetch the temperature (in Fahrenheit) for a city",
|
||||
name: "fetchTemperature",
|
||||
parameters: z.object({
|
||||
city: z.string({
|
||||
description: "The city to fetch the temperature for",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
// Create agents
|
||||
async function multiWeatherAgent() {
|
||||
const converterAgent = new FunctionAgent({
|
||||
name: "TemperatureConverterAgent",
|
||||
description:
|
||||
"An agent that can convert temperatures from Fahrenheit to Celsius.",
|
||||
tools: [temperatureConverterTool],
|
||||
llm,
|
||||
});
|
||||
|
||||
const weatherAgent = new FunctionAgent({
|
||||
name: "FetchWeatherAgent",
|
||||
description: "An agent that can get the weather in a city. ",
|
||||
systemPrompt:
|
||||
"If you can't answer the user question, hand off to other agents.",
|
||||
tools: [temperatureFetcherTool],
|
||||
llm,
|
||||
// Define which next agents can be called next if this agent cannot complete the task
|
||||
// Can be passed as agent name, e.g. "TemperatureConverterAgent"
|
||||
canHandoffTo: [converterAgent],
|
||||
});
|
||||
|
||||
// Create agent workflow with the agents
|
||||
const workflow = new AgentWorkflow({
|
||||
agents: [weatherAgent, converterAgent],
|
||||
rootAgent: weatherAgent,
|
||||
verbose: false,
|
||||
});
|
||||
|
||||
// Ask the agent to get the weather in a city
|
||||
const context = workflow.run(
|
||||
"What is the weather in San Francisco in Celsius?",
|
||||
);
|
||||
// Stream the events
|
||||
for await (const event of context) {
|
||||
// These events might be useful for UI
|
||||
if (
|
||||
event instanceof AgentToolCall ||
|
||||
event instanceof AgentToolCallResult ||
|
||||
event instanceof AgentOutput ||
|
||||
event instanceof AgentInput ||
|
||||
event instanceof StopEvent
|
||||
) {
|
||||
console.log(event);
|
||||
} else if (event instanceof AgentStream) {
|
||||
for (const chunk of event.data.delta) {
|
||||
process.stdout.write(chunk);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
multiWeatherAgent().catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* This example shows how to use AgentWorkflow as a single agent with tools
|
||||
*/
|
||||
import { OpenAI } from "@llamaindex/openai";
|
||||
import { AgentWorkflow } from "llamaindex";
|
||||
import { getWeatherTool } from "../agent/utils/tools";
|
||||
|
||||
const llm = new OpenAI({
|
||||
model: "gpt-4o",
|
||||
});
|
||||
|
||||
async function singleWeatherAgent() {
|
||||
const workflow = AgentWorkflow.fromTools({
|
||||
tools: [getWeatherTool],
|
||||
llm,
|
||||
verbose: false,
|
||||
});
|
||||
|
||||
const workflowContext = workflow.run(
|
||||
"What's the weather like in San Francisco?",
|
||||
);
|
||||
const sfResult = await workflowContext;
|
||||
// The weather in San Francisco, CA is currently sunny.
|
||||
console.log(`${JSON.stringify(sfResult, null, 2)}`);
|
||||
|
||||
// Reuse the context from the previous run
|
||||
const workflowContext2 = workflow.run("Compare it with California?", {
|
||||
context: workflowContext.data,
|
||||
});
|
||||
const caResult = await workflowContext2;
|
||||
// Both San Francisco and California are currently experiencing sunny weather.
|
||||
console.log(`${JSON.stringify(caResult, null, 2)}`);
|
||||
}
|
||||
|
||||
singleWeatherAgent().catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
@@ -0,0 +1,114 @@
|
||||
import fs from "fs";
|
||||
import {
|
||||
AgentToolCall,
|
||||
AgentToolCallResult,
|
||||
AgentWorkflow,
|
||||
FunctionAgent,
|
||||
FunctionTool,
|
||||
} from "llamaindex";
|
||||
import { z } from "zod";
|
||||
|
||||
import { Anthropic } from "@llamaindex/anthropic";
|
||||
|
||||
const llm = new Anthropic({
|
||||
model: "claude-3-5-sonnet",
|
||||
});
|
||||
|
||||
const weatherTool = FunctionTool.from(
|
||||
(query: { location: string }) => {
|
||||
return `The weather in ${query.location} is sunny`;
|
||||
},
|
||||
{
|
||||
name: "weather",
|
||||
description: "Get the weather",
|
||||
parameters: z.object({
|
||||
location: z.string({
|
||||
description: "The location to get the weather for",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
const inflationTool = FunctionTool.from(
|
||||
(query: { location: string }) => {
|
||||
return `The inflation in ${query.location} is 2%`;
|
||||
},
|
||||
{
|
||||
name: "inflation",
|
||||
description: "Get the inflation",
|
||||
parameters: z.object({
|
||||
location: z.string({
|
||||
description: "The location to get the inflation for",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
const saveFileTool = FunctionTool.from(
|
||||
({ content }: { content: string }) => {
|
||||
const filePath = "./report.md";
|
||||
fs.writeFileSync(filePath, content);
|
||||
return `File saved successfully at ${filePath}`;
|
||||
},
|
||||
{
|
||||
name: "saveFile",
|
||||
description:
|
||||
"Save the written content into a file that can be downloaded by the user",
|
||||
parameters: z.object({
|
||||
content: z.string({
|
||||
description: "The content to save into a file",
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
async function main() {
|
||||
const reportAgent = new FunctionAgent({
|
||||
name: "ReportAgent",
|
||||
description:
|
||||
"Responsible for creating concise reports about weather and inflation data",
|
||||
systemPrompt: `You are a professional writer. Your task is to create a clear and concise report summarizing the weather and inflation data provided. Once complete, save the report to a file using the saveFile tool.`,
|
||||
tools: [saveFileTool],
|
||||
llm,
|
||||
});
|
||||
|
||||
const researchAgent = new FunctionAgent({
|
||||
name: "ResearchAgent",
|
||||
description:
|
||||
"Responsible for gathering relevant information from the internet",
|
||||
systemPrompt: `You are a research agent. Your role is to gather information about the inflation and weather in the location provided.`,
|
||||
tools: [inflationTool, weatherTool],
|
||||
canHandoffTo: [reportAgent],
|
||||
llm,
|
||||
});
|
||||
|
||||
const workflow = new AgentWorkflow({
|
||||
agents: [researchAgent, reportAgent],
|
||||
rootAgent: researchAgent,
|
||||
});
|
||||
|
||||
const context = workflow.run(
|
||||
"Write a report about New York weather and inflation",
|
||||
);
|
||||
|
||||
let finalResult;
|
||||
for await (const event of context) {
|
||||
if (event instanceof AgentToolCall) {
|
||||
console.log(
|
||||
`[Agent ${event.displayName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
|
||||
event.data.toolKwargs,
|
||||
)}`,
|
||||
);
|
||||
} else if (event instanceof AgentToolCallResult) {
|
||||
console.log(
|
||||
`[Agent ${event.displayName}] executed tool ${event.data.toolName} with result ${event.data.toolOutput.result}`,
|
||||
);
|
||||
}
|
||||
finalResult = event;
|
||||
}
|
||||
console.log("Final result:", finalResult?.data);
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
@@ -8,7 +8,7 @@ Settings.callbackManager.on("llm-tool-call", (event) => {
|
||||
|
||||
const anthropic = new Anthropic({
|
||||
apiKey: process.env.ANTHROPIC_API_KEY,
|
||||
model: "claude-3-5-sonnet",
|
||||
model: "claude-3-7-sonnet",
|
||||
});
|
||||
|
||||
const agent = new AnthropicAgent({
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Anthropic } from "@llamaindex/anthropic";
|
||||
(async () => {
|
||||
const anthropic = new Anthropic({
|
||||
apiKey: process.env.ANTHROPIC_API_KEY,
|
||||
model: "claude-3-opus",
|
||||
model: "claude-3-7-sonnet",
|
||||
});
|
||||
const result = await anthropic.chat({
|
||||
messages: [
|
||||
@@ -15,5 +15,5 @@ import { Anthropic } from "@llamaindex/anthropic";
|
||||
},
|
||||
],
|
||||
});
|
||||
console.log(result);
|
||||
console.log(result.message.content);
|
||||
})();
|
||||
|
||||
@@ -6,7 +6,7 @@ import readline from "node:readline/promises";
|
||||
(async () => {
|
||||
const llm = new Anthropic({
|
||||
apiKey: process.env.ANTHROPIC_API_KEY,
|
||||
model: "claude-3-opus",
|
||||
model: "claude-3-7-sonnet",
|
||||
});
|
||||
// chatHistory will store all the messages in the conversation
|
||||
const chatHistory = new ChatMemoryBuffer({
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Anthropic } from "@llamaindex/anthropic";
|
||||
|
||||
async function main() {
|
||||
const anthropic = new Anthropic({
|
||||
model: "claude-3-5-sonnet-20241022",
|
||||
model: "claude-3-7-sonnet",
|
||||
});
|
||||
|
||||
const entireBook = await fetch(
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Anthropic } from "@llamaindex/anthropic";
|
||||
(async () => {
|
||||
const anthropic = new Anthropic({
|
||||
apiKey: process.env.ANTHROPIC_API_KEY,
|
||||
model: "claude-3-5-sonnet",
|
||||
model: "claude-3-7-sonnet",
|
||||
});
|
||||
const stream = await anthropic.chat({
|
||||
messages: [
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
import { Anthropic } from "@llamaindex/anthropic";
|
||||
|
||||
(async () => {
|
||||
const anthropic = new Anthropic({
|
||||
model: "claude-3-7-sonnet",
|
||||
maxTokens: 20000,
|
||||
additionalChatOptions: {
|
||||
thinking: {
|
||||
type: "enabled",
|
||||
budget_tokens: 16000,
|
||||
},
|
||||
},
|
||||
});
|
||||
const result = await anthropic.chat({
|
||||
messages: [
|
||||
{
|
||||
role: "user",
|
||||
content:
|
||||
"Are there an infinite number of prime numbers such that n mod 4 == 3?",
|
||||
},
|
||||
],
|
||||
stream: true,
|
||||
});
|
||||
console.log("Thinking...");
|
||||
for await (const chunk of result) {
|
||||
if (chunk.delta) {
|
||||
process.stdout.write(chunk.delta);
|
||||
} else if (chunk.options?.thinking) {
|
||||
process.stdout.write(chunk.options.thinking);
|
||||
}
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,25 @@
|
||||
import { LLMAgent } from "llamaindex";
|
||||
import { stdin as input, stdout as output } from "node:process";
|
||||
import readline from "node:readline/promises";
|
||||
|
||||
const agent = new LLMAgent({ tools: [] });
|
||||
|
||||
(async () => {
|
||||
const rl = readline.createInterface({ input, output });
|
||||
|
||||
while (true) {
|
||||
const query = await rl.question("User: ");
|
||||
|
||||
const startTime = Date.now();
|
||||
const stream = await agent.chat({ message: query, stream: true });
|
||||
const timeToGetFirstChunk = Date.now() - startTime;
|
||||
process.stdout.write(
|
||||
`Time to get first chunk from LLMAgent: ${timeToGetFirstChunk}ms\n`,
|
||||
);
|
||||
process.stdout.write("Assistant with LLMAgent: ");
|
||||
for await (const chunk of stream) {
|
||||
process.stdout.write(chunk.response);
|
||||
}
|
||||
process.stdout.write("\n");
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,46 @@
|
||||
import { DeepSeekLLM } from "@llamaindex/deepseek";
|
||||
|
||||
// process.env.DEEPSEEK_API_KEY is required
|
||||
const deepseek = new DeepSeekLLM({
|
||||
apiKey: process.env.DEEPSEEK_API_KEY,
|
||||
model: "deepseek-coder", // or "deepseek-chat"
|
||||
});
|
||||
|
||||
(async () => {
|
||||
// Example of non-streaming chat
|
||||
const response = await deepseek.chat({
|
||||
messages: [
|
||||
{
|
||||
role: "system",
|
||||
content: "You are an AI assistant",
|
||||
},
|
||||
{
|
||||
role: "user",
|
||||
content: "Tell me about San Francisco",
|
||||
},
|
||||
],
|
||||
stream: false,
|
||||
});
|
||||
console.log("Response from DeepSeek AI:");
|
||||
console.log(response);
|
||||
|
||||
// Example of streaming chat
|
||||
const generator = await deepseek.chat({
|
||||
messages: [
|
||||
{
|
||||
role: "system",
|
||||
content: "You are an AI assistant",
|
||||
},
|
||||
{
|
||||
role: "user",
|
||||
content: "Write a short poem about San Francisco",
|
||||
},
|
||||
],
|
||||
stream: true,
|
||||
});
|
||||
console.log("\nStreaming response from DeepSeek AI...");
|
||||
for await (const message of generator) {
|
||||
process.stdout.write(message.delta);
|
||||
}
|
||||
console.log("\n");
|
||||
})();
|
||||
@@ -0,0 +1,4 @@
|
||||
GCP_PROJECT_ID=
|
||||
GCP_CREDENTIALS=
|
||||
FIRESTORE_DB=
|
||||
OPENAI_API_KEY=
|
||||
@@ -0,0 +1,35 @@
|
||||
# Firestore Vector Store
|
||||
|
||||
Here are some sample scripts which work with loading and querying data from a Firestore Vector Store.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A Firestore Database
|
||||
- Hosted https://console.firebase.google.com/
|
||||
- An OpenAI API Key
|
||||
|
||||
## Setup
|
||||
|
||||
1. Set your env variables:
|
||||
|
||||
- `FIRESTORE_DB`: Name of your Firestore database
|
||||
- `GCP_PROJECT_ID`: Your GCP project ID
|
||||
- `GCP_CREDENTIALS`: Your GCP credentials JSON
|
||||
- `OPENAI_API_KEY`: Your OpenAI key
|
||||
|
||||
2. `cd` Into the `examples` directory
|
||||
3. run `npm i`
|
||||
|
||||
## Load the data
|
||||
|
||||
This sample loads the same dataset of movie reviews as sample dataset
|
||||
|
||||
run `npx tsx firestore/load.ts`
|
||||
|
||||
## Use RAG to Query the data
|
||||
|
||||
run `npx tsx firestore/query.ts`
|
||||
|
||||
## Delete the data
|
||||
|
||||
run `npx tsx firestore/delete.ts`
|
||||
@@ -0,0 +1,32 @@
|
||||
import { CollectionReference } from "@google-cloud/firestore";
|
||||
import "dotenv/config";
|
||||
|
||||
import { FirestoreVectorStore } from "@llamaindex/firestore";
|
||||
import { OpenAIEmbedding, Settings } from "llamaindex";
|
||||
|
||||
const indexName = "MovieReviews";
|
||||
|
||||
Settings.embedModel = new OpenAIEmbedding();
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
const vectorStore = new FirestoreVectorStore({
|
||||
clientOptions: {
|
||||
credentials: JSON.parse(process.env.GCP_CREDENTIALS!),
|
||||
projectId: process.env.GCP_PROJECT_ID!,
|
||||
databaseId: process.env.FIRESTORE_DB!,
|
||||
ignoreUndefinedProperties: true,
|
||||
},
|
||||
collectionName: indexName,
|
||||
customCollectionReference: (rootCollection: CollectionReference) => {
|
||||
return rootCollection.doc("accountId-123").collection("vectors");
|
||||
},
|
||||
});
|
||||
|
||||
vectorStore.delete("movie_reviews.csv");
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
void main();
|
||||
@@ -0,0 +1,44 @@
|
||||
import { CollectionReference } from "@google-cloud/firestore";
|
||||
import { CSVReader } from "@llamaindex/readers/csv";
|
||||
import "dotenv/config";
|
||||
|
||||
import {
|
||||
OpenAIEmbedding,
|
||||
Settings,
|
||||
storageContextFromDefaults,
|
||||
VectorStoreIndex,
|
||||
} from "llamaindex";
|
||||
|
||||
import { FirestoreVectorStore } from "@llamaindex/firestore";
|
||||
|
||||
const indexName = "MovieReviews";
|
||||
|
||||
Settings.embedModel = new OpenAIEmbedding();
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
const reader = new CSVReader(false);
|
||||
const docs = await reader.loadData("./data/movie_reviews.csv");
|
||||
|
||||
const vectorStore = new FirestoreVectorStore({
|
||||
clientOptions: {
|
||||
credentials: JSON.parse(process.env.GCP_CREDENTIALS!),
|
||||
projectId: process.env.GCP_PROJECT_ID!,
|
||||
databaseId: process.env.FIRESTORE_DB!,
|
||||
ignoreUndefinedProperties: true,
|
||||
},
|
||||
collectionName: indexName,
|
||||
customCollectionReference: (rootCollection: CollectionReference) => {
|
||||
return rootCollection.doc("accountId-123").collection("vectors");
|
||||
},
|
||||
});
|
||||
|
||||
const storageContext = await storageContextFromDefaults({ vectorStore });
|
||||
|
||||
await VectorStoreIndex.fromDocuments(docs, { storageContext });
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
void main();
|
||||
@@ -0,0 +1,58 @@
|
||||
import "dotenv/config";
|
||||
|
||||
import { OpenAIEmbedding, Settings, VectorStoreIndex } from "llamaindex";
|
||||
|
||||
import { CollectionReference } from "@google-cloud/firestore";
|
||||
import { FirestoreVectorStore } from "@llamaindex/firestore";
|
||||
|
||||
const indexName = "MovieReviews";
|
||||
|
||||
Settings.embedModel = new OpenAIEmbedding();
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
const vectorStore = new FirestoreVectorStore({
|
||||
clientOptions: {
|
||||
credentials: JSON.parse(process.env.GCP_CREDENTIALS!),
|
||||
projectId: process.env.GCP_PROJECT_ID!,
|
||||
databaseId: process.env.FIRESTORE_DB!,
|
||||
ignoreUndefinedProperties: true,
|
||||
},
|
||||
collectionName: indexName,
|
||||
customCollectionReference: (rootCollection: CollectionReference) => {
|
||||
return rootCollection.doc("accountId-123").collection("vectors");
|
||||
},
|
||||
});
|
||||
const index = await VectorStoreIndex.fromVectorStore(vectorStore);
|
||||
const retriever = index.asRetriever({ similarityTopK: 20 });
|
||||
|
||||
const queryEngine = index.asQueryEngine({ retriever });
|
||||
const query = "Get all movie titles.";
|
||||
const results = await queryEngine.query({ query });
|
||||
console.log(`Query from ${results.sourceNodes?.length} nodes`);
|
||||
console.log(results.response);
|
||||
|
||||
console.log("\n=====\nQuerying the index with filters");
|
||||
const queryEngineWithFilters = index.asQueryEngine({
|
||||
retriever,
|
||||
preFilters: {
|
||||
filters: [
|
||||
{
|
||||
key: "file_name",
|
||||
value: "movie_reviews.csv",
|
||||
operator: "==",
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
const resultAfterFilter = await queryEngineWithFilters.query({
|
||||
query: "Get all movie titles.",
|
||||
});
|
||||
console.log(`Query from ${resultAfterFilter.sourceNodes?.length} nodes`);
|
||||
console.log(resultAfterFilter.response);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
void main();
|
||||
@@ -1,10 +1,6 @@
|
||||
import { JinaAIEmbedding } from "@llamaindex/jinaai";
|
||||
import { SimpleDirectoryReader } from "@llamaindex/readers/directory";
|
||||
import {
|
||||
ImageDocument,
|
||||
JinaAIEmbedding,
|
||||
similarity,
|
||||
SimilarityType,
|
||||
} from "llamaindex";
|
||||
import { ImageDocument, similarity, SimilarityType } from "llamaindex";
|
||||
import path from "path";
|
||||
|
||||
async function main() {
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai";
|
||||
|
||||
(async () => {
|
||||
const llm = new OpenAI({ model: "gpt-4-1106-preview", temperature: 0.1 });
|
||||
const llm = new OpenAI({ model: "gpt-4.5-preview", temperature: 0.1 });
|
||||
|
||||
// complete api
|
||||
const response1 = await llm.complete({ prompt: "How are you?" });
|
||||
|
||||
+41
-33
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/examples",
|
||||
"version": "0.1.3",
|
||||
"version": "0.2.8",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
@@ -11,36 +11,43 @@
|
||||
"@azure/cosmos": "^4.1.1",
|
||||
"@azure/identity": "^4.4.1",
|
||||
"@azure/search-documents": "^12.1.0",
|
||||
"@llamaindex/anthropic": "workspace:* || ^0.0.33",
|
||||
"@llamaindex/astra": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/azure": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/chroma": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/clip": "workspace:* || ^0.0.35",
|
||||
"@llamaindex/cloud": "workspace:* || ^2.0.24",
|
||||
"@llamaindex/cohere": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/deepinfra": "workspace:* || ^0.0.35",
|
||||
"@llamaindex/env": "workspace:* || ^0.1.27",
|
||||
"@llamaindex/google": "workspace:* || ^0.0.6",
|
||||
"@llamaindex/groq": "workspace:* || ^0.0.50",
|
||||
"@llamaindex/huggingface": "workspace:* || ^0.0.35",
|
||||
"@llamaindex/milvus": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/mistral": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/mixedbread": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/mongodb": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/node-parser": "workspace:* || ^0.0.24",
|
||||
"@llamaindex/ollama": "workspace:* || ^0.0.39",
|
||||
"@llamaindex/openai": "workspace:* || ^0.1.51",
|
||||
"@llamaindex/pinecone": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/portkey-ai": "workspace:* || ^0.0.32",
|
||||
"@llamaindex/postgres": "workspace:* || ^0.0.32",
|
||||
"@llamaindex/qdrant": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/readers": "workspace:* || ^1.0.25",
|
||||
"@llamaindex/replicate": "workspace:* || ^0.0.32",
|
||||
"@llamaindex/upstash": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/vercel": "workspace:* || ^0.0.10",
|
||||
"@llamaindex/vllm": "workspace:* || ^0.0.21",
|
||||
"@llamaindex/weaviate": "workspace:* || ^0.0.4",
|
||||
"@llamaindex/workflow": "workspace:* || ^0.0.10",
|
||||
"@llamaindex/anthropic": "^0.2.5",
|
||||
"@llamaindex/astra": "^0.0.12",
|
||||
"@llamaindex/azure": "^0.1.7",
|
||||
"@llamaindex/chroma": "^0.0.12",
|
||||
"@llamaindex/clip": "^0.0.43",
|
||||
"@llamaindex/cloud": "^3.0.8",
|
||||
"@llamaindex/cohere": "^0.0.12",
|
||||
"@llamaindex/core": "^0.5.7",
|
||||
"@llamaindex/deepinfra": "^0.0.43",
|
||||
"@llamaindex/env": "^0.1.29",
|
||||
"@llamaindex/firestore": "^1.0.5",
|
||||
"@llamaindex/google": "^0.1.0",
|
||||
"@llamaindex/groq": "^0.0.58",
|
||||
"@llamaindex/huggingface": "^0.0.43",
|
||||
"@llamaindex/milvus": "^0.1.7",
|
||||
"@llamaindex/mistral": "^0.0.12",
|
||||
"@llamaindex/mixedbread": "^0.0.12",
|
||||
"@llamaindex/mongodb": "^0.0.12",
|
||||
"@llamaindex/node-parser": "^1.0.7",
|
||||
"@llamaindex/ollama": "^0.0.47",
|
||||
"@llamaindex/openai": "^0.1.59",
|
||||
"@llamaindex/pinecone": "^0.0.12",
|
||||
"@llamaindex/portkey-ai": "^0.0.40",
|
||||
"@llamaindex/postgres": "^0.0.40",
|
||||
"@llamaindex/qdrant": "^0.1.7",
|
||||
"@llamaindex/readers": "^2.0.7",
|
||||
"@llamaindex/replicate": "^0.0.40",
|
||||
"@llamaindex/upstash": "^0.0.12",
|
||||
"@llamaindex/vercel": "^0.0.18",
|
||||
"@llamaindex/vllm": "^0.0.29",
|
||||
"@llamaindex/voyage-ai": "^1.0.4",
|
||||
"@llamaindex/weaviate": "^0.0.12",
|
||||
"@llamaindex/workflow": "^0.0.15",
|
||||
"@llamaindex/deepseek": "^0.0.3",
|
||||
"@llamaindex/fireworks": "^0.0.3",
|
||||
"@llamaindex/together": "^0.0.3",
|
||||
"@llamaindex/jinaai": "^0.0.3",
|
||||
"@notionhq/client": "^2.2.15",
|
||||
"@pinecone-database/pinecone": "^4.0.0",
|
||||
"@vercel/postgres": "^0.10.0",
|
||||
@@ -49,10 +56,11 @@
|
||||
"commander": "^12.1.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"js-tiktoken": "^1.0.14",
|
||||
"llamaindex": "workspace:* || ^0.8.37",
|
||||
"llamaindex": "^0.9.9",
|
||||
"mongodb": "6.7.0",
|
||||
"postgres": "^3.4.4",
|
||||
"wikipedia": "^2.1.2"
|
||||
"wikipedia": "^2.1.2",
|
||||
"zod": "^3.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.9.0",
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import {
|
||||
GEMINI_EMBEDDING_MODEL,
|
||||
GeminiEmbedding,
|
||||
GeminiSession,
|
||||
} from "@llamaindex/google";
|
||||
import { QdrantVectorStore } from "@llamaindex/qdrant";
|
||||
import {
|
||||
Document,
|
||||
storageContextFromDefaults,
|
||||
VectorStoreIndex,
|
||||
} from "llamaindex";
|
||||
|
||||
const embedding = new GeminiEmbedding({
|
||||
model: GEMINI_EMBEDDING_MODEL.EMBEDDING_001,
|
||||
session: new GeminiSession({
|
||||
apiKey: process.env.GEMINI_API_KEY,
|
||||
}),
|
||||
});
|
||||
|
||||
async function main() {
|
||||
const docs = [new Document({ text: "Lorem ipsum dolor sit amet" })];
|
||||
const vectorStore = new QdrantVectorStore({
|
||||
url: process.env.QDRANT_URL,
|
||||
apiKey: process.env.QDRANT_API_KEY,
|
||||
embeddingModel: embedding,
|
||||
collectionName: "gemini_test",
|
||||
});
|
||||
const storageContext = await storageContextFromDefaults({ vectorStore });
|
||||
await VectorStoreIndex.fromDocuments(docs, { storageContext });
|
||||
console.log("Inizialized vector store successfully");
|
||||
}
|
||||
|
||||
void main().catch((err) => console.error(err));
|
||||
@@ -0,0 +1,27 @@
|
||||
import { JinaAIEmbedding } from "@llamaindex/jinaai";
|
||||
import { QdrantVectorStore } from "@llamaindex/qdrant";
|
||||
import {
|
||||
Document,
|
||||
storageContextFromDefaults,
|
||||
VectorStoreIndex,
|
||||
} from "llamaindex";
|
||||
|
||||
const embedding = new JinaAIEmbedding({
|
||||
apiKey: process.env.JINAAI_API_KEY,
|
||||
model: "jina-embeddings-v3",
|
||||
});
|
||||
|
||||
async function main() {
|
||||
const docs = [new Document({ text: "Lorem ipsum dolor sit amet" })];
|
||||
const vectorStore = new QdrantVectorStore({
|
||||
url: process.env.QDRANT_URL,
|
||||
apiKey: process.env.QDRANT_API_KEY,
|
||||
embeddingModel: embedding,
|
||||
collectionName: "jina_test",
|
||||
});
|
||||
const storageContext = await storageContextFromDefaults({ vectorStore });
|
||||
await VectorStoreIndex.fromDocuments(docs, { storageContext });
|
||||
console.log("Inizialized vector store successfully");
|
||||
}
|
||||
|
||||
void main().catch((err) => console.error(err));
|
||||
@@ -1,5 +1,6 @@
|
||||
import { FireworksEmbedding, FireworksLLM } from "@llamaindex/fireworks";
|
||||
import { PDFReader } from "@llamaindex/readers/pdf";
|
||||
import { FireworksEmbedding, FireworksLLM, VectorStoreIndex } from "llamaindex";
|
||||
import { VectorStoreIndex } from "llamaindex";
|
||||
|
||||
import { Settings } from "llamaindex";
|
||||
|
||||
|
||||
+12
-2
@@ -3,6 +3,18 @@ import fs from "node:fs/promises";
|
||||
import { createInterface } from "node:readline/promises";
|
||||
|
||||
async function main() {
|
||||
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
||||
|
||||
if (!process.env.OPENAI_API_KEY) {
|
||||
console.log("OpenAI API key not found in environment variables.");
|
||||
console.log(
|
||||
"You can get an API key at https://platform.openai.com/account/api-keys",
|
||||
);
|
||||
process.env.OPENAI_API_KEY = await rl.question(
|
||||
"Please enter your OpenAI API key: ",
|
||||
);
|
||||
}
|
||||
|
||||
const path = "node_modules/llamaindex/examples/abramov.txt";
|
||||
const essay = await fs.readFile(path, "utf-8");
|
||||
const document = new Document({ text: essay, id_: path });
|
||||
@@ -10,8 +22,6 @@ async function main() {
|
||||
const index = await VectorStoreIndex.fromDocuments([document]);
|
||||
const queryEngine = index.asQueryEngine();
|
||||
|
||||
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
||||
|
||||
console.log(
|
||||
"Try asking a question about the essay: https://github.com/run-llama/LlamaIndexTS/blob/main/packages/llamaindex/examples/abramov.txt",
|
||||
"\nExample: When did the author graduate from high school?",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TogetherEmbedding, TogetherLLM } from "llamaindex";
|
||||
import { TogetherEmbedding, TogetherLLM } from "@llamaindex/together";
|
||||
|
||||
// process.env.TOGETHER_API_KEY is required
|
||||
const together = new TogetherLLM({
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
import fs from "node:fs/promises";
|
||||
|
||||
import {
|
||||
Document,
|
||||
Settings,
|
||||
TogetherEmbedding,
|
||||
TogetherLLM,
|
||||
VectorStoreIndex,
|
||||
} from "llamaindex";
|
||||
import { TogetherEmbedding, TogetherLLM } from "@llamaindex/together";
|
||||
import { Document, Settings, VectorStoreIndex } from "llamaindex";
|
||||
|
||||
// Update llm to use TogetherAI
|
||||
Settings.llm = new TogetherLLM({
|
||||
|
||||
@@ -15,7 +15,7 @@ async function main() {
|
||||
tools: [
|
||||
{
|
||||
metadata: {
|
||||
name: "wikipedia_tool",
|
||||
name: "wikipedia_search",
|
||||
description: "A tool that uses a query engine to search Wikipedia.",
|
||||
parameters: {
|
||||
type: "object",
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { VoyageAIEmbedding } from "@llamaindex/voyage-ai";
|
||||
|
||||
async function main() {
|
||||
// API token can be provided as an environment variable too
|
||||
// using VOYAGE_API_TOKEN variable
|
||||
const apiKey = process.env.VOYAGE_API_TOKEN ?? "YOUR_API_TOKEN";
|
||||
const model = "voyage-3-lite";
|
||||
const embedModel = new VoyageAIEmbedding({
|
||||
model,
|
||||
apiKey,
|
||||
});
|
||||
const texts = ["hello", "world"];
|
||||
const embeddings = await embedModel.getTextEmbeddingsBatch(texts);
|
||||
console.log(`\nWe have ${embeddings.length} embeddings`);
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+1
-1
@@ -14,7 +14,7 @@ type WikipediaToolParams = {
|
||||
};
|
||||
|
||||
const DEFAULT_META_DATA: ToolMetadata<JSONSchemaType<WikipediaParameter>> = {
|
||||
name: "wikipedia_tool",
|
||||
name: "wikipedia_search",
|
||||
description: "A tool that uses a query engine to search Wikipedia.",
|
||||
parameters: {
|
||||
type: "object",
|
||||
|
||||
@@ -43,5 +43,10 @@
|
||||
"eslint"
|
||||
],
|
||||
"*.{json,md}": "prettier --check"
|
||||
},
|
||||
"pnpm": {
|
||||
"patchedDependencies": {
|
||||
"bunchee@6.3.4": "patches/bunchee@6.3.4.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,74 @@
|
||||
# @llamaindex/autotool
|
||||
|
||||
## 6.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
|
||||
## 6.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
|
||||
## 6.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
|
||||
## 6.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
|
||||
## 6.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
|
||||
## 6.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 6.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 6.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 6.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 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,84 @@
|
||||
# @llamaindex/autotool-01-node-example
|
||||
|
||||
## 0.0.90
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
- @llamaindex/autotool@6.0.9
|
||||
|
||||
## 0.0.89
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
- @llamaindex/autotool@6.0.8
|
||||
|
||||
## 0.0.88
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
- @llamaindex/autotool@6.0.7
|
||||
|
||||
## 0.0.87
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
- @llamaindex/autotool@6.0.6
|
||||
|
||||
## 0.0.86
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
- @llamaindex/autotool@6.0.5
|
||||
|
||||
## 0.0.85
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
- @llamaindex/autotool@6.0.4
|
||||
|
||||
## 0.0.84
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
- @llamaindex/autotool@6.0.3
|
||||
|
||||
## 0.0.83
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
- @llamaindex/autotool@6.0.2
|
||||
|
||||
## 0.0.82
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
- @llamaindex/autotool@6.0.1
|
||||
|
||||
## 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.90"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,84 @@
|
||||
# @llamaindex/autotool-02-next-example
|
||||
|
||||
## 0.1.134
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.9
|
||||
- @llamaindex/autotool@6.0.9
|
||||
|
||||
## 0.1.133
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bbc8c87]
|
||||
- llamaindex@0.9.8
|
||||
- @llamaindex/autotool@6.0.8
|
||||
|
||||
## 0.1.132
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- llamaindex@0.9.7
|
||||
- @llamaindex/autotool@6.0.7
|
||||
|
||||
## 0.1.131
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.6
|
||||
- @llamaindex/autotool@6.0.6
|
||||
|
||||
## 0.1.130
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.5
|
||||
- @llamaindex/autotool@6.0.5
|
||||
|
||||
## 0.1.129
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
- @llamaindex/autotool@6.0.4
|
||||
|
||||
## 0.1.128
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
- @llamaindex/autotool@6.0.3
|
||||
|
||||
## 0.1.127
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
- @llamaindex/autotool@6.0.2
|
||||
|
||||
## 0.1.126
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
- @llamaindex/autotool@6.0.1
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/autotool-02-next-example",
|
||||
"private": true,
|
||||
"version": "0.1.124",
|
||||
"version": "0.1.134",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
@@ -15,7 +15,7 @@
|
||||
"dotenv": "^16.3.1",
|
||||
"llamaindex": "workspace:*",
|
||||
"lucide-react": "^0.460.0",
|
||||
"next": "15.0.3",
|
||||
"next": "15.1.7",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-markdown": "^9.0.1",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
|
||||
"directory": "packages/autotool"
|
||||
},
|
||||
"version": "5.0.37",
|
||||
"version": "6.0.9",
|
||||
"description": "auto transpile your JS function to LLM Agent compatible",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -75,9 +75,9 @@
|
||||
"@swc/types": "^0.1.12",
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"@types/node": "^22.9.0",
|
||||
"bunchee": "6.2.0",
|
||||
"bunchee": "6.3.4",
|
||||
"llamaindex": "workspace:*",
|
||||
"next": "15.0.3",
|
||||
"next": "15.1.7",
|
||||
"rollup": "^4.28.1",
|
||||
"tsx": "^4.19.0",
|
||||
"typescript": "^5.7.2",
|
||||
|
||||
@@ -1,5 +1,70 @@
|
||||
# @llamaindex/cloud
|
||||
|
||||
## 3.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4bac71d]
|
||||
- @llamaindex/core@0.5.7
|
||||
|
||||
## 3.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/env@0.1.29
|
||||
- @llamaindex/core@0.5.6
|
||||
|
||||
## 3.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5668970]
|
||||
- @llamaindex/core@0.5.5
|
||||
|
||||
## 3.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ad3c7f1]
|
||||
- @llamaindex/core@0.5.4
|
||||
|
||||
## 3.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 3.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 3.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- c902fcb: chore: bump llamacloud openapi
|
||||
|
||||
## 3.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 3.0.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6a4a737]
|
||||
- Updated dependencies [d924c63]
|
||||
- @llamaindex/core@0.5.0
|
||||
|
||||
## 2.0.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+4290
-1580
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloud",
|
||||
"version": "2.0.24",
|
||||
"version": "3.0.8",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
@@ -24,10 +24,7 @@
|
||||
"types": "./api/dist/index.d.ts",
|
||||
"default": "./api/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./api/dist/index.d.ts",
|
||||
"default": "./api/dist/index.js"
|
||||
}
|
||||
"default": "./api/dist/index.js"
|
||||
},
|
||||
"./reader": {
|
||||
"require": {
|
||||
@@ -38,10 +35,7 @@
|
||||
"types": "./reader/dist/index.d.ts",
|
||||
"default": "./reader/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./reader/dist/index.d.ts",
|
||||
"default": "./reader/dist/index.js"
|
||||
}
|
||||
"default": "./reader/dist/index.js"
|
||||
},
|
||||
".": {
|
||||
"require": {
|
||||
@@ -52,10 +46,7 @@
|
||||
"types": "./reader/dist/index.d.ts",
|
||||
"default": "./reader/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./reader/dist/index.d.ts",
|
||||
"default": "./reader/dist/index.js"
|
||||
}
|
||||
"default": "./reader/dist/index.js"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
@@ -68,7 +59,7 @@
|
||||
"@hey-api/openapi-ts": "^0.61.0",
|
||||
"@llamaindex/core": "workspace:*",
|
||||
"@llamaindex/env": "workspace:*",
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@llamaindex/core": "workspace:*",
|
||||
|
||||
@@ -4,6 +4,7 @@ import { fs, getEnv, path } from "@llamaindex/env";
|
||||
import {
|
||||
type Body_upload_file_api_v1_parsing_upload_post,
|
||||
type ParserLanguages,
|
||||
type ParsingMode,
|
||||
getJobApiV1ParsingJobJobIdGet,
|
||||
getJobImageResultApiV1ParsingJobJobIdResultImageNameGet,
|
||||
getJobJsonResultApiV1ParsingJobJobIdResultJsonGet,
|
||||
@@ -127,6 +128,26 @@ export class LlamaParseReader extends FileReader {
|
||||
|
||||
readonly #client: Client;
|
||||
|
||||
output_tables_as_HTML: boolean = false;
|
||||
input_s3_region?: string | undefined;
|
||||
output_s3_region?: string | undefined;
|
||||
preserve_layout_alignment_across_pages?: boolean | undefined;
|
||||
spreadsheet_extract_sub_tables?: boolean | undefined;
|
||||
formatting_instruction?: string | undefined;
|
||||
parse_mode?: ParsingMode | undefined;
|
||||
system_prompt?: string | undefined;
|
||||
system_prompt_append?: string | undefined;
|
||||
user_prompt?: string | undefined;
|
||||
job_timeout_in_seconds?: number | undefined;
|
||||
job_timeout_extra_time_per_page_in_seconds?: number | undefined;
|
||||
strict_mode_image_extraction?: boolean | undefined;
|
||||
strict_mode_image_ocr?: boolean | undefined;
|
||||
strict_mode_reconstruction?: boolean | undefined;
|
||||
strict_mode_buggy_font?: boolean | undefined;
|
||||
ignore_document_elements_for_layout_detection?: boolean | undefined;
|
||||
complemental_formatting_instruction?: string | undefined;
|
||||
content_guideline_instruction?: string | undefined;
|
||||
|
||||
constructor(
|
||||
params: Partial<Omit<LlamaParseReader, "language" | "apiKey">> & {
|
||||
language?: ParserLanguages | ParserLanguages[] | undefined;
|
||||
@@ -252,6 +273,29 @@ export class LlamaParseReader extends FileReader {
|
||||
structured_output_json_schema_name:
|
||||
this.structured_output_json_schema_name,
|
||||
extract_layout: this.extract_layout,
|
||||
output_tables_as_HTML: this.output_tables_as_HTML,
|
||||
input_s3_region: this.input_s3_region,
|
||||
output_s3_region: this.output_s3_region,
|
||||
preserve_layout_alignment_across_pages:
|
||||
this.preserve_layout_alignment_across_pages,
|
||||
spreadsheet_extract_sub_tables: this.spreadsheet_extract_sub_tables,
|
||||
formatting_instruction: this.formatting_instruction,
|
||||
parse_mode: this.parse_mode,
|
||||
system_prompt: this.system_prompt,
|
||||
system_prompt_append: this.system_prompt_append,
|
||||
user_prompt: this.user_prompt,
|
||||
job_timeout_in_seconds: this.job_timeout_in_seconds,
|
||||
job_timeout_extra_time_per_page_in_seconds:
|
||||
this.job_timeout_extra_time_per_page_in_seconds,
|
||||
strict_mode_image_extraction: this.strict_mode_image_extraction,
|
||||
strict_mode_image_ocr: this.strict_mode_image_ocr,
|
||||
strict_mode_reconstruction: this.strict_mode_reconstruction,
|
||||
strict_mode_buggy_font: this.strict_mode_buggy_font,
|
||||
ignore_document_elements_for_layout_detection:
|
||||
this.ignore_document_elements_for_layout_detection,
|
||||
complemental_formatting_instruction:
|
||||
this.complemental_formatting_instruction,
|
||||
content_guideline_instruction: this.content_guideline_instruction,
|
||||
} satisfies {
|
||||
[Key in keyof Body_upload_file_api_v1_parsing_upload_post]-?:
|
||||
| Body_upload_file_api_v1_parsing_upload_post[Key]
|
||||
|
||||
@@ -1,5 +1,66 @@
|
||||
# @llamaindex/community
|
||||
|
||||
## 0.0.89
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4bac71d]
|
||||
- @llamaindex/core@0.5.7
|
||||
|
||||
## 0.0.88
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e28c29d: Added Llama 3.3 70B Instruct support
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/env@0.1.29
|
||||
- @llamaindex/core@0.5.6
|
||||
|
||||
## 0.0.87
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5668970]
|
||||
- @llamaindex/core@0.5.5
|
||||
|
||||
## 0.0.86
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [ad3c7f1]
|
||||
- @llamaindex/core@0.5.4
|
||||
|
||||
## 0.0.85
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 1914b52: Added Claude 3.7 Sonnet support
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.84
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 0.0.83
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 0.0.82
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6a4a737]
|
||||
- Updated dependencies [d924c63]
|
||||
- @llamaindex/core@0.5.0
|
||||
|
||||
## 0.0.81
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/community",
|
||||
"description": "Community package for LlamaIndexTS",
|
||||
"version": "0.0.81",
|
||||
"version": "0.0.89",
|
||||
"type": "module",
|
||||
"types": "dist/type/index.d.ts",
|
||||
"main": "dist/cjs/index.js",
|
||||
@@ -43,7 +43,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.9.0",
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-bedrock-agent-runtime": "^3.706.0",
|
||||
|
||||
@@ -6,7 +6,19 @@ export type ToolChoice =
|
||||
| { type: "auto" }
|
||||
| { type: "tool"; name: string };
|
||||
|
||||
export type AnthropicAdditionalChatOptions = { toolChoice: ToolChoice };
|
||||
export interface ThinkingConfigDisabled {
|
||||
type: "disabled";
|
||||
}
|
||||
|
||||
export interface ThinkingConfigEnabled {
|
||||
budget_tokens: number;
|
||||
type: "enabled";
|
||||
}
|
||||
|
||||
export type AnthropicAdditionalChatOptions = {
|
||||
toolChoice: ToolChoice;
|
||||
thinking?: ThinkingConfigDisabled | ThinkingConfigEnabled;
|
||||
};
|
||||
|
||||
type Usage = {
|
||||
input_tokens: number;
|
||||
|
||||
@@ -69,6 +69,7 @@ export const BEDROCK_MODELS = {
|
||||
ANTHROPIC_CLAUDE_3_5_SONNET: "anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
ANTHROPIC_CLAUDE_3_5_SONNET_V2: "anthropic.claude-3-5-sonnet-20241022-v2:0",
|
||||
ANTHROPIC_CLAUDE_3_5_HAIKU: "anthropic.claude-3-5-haiku-20241022-v1:0",
|
||||
ANTHROPIC_CLAUDE_3_7_SONNET: "anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||
META_LLAMA2_13B_CHAT: "meta.llama2-13b-chat-v1",
|
||||
META_LLAMA2_70B_CHAT: "meta.llama2-70b-chat-v1",
|
||||
META_LLAMA3_8B_INSTRUCT: "meta.llama3-8b-instruct-v1:0",
|
||||
@@ -80,6 +81,7 @@ export const BEDROCK_MODELS = {
|
||||
META_LLAMA3_2_3B_INSTRUCT: "meta.llama3-2-3b-instruct-v1:0",
|
||||
META_LLAMA3_2_11B_INSTRUCT: "meta.llama3-2-11b-instruct-v1:0",
|
||||
META_LLAMA3_2_90B_INSTRUCT: "meta.llama3-2-90b-instruct-v1:0",
|
||||
META_LLAMA3_3_70B_INSTRUCT: "meta.llama3-3-70b-instruct-v1:0",
|
||||
MISTRAL_7B_INSTRUCT: "mistral.mistral-7b-instruct-v0:2",
|
||||
MISTRAL_MIXTRAL_7B_INSTRUCT: "mistral.mixtral-8x7b-instruct-v0:1",
|
||||
MISTRAL_MIXTRAL_LARGE_2402: "mistral.mistral-large-2402-v1:0",
|
||||
@@ -100,10 +102,13 @@ export const INFERENCE_BEDROCK_MODELS = {
|
||||
"us.anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
US_ANTHROPIC_CLAUDE_3_5_SONNET_V2:
|
||||
"us.anthropic.claude-3-5-sonnet-20241022-v2:0",
|
||||
US_ANTHROPIC_CLAUDE_3_7_SONNET:
|
||||
"us.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||
US_META_LLAMA_3_2_1B_INSTRUCT: "us.meta.llama3-2-1b-instruct-v1:0",
|
||||
US_META_LLAMA_3_2_3B_INSTRUCT: "us.meta.llama3-2-3b-instruct-v1:0",
|
||||
US_META_LLAMA_3_2_11B_INSTRUCT: "us.meta.llama3-2-11b-instruct-v1:0",
|
||||
US_META_LLAMA_3_2_90B_INSTRUCT: "us.meta.llama3-2-90b-instruct-v1:0",
|
||||
US_META_LLAMA_3_3_70B_INSTRUCT: "us.meta.llama3-3-70b-instruct-v1:0",
|
||||
US_AMAZON_NOVA_PRO_1: "us.amazon.nova-pro-v1:0",
|
||||
US_AMAZON_NOVA_LITE_1: "us.amazon.nova-lite-v1:0",
|
||||
US_AMAZON_NOVA_MICRO_1: "us.amazon.nova-micro-v1:0",
|
||||
@@ -113,6 +118,8 @@ export const INFERENCE_BEDROCK_MODELS = {
|
||||
EU_ANTHROPIC_CLAUDE_3_SONNET: "eu.anthropic.claude-3-sonnet-20240229-v1:0",
|
||||
EU_ANTHROPIC_CLAUDE_3_5_SONNET:
|
||||
"eu.anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
EU_ANTHROPIC_CLAUDE_3_7_SONNET:
|
||||
"eu.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||
EU_META_LLAMA_3_2_1B_INSTRUCT: "eu.meta.llama3-2-1b-instruct-v1:0",
|
||||
EU_META_LLAMA_3_2_3B_INSTRUCT: "eu.meta.llama3-2-3b-instruct-v1:0",
|
||||
};
|
||||
@@ -132,6 +139,8 @@ export const INFERENCE_TO_BEDROCK_MAP: Record<
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_7_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_SONNET_V2]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2,
|
||||
[INFERENCE_BEDROCK_MODELS.US_ANTHROPIC_CLAUDE_3_5_HAIKU]:
|
||||
@@ -144,6 +153,8 @@ export const INFERENCE_TO_BEDROCK_MAP: Record<
|
||||
BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT,
|
||||
[INFERENCE_BEDROCK_MODELS.US_META_LLAMA_3_2_90B_INSTRUCT]:
|
||||
BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT,
|
||||
[INFERENCE_BEDROCK_MODELS.US_META_LLAMA_3_3_70B_INSTRUCT]:
|
||||
BEDROCK_MODELS.META_LLAMA3_3_70B_INSTRUCT,
|
||||
|
||||
[INFERENCE_BEDROCK_MODELS.US_AMAZON_NOVA_PRO_1]:
|
||||
BEDROCK_MODELS.AMAZON_NOVA_PRO_1,
|
||||
@@ -158,6 +169,8 @@ export const INFERENCE_TO_BEDROCK_MAP: Record<
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.EU_ANTHROPIC_CLAUDE_3_5_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.EU_ANTHROPIC_CLAUDE_3_7_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.EU_META_LLAMA_3_2_1B_INSTRUCT]:
|
||||
BEDROCK_MODELS.META_LLAMA3_2_1B_INSTRUCT,
|
||||
[INFERENCE_BEDROCK_MODELS.EU_META_LLAMA_3_2_3B_INSTRUCT]:
|
||||
@@ -191,6 +204,7 @@ const CHAT_ONLY_MODELS = {
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET]: 200000,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2]: 200000,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU]: 200000,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET]: 200000,
|
||||
[BEDROCK_MODELS.META_LLAMA2_13B_CHAT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA2_70B_CHAT]: 4096,
|
||||
[BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT]: 8192,
|
||||
@@ -202,6 +216,7 @@ const CHAT_ONLY_MODELS = {
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT]: 131000,
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT]: 128000,
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT]: 128000,
|
||||
[BEDROCK_MODELS.META_LLAMA3_3_70B_INSTRUCT]: 128000,
|
||||
[BEDROCK_MODELS.MISTRAL_7B_INSTRUCT]: 32000,
|
||||
[BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT]: 32000,
|
||||
[BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402]: 32000,
|
||||
@@ -230,6 +245,7 @@ export const STREAMING_MODELS = new Set([
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET,
|
||||
BEDROCK_MODELS.META_LLAMA2_13B_CHAT,
|
||||
BEDROCK_MODELS.META_LLAMA2_70B_CHAT,
|
||||
BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT,
|
||||
@@ -241,6 +257,7 @@ export const STREAMING_MODELS = new Set([
|
||||
BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_3_70B_INSTRUCT,
|
||||
BEDROCK_MODELS.MISTRAL_7B_INSTRUCT,
|
||||
BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT,
|
||||
BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402,
|
||||
@@ -256,11 +273,13 @@ export const TOOL_CALL_MODELS: BEDROCK_MODELS[] = [
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU,
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET,
|
||||
BEDROCK_MODELS.META_LLAMA3_1_405B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_1B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT,
|
||||
BEDROCK_MODELS.META_LLAMA3_3_70B_INSTRUCT,
|
||||
BEDROCK_MODELS.AMAZON_NOVA_PRO_1,
|
||||
BEDROCK_MODELS.AMAZON_NOVA_LITE_1,
|
||||
BEDROCK_MODELS.AMAZON_NOVA_MICRO_1,
|
||||
@@ -294,6 +313,7 @@ export const BEDROCK_MODEL_MAX_TOKENS: Partial<Record<BEDROCK_MODELS, number>> =
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET]: 4096,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2]: 8192,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_HAIKU]: 8192,
|
||||
[BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET]: 8192,
|
||||
[BEDROCK_MODELS.META_LLAMA2_13B_CHAT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA2_70B_CHAT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA3_8B_INSTRUCT]: 2048,
|
||||
@@ -305,6 +325,7 @@ export const BEDROCK_MODEL_MAX_TOKENS: Partial<Record<BEDROCK_MODELS, number>> =
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT]: 2048,
|
||||
[BEDROCK_MODELS.META_LLAMA3_3_70B_INSTRUCT]: 2048,
|
||||
};
|
||||
|
||||
const DEFAULT_BEDROCK_PARAMS = {
|
||||
|
||||
@@ -1,5 +1,60 @@
|
||||
# @llamaindex/core
|
||||
|
||||
## 0.5.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 4bac71d: Support binding additional argument to function tool
|
||||
|
||||
## 0.5.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- beb922b: Fix edge runtime builds by adding missing packages to env package. Make gpt-tokenizer optional for llamaindex to reduce package size.
|
||||
- Updated dependencies [beb922b]
|
||||
- @llamaindex/env@0.1.29
|
||||
|
||||
## 0.5.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 5668970: feat: Support AgentWorkflow
|
||||
|
||||
## 0.5.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- ad3c7f1: fix: streaming issues with LLMAgent
|
||||
|
||||
## 0.5.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cb021e7: feat(node-parser): support async function
|
||||
|
||||
## 0.5.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- d952e68: Refine synthesizer will now return an empty string as the response if an empty array of source nodes were provided. Before it would throw an internal error converting undefined to ReadableStream.
|
||||
|
||||
## 0.5.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
|
||||
## 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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user