mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-01 22:14:03 -04:00
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
@@ -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,52 @@
|
||||
# @llamaindex/doc
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/doc",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.4",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "pnpm run build:docs && next build",
|
||||
@@ -44,10 +44,10 @@
|
||||
"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",
|
||||
|
||||
+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.
|
||||
|
||||
@@ -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,32 @@
|
||||
# @llamaindex/cloudflare-worker-agent-test
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||
"version": "0.0.134",
|
||||
"version": "0.0.138",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
# @llamaindex/llama-parse-browser-test
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/llama-parse-browser-test",
|
||||
"private": true,
|
||||
"version": "0.0.45",
|
||||
"version": "0.0.49",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
# @llamaindex/next-agent-test
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-agent-test",
|
||||
"version": "0.1.134",
|
||||
"version": "0.1.138",
|
||||
"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,32 @@
|
||||
# test-edge-runtime
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||
"version": "0.1.133",
|
||||
"version": "0.1.137",
|
||||
"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,38 @@
|
||||
# @llamaindex/next-node-runtime
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-node-runtime-test",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.4",
|
||||
"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,28 @@
|
||||
# vite-import-llamaindex
|
||||
|
||||
## 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.4",
|
||||
"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,34 @@
|
||||
# @llamaindex/waku-query-engine-test
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/waku-query-engine-test",
|
||||
"version": "0.0.134",
|
||||
"version": "0.0.138",
|
||||
"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,5 +1,127 @@
|
||||
# examples
|
||||
|
||||
## 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
|
||||
|
||||
@@ -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,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
-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?" });
|
||||
|
||||
+36
-32
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/examples",
|
||||
"version": "0.2.0",
|
||||
"version": "0.2.3",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
@@ -11,36 +11,39 @@
|
||||
"@azure/cosmos": "^4.1.1",
|
||||
"@azure/identity": "^4.4.1",
|
||||
"@azure/search-documents": "^12.1.0",
|
||||
"@llamaindex/anthropic": "^0.1.0",
|
||||
"@llamaindex/astra": "^0.0.5",
|
||||
"@llamaindex/azure": "^0.1.0",
|
||||
"@llamaindex/chroma": "^0.0.5",
|
||||
"@llamaindex/clip": "^0.0.36",
|
||||
"@llamaindex/cloud": "^3.0.0",
|
||||
"@llamaindex/cohere": "^0.0.5",
|
||||
"@llamaindex/deepinfra": "^0.0.36",
|
||||
"@llamaindex/env": "^0.1.27",
|
||||
"@llamaindex/google": "^0.0.7",
|
||||
"@llamaindex/groq": "^0.0.51",
|
||||
"@llamaindex/huggingface": "^0.0.36",
|
||||
"@llamaindex/milvus": "^0.1.0",
|
||||
"@llamaindex/mistral": "^0.0.5",
|
||||
"@llamaindex/mixedbread": "^0.0.5",
|
||||
"@llamaindex/mongodb": "^0.0.5",
|
||||
"@llamaindex/node-parser": "^1.0.0",
|
||||
"@llamaindex/ollama": "^0.0.40",
|
||||
"@llamaindex/openai": "^0.1.52",
|
||||
"@llamaindex/pinecone": "^0.0.5",
|
||||
"@llamaindex/portkey-ai": "^0.0.33",
|
||||
"@llamaindex/postgres": "^0.0.33",
|
||||
"@llamaindex/qdrant": "^0.1.0",
|
||||
"@llamaindex/readers": "^2.0.0",
|
||||
"@llamaindex/replicate": "^0.0.33",
|
||||
"@llamaindex/upstash": "^0.0.5",
|
||||
"@llamaindex/vercel": "^0.0.11",
|
||||
"@llamaindex/vllm": "^0.0.22",
|
||||
"@llamaindex/weaviate": "^0.0.5",
|
||||
"@llamaindex/workflow": "^0.0.10",
|
||||
"@llamaindex/anthropic": "^0.2.1",
|
||||
"@llamaindex/astra": "^0.0.8",
|
||||
"@llamaindex/azure": "^0.1.3",
|
||||
"@llamaindex/chroma": "^0.0.8",
|
||||
"@llamaindex/clip": "^0.0.39",
|
||||
"@llamaindex/cloud": "^3.0.4",
|
||||
"@llamaindex/cohere": "^0.0.8",
|
||||
"@llamaindex/core": "^0.5.3",
|
||||
"@llamaindex/deepinfra": "^0.0.39",
|
||||
"@llamaindex/env": "^0.1.28",
|
||||
"@llamaindex/firestore": "^1.0.1",
|
||||
"@llamaindex/google": "^0.0.10",
|
||||
"@llamaindex/groq": "^0.0.54",
|
||||
"@llamaindex/huggingface": "^0.0.39",
|
||||
"@llamaindex/milvus": "^0.1.3",
|
||||
"@llamaindex/mistral": "^0.0.8",
|
||||
"@llamaindex/mixedbread": "^0.0.8",
|
||||
"@llamaindex/mongodb": "^0.0.8",
|
||||
"@llamaindex/node-parser": "^1.0.3",
|
||||
"@llamaindex/ollama": "^0.0.43",
|
||||
"@llamaindex/openai": "^0.1.55",
|
||||
"@llamaindex/pinecone": "^0.0.8",
|
||||
"@llamaindex/portkey-ai": "^0.0.36",
|
||||
"@llamaindex/postgres": "^0.0.36",
|
||||
"@llamaindex/qdrant": "^0.1.3",
|
||||
"@llamaindex/readers": "^2.0.3",
|
||||
"@llamaindex/replicate": "^0.0.36",
|
||||
"@llamaindex/upstash": "^0.0.8",
|
||||
"@llamaindex/vercel": "^0.0.14",
|
||||
"@llamaindex/vllm": "^0.0.25",
|
||||
"@llamaindex/voyage-ai": "^1.0.0",
|
||||
"@llamaindex/weaviate": "^0.0.8",
|
||||
"@llamaindex/workflow": "^0.0.11",
|
||||
"@notionhq/client": "^2.2.15",
|
||||
"@pinecone-database/pinecone": "^4.0.0",
|
||||
"@vercel/postgres": "^0.10.0",
|
||||
@@ -49,8 +52,9 @@
|
||||
"commander": "^12.1.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"js-tiktoken": "^1.0.14",
|
||||
"llamaindex": "^0.9.0",
|
||||
"llamaindex": "^0.9.4",
|
||||
"mongodb": "6.7.0",
|
||||
"pathe": "^1.1.2",
|
||||
"postgres": "^3.4.4",
|
||||
"wikipedia": "^2.1.2"
|
||||
},
|
||||
|
||||
+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?",
|
||||
|
||||
@@ -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);
|
||||
@@ -43,5 +43,10 @@
|
||||
"eslint"
|
||||
],
|
||||
"*.{json,md}": "prettier --check"
|
||||
},
|
||||
"pnpm": {
|
||||
"patchedDependencies": {
|
||||
"bunchee@6.3.4": "patches/bunchee@6.3.4.patch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
# @llamaindex/autotool
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/autotool-01-node-example
|
||||
|
||||
## 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
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
"scripts": {
|
||||
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
||||
},
|
||||
"version": "0.0.81"
|
||||
"version": "0.0.85"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/autotool-02-next-example
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/autotool-02-next-example",
|
||||
"private": true,
|
||||
"version": "0.1.125",
|
||||
"version": "0.1.129",
|
||||
"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": "6.0.0",
|
||||
"version": "6.0.4",
|
||||
"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,33 @@
|
||||
# @llamaindex/cloud
|
||||
|
||||
## 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
|
||||
|
||||
+4290
-1580
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloud",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.4",
|
||||
"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,28 @@
|
||||
# @llamaindex/community
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/community",
|
||||
"description": "Community package for LlamaIndexTS",
|
||||
"version": "0.0.82",
|
||||
"version": "0.0.85",
|
||||
"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",
|
||||
@@ -100,6 +101,8 @@ 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",
|
||||
@@ -113,6 +116,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 +137,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]:
|
||||
@@ -158,6 +165,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 +200,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,
|
||||
@@ -230,6 +240,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,
|
||||
@@ -256,6 +267,7 @@ 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,
|
||||
@@ -294,6 +306,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,
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# @llamaindex/core
|
||||
|
||||
## 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
|
||||
|
||||
+27
-102
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/core",
|
||||
"type": "module",
|
||||
"version": "0.5.0",
|
||||
"version": "0.5.3",
|
||||
"description": "LlamaIndex Core Module",
|
||||
"exports": {
|
||||
"./agent": {
|
||||
@@ -13,10 +13,7 @@
|
||||
"types": "./agent/dist/index.d.ts",
|
||||
"default": "./agent/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./agent/dist/index.d.ts",
|
||||
"default": "./agent/dist/index.js"
|
||||
}
|
||||
"default": "./agent/dist/index.js"
|
||||
},
|
||||
"./objects": {
|
||||
"require": {
|
||||
@@ -27,10 +24,7 @@
|
||||
"types": "./objects/dist/index.d.ts",
|
||||
"default": "./objects/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./objects/dist/index.d.ts",
|
||||
"default": "./objects/dist/index.js"
|
||||
}
|
||||
"default": "./objects/dist/index.js"
|
||||
},
|
||||
"./node-parser": {
|
||||
"require": {
|
||||
@@ -41,10 +35,7 @@
|
||||
"types": "./node-parser/dist/index.d.ts",
|
||||
"default": "./node-parser/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./node-parser/dist/index.d.ts",
|
||||
"default": "./node-parser/dist/index.js"
|
||||
}
|
||||
"default": "./node-parser/dist/index.js"
|
||||
},
|
||||
"./query-engine": {
|
||||
"require": {
|
||||
@@ -55,10 +46,7 @@
|
||||
"types": "./query-engine/dist/index.d.ts",
|
||||
"default": "./query-engine/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./query-engine/dist/index.d.ts",
|
||||
"default": "./query-engine/dist/index.js"
|
||||
}
|
||||
"default": "./query-engine/dist/index.js"
|
||||
},
|
||||
"./llms": {
|
||||
"require": {
|
||||
@@ -69,10 +57,7 @@
|
||||
"types": "./llms/dist/index.d.ts",
|
||||
"default": "./llms/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./llms/dist/index.d.ts",
|
||||
"default": "./llms/dist/index.js"
|
||||
}
|
||||
"default": "./llms/dist/index.js"
|
||||
},
|
||||
"./decorator": {
|
||||
"require": {
|
||||
@@ -83,10 +68,7 @@
|
||||
"types": "./decorator/dist/index.d.ts",
|
||||
"default": "./decorator/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./decorator/dist/index.d.ts",
|
||||
"default": "./decorator/dist/index.js"
|
||||
}
|
||||
"default": "./decorator/dist/index.js"
|
||||
},
|
||||
"./embeddings": {
|
||||
"require": {
|
||||
@@ -97,10 +79,7 @@
|
||||
"types": "./embeddings/dist/index.d.ts",
|
||||
"default": "./embeddings/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./embeddings/dist/index.d.ts",
|
||||
"default": "./embeddings/dist/index.js"
|
||||
}
|
||||
"default": "./embeddings/dist/index.js"
|
||||
},
|
||||
"./global": {
|
||||
"require": {
|
||||
@@ -111,10 +90,7 @@
|
||||
"types": "./global/dist/index.d.ts",
|
||||
"default": "./global/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./global/dist/index.d.ts",
|
||||
"default": "./global/dist/index.js"
|
||||
}
|
||||
"default": "./global/dist/index.js"
|
||||
},
|
||||
"./schema": {
|
||||
"require": {
|
||||
@@ -125,10 +101,7 @@
|
||||
"types": "./schema/dist/index.d.ts",
|
||||
"default": "./schema/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./schema/dist/index.d.ts",
|
||||
"default": "./schema/dist/index.js"
|
||||
}
|
||||
"default": "./schema/dist/index.js"
|
||||
},
|
||||
"./utils": {
|
||||
"require": {
|
||||
@@ -139,10 +112,7 @@
|
||||
"types": "./utils/dist/index.d.ts",
|
||||
"default": "./utils/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./utils/dist/index.d.ts",
|
||||
"default": "./utils/dist/index.js"
|
||||
}
|
||||
"default": "./utils/dist/index.js"
|
||||
},
|
||||
"./prompts": {
|
||||
"require": {
|
||||
@@ -153,10 +123,7 @@
|
||||
"types": "./prompts/dist/index.d.ts",
|
||||
"default": "./prompts/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./prompts/dist/index.d.ts",
|
||||
"default": "./prompts/dist/index.js"
|
||||
}
|
||||
"default": "./prompts/dist/index.js"
|
||||
},
|
||||
"./indices": {
|
||||
"require": {
|
||||
@@ -167,10 +134,7 @@
|
||||
"types": "./indices/dist/index.d.ts",
|
||||
"default": "./indices/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./indices/dist/index.d.ts",
|
||||
"default": "./indices/dist/index.js"
|
||||
}
|
||||
"default": "./indices/dist/index.js"
|
||||
},
|
||||
"./workflow": {
|
||||
"require": {
|
||||
@@ -181,10 +145,7 @@
|
||||
"types": "./workflow/dist/index.d.ts",
|
||||
"default": "./workflow/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./workflow/dist/index.d.ts",
|
||||
"default": "./workflow/dist/index.js"
|
||||
}
|
||||
"default": "./workflow/dist/index.js"
|
||||
},
|
||||
"./memory": {
|
||||
"require": {
|
||||
@@ -195,10 +156,7 @@
|
||||
"types": "./memory/dist/index.d.ts",
|
||||
"default": "./memory/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./memory/dist/index.d.ts",
|
||||
"default": "./memory/dist/index.js"
|
||||
}
|
||||
"default": "./memory/dist/index.js"
|
||||
},
|
||||
"./storage/chat-store": {
|
||||
"require": {
|
||||
@@ -209,10 +167,7 @@
|
||||
"types": "./storage/chat-store/dist/index.d.ts",
|
||||
"default": "./storage/chat-store/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./storage/chat-store/dist/index.d.ts",
|
||||
"default": "./storage/chat-store/dist/index.js"
|
||||
}
|
||||
"default": "./storage/chat-store/dist/index.js"
|
||||
},
|
||||
"./storage/doc-store": {
|
||||
"require": {
|
||||
@@ -223,10 +178,7 @@
|
||||
"types": "./storage/doc-store/dist/index.d.ts",
|
||||
"default": "./storage/doc-store/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./storage/doc-store/dist/index.d.ts",
|
||||
"default": "./storage/doc-store/dist/index.js"
|
||||
}
|
||||
"default": "./storage/doc-store/dist/index.js"
|
||||
},
|
||||
"./storage/index-store": {
|
||||
"require": {
|
||||
@@ -237,10 +189,7 @@
|
||||
"types": "./storage/index-store/dist/index.d.ts",
|
||||
"default": "./storage/index-store/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./storage/index-store/dist/index.d.ts",
|
||||
"default": "./storage/index-store/dist/index.js"
|
||||
}
|
||||
"default": "./storage/index-store/dist/index.js"
|
||||
},
|
||||
"./storage/kv-store": {
|
||||
"require": {
|
||||
@@ -251,10 +200,7 @@
|
||||
"types": "./storage/kv-store/dist/index.d.ts",
|
||||
"default": "./storage/kv-store/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./storage/kv-store/dist/index.d.ts",
|
||||
"default": "./storage/kv-store/dist/index.js"
|
||||
}
|
||||
"default": "./storage/kv-store/dist/index.js"
|
||||
},
|
||||
"./response-synthesizers": {
|
||||
"require": {
|
||||
@@ -265,10 +211,7 @@
|
||||
"types": "./response-synthesizers/dist/index.d.ts",
|
||||
"default": "./response-synthesizers/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./response-synthesizers/dist/index.d.ts",
|
||||
"default": "./response-synthesizers/dist/index.js"
|
||||
}
|
||||
"default": "./response-synthesizers/dist/index.js"
|
||||
},
|
||||
"./chat-engine": {
|
||||
"require": {
|
||||
@@ -279,10 +222,7 @@
|
||||
"types": "./chat-engine/dist/index.d.ts",
|
||||
"default": "./chat-engine/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./chat-engine/dist/index.d.ts",
|
||||
"default": "./chat-engine/dist/index.js"
|
||||
}
|
||||
"default": "./chat-engine/dist/index.js"
|
||||
},
|
||||
"./retriever": {
|
||||
"require": {
|
||||
@@ -293,10 +233,7 @@
|
||||
"types": "./retriever/dist/index.d.ts",
|
||||
"default": "./retriever/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./retriever/dist/index.d.ts",
|
||||
"default": "./retriever/dist/index.js"
|
||||
}
|
||||
"default": "./retriever/dist/index.js"
|
||||
},
|
||||
"./vector-store": {
|
||||
"require": {
|
||||
@@ -307,10 +244,7 @@
|
||||
"types": "./vector-store/dist/index.d.ts",
|
||||
"default": "./vector-store/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./vector-store/dist/index.d.ts",
|
||||
"default": "./vector-store/dist/index.js"
|
||||
}
|
||||
"default": "./vector-store/dist/index.js"
|
||||
},
|
||||
"./tools": {
|
||||
"require": {
|
||||
@@ -321,10 +255,7 @@
|
||||
"types": "./tools/dist/index.d.ts",
|
||||
"default": "./tools/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./tools/dist/index.d.ts",
|
||||
"default": "./tools/dist/index.js"
|
||||
}
|
||||
"default": "./tools/dist/index.js"
|
||||
},
|
||||
"./data-structs": {
|
||||
"require": {
|
||||
@@ -335,10 +266,7 @@
|
||||
"types": "./data-structs/dist/index.d.ts",
|
||||
"default": "./data-structs/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./data-structs/dist/index.d.ts",
|
||||
"default": "./data-structs/dist/index.js"
|
||||
}
|
||||
"default": "./data-structs/dist/index.js"
|
||||
},
|
||||
"./postprocessor": {
|
||||
"require": {
|
||||
@@ -349,10 +277,7 @@
|
||||
"types": "./postprocessor/dist/index.d.ts",
|
||||
"default": "./postprocessor/dist/index.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./postprocessor/dist/index.d.ts",
|
||||
"default": "./postprocessor/dist/index.js"
|
||||
}
|
||||
"default": "./postprocessor/dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
@@ -391,7 +316,7 @@
|
||||
"devDependencies": {
|
||||
"@edge-runtime/vm": "^4.0.4",
|
||||
"ajv": "^8.17.1",
|
||||
"bunchee": "6.2.0",
|
||||
"bunchee": "6.3.4",
|
||||
"happy-dom": "^15.11.6",
|
||||
"natural": "^8.0.1"
|
||||
},
|
||||
|
||||
@@ -7,21 +7,27 @@ import {
|
||||
TextNode,
|
||||
TransformComponent,
|
||||
} from "../schema";
|
||||
import { isPromise } from "../utils";
|
||||
|
||||
export abstract class NodeParser extends TransformComponent<BaseNode[]> {
|
||||
export abstract class NodeParser<
|
||||
Result extends TextNode[] | Promise<TextNode[]> =
|
||||
| TextNode[]
|
||||
| Promise<TextNode[]>,
|
||||
> extends TransformComponent<Result> {
|
||||
includeMetadata: boolean = true;
|
||||
includePrevNextRel: boolean = true;
|
||||
|
||||
constructor() {
|
||||
super((nodes: BaseNode[]): BaseNode[] => {
|
||||
super((nodes: BaseNode[]): Result => {
|
||||
// alex: should we fix `as` type?
|
||||
return this.getNodesFromDocuments(nodes as TextNode[]);
|
||||
});
|
||||
}
|
||||
|
||||
protected postProcessParsedNodes(
|
||||
nodes: TextNode[],
|
||||
nodes: Awaited<Result>,
|
||||
parentDocMap: Map<string, TextNode>,
|
||||
): TextNode[] {
|
||||
): Awaited<Result> {
|
||||
nodes.forEach((node, i) => {
|
||||
const parentDoc = parentDocMap.get(node.sourceNode?.nodeId || "");
|
||||
|
||||
@@ -73,9 +79,9 @@ export abstract class NodeParser extends TransformComponent<BaseNode[]> {
|
||||
protected abstract parseNodes(
|
||||
documents: TextNode[],
|
||||
showProgress?: boolean,
|
||||
): TextNode[];
|
||||
): Result;
|
||||
|
||||
public getNodesFromDocuments(documents: TextNode[]): TextNode[] {
|
||||
public getNodesFromDocuments(documents: TextNode[]): Result {
|
||||
const docsId: Map<string, TextNode> = new Map(
|
||||
documents.map((doc) => [doc.id_, doc]),
|
||||
);
|
||||
@@ -85,20 +91,36 @@ export abstract class NodeParser extends TransformComponent<BaseNode[]> {
|
||||
documents,
|
||||
});
|
||||
|
||||
const nodes = this.postProcessParsedNodes(
|
||||
this.parseNodes(documents),
|
||||
docsId,
|
||||
);
|
||||
const parsedNodes = this.parseNodes(documents);
|
||||
if (isPromise(parsedNodes)) {
|
||||
return parsedNodes.then((parsedNodes) => {
|
||||
const nodes = this.postProcessParsedNodes(
|
||||
parsedNodes as Awaited<Result>,
|
||||
docsId,
|
||||
);
|
||||
|
||||
callbackManager.dispatchEvent("node-parsing-end", {
|
||||
nodes,
|
||||
});
|
||||
callbackManager.dispatchEvent("node-parsing-end", {
|
||||
nodes,
|
||||
});
|
||||
|
||||
return nodes;
|
||||
return nodes;
|
||||
}) as Result;
|
||||
} else {
|
||||
const nodes = this.postProcessParsedNodes(
|
||||
parsedNodes as Awaited<Result>,
|
||||
docsId,
|
||||
);
|
||||
|
||||
callbackManager.dispatchEvent("node-parsing-end", {
|
||||
nodes,
|
||||
});
|
||||
|
||||
return nodes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export abstract class TextSplitter extends NodeParser {
|
||||
export abstract class TextSplitter extends NodeParser<TextNode[]> {
|
||||
abstract splitText(text: string): string[];
|
||||
|
||||
public splitTexts(texts: string[]): string[] {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from "../schema";
|
||||
import { NodeParser } from "./base";
|
||||
|
||||
export class MarkdownNodeParser extends NodeParser {
|
||||
export class MarkdownNodeParser extends NodeParser<TextNode[]> {
|
||||
override parseNodes(nodes: TextNode[], showProgress?: boolean): TextNode[] {
|
||||
return nodes.reduce<TextNode[]>((allNodes, node) => {
|
||||
const markdownNodes = this.getNodesFromNode(node);
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
import { NodeParser } from "./base";
|
||||
import { splitBySentenceTokenizer, type TextSplitterFn } from "./utils";
|
||||
|
||||
export class SentenceWindowNodeParser extends NodeParser {
|
||||
export class SentenceWindowNodeParser extends NodeParser<TextNode[]> {
|
||||
static DEFAULT_WINDOW_SIZE = 3;
|
||||
static DEFAULT_WINDOW_METADATA_KEY = "window";
|
||||
static DEFAULT_ORIGINAL_TEXT_METADATA_KEY = "originalText";
|
||||
|
||||
@@ -116,7 +116,14 @@ class Refine extends BaseSynthesizer {
|
||||
}
|
||||
}
|
||||
|
||||
// fixme: no source nodes provided, cannot fix right now due to lack of context
|
||||
if (response === undefined) {
|
||||
response = stream
|
||||
? (async function* () {
|
||||
yield "";
|
||||
})()
|
||||
: "";
|
||||
}
|
||||
|
||||
if (typeof response === "string") {
|
||||
return EngineResponse.fromResponse(response, false, nodes);
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import type { JSONValue } from "../global";
|
||||
|
||||
export const isPromise = <T>(obj: unknown): obj is Promise<T> => {
|
||||
return obj != null && typeof obj === "object" && "then" in obj;
|
||||
};
|
||||
|
||||
export const isAsyncIterable = (
|
||||
obj: unknown,
|
||||
): obj is AsyncIterable<unknown> => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { BaseEmbedding } from "../embeddings/base.js";
|
||||
import type { BaseEmbedding } from "../embeddings";
|
||||
import { Settings } from "../global";
|
||||
import type { BaseNode, ModalityType } from "../schema/node.js";
|
||||
import type { BaseNode, ModalityType } from "../schema";
|
||||
|
||||
/**
|
||||
* should compatible with npm:pg and npm:postgres
|
||||
|
||||
@@ -66,9 +66,9 @@ describe("ChatMemoryBuffer", () => {
|
||||
expect(result).toEqual([...inputMessages, ...storedMessages]);
|
||||
});
|
||||
|
||||
test("getMessages throws error when initial token count exceeds limit", () => {
|
||||
test("getMessages throws error when initial token count exceeds limit", async () => {
|
||||
const buffer = new ChatMemoryBuffer({ tokenLimit: 10 });
|
||||
expect(async () => buffer.getMessages(undefined, 20)).rejects.toThrow(
|
||||
await expect(async () => buffer.getMessages(undefined, 20)).rejects.toThrow(
|
||||
"Initial token count exceeds token limit",
|
||||
);
|
||||
});
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import { NodeParser } from "@llamaindex/core/node-parser";
|
||||
import { TextNode } from "@llamaindex/core/schema";
|
||||
import { describe, expect, test } from "vitest";
|
||||
|
||||
describe("NodeParser", () => {
|
||||
test("node parser should allow async parse function", async () => {
|
||||
class MyNodeParser extends NodeParser<Promise<TextNode[]>> {
|
||||
protected async parseNodes(documents: TextNode[]): Promise<TextNode[]> {
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
return documents;
|
||||
}
|
||||
}
|
||||
|
||||
const nodeParser = new MyNodeParser();
|
||||
const nodes = [
|
||||
new TextNode({
|
||||
text: "Hello, world!",
|
||||
}),
|
||||
];
|
||||
const result = nodeParser(nodes);
|
||||
expect(result).toBeInstanceOf(Promise);
|
||||
await expect(result).resolves.toEqual(nodes);
|
||||
});
|
||||
});
|
||||
@@ -1,4 +1,4 @@
|
||||
import { describe, expect, test, vi } from "vitest";
|
||||
import { beforeEach, describe, expect, test, vi } from "vitest";
|
||||
import type { LLMMetadata } from "../../llms/dist/index.js";
|
||||
import { getResponseSynthesizer } from "../../response-synthesizers/dist/index.js";
|
||||
import { Document } from "../../schema/dist/index.js";
|
||||
@@ -10,26 +10,69 @@ const mockLllm = () => ({
|
||||
return response;
|
||||
}
|
||||
|
||||
function* gen() {
|
||||
// yield a few times to make sure each chunk has the sourceNodes
|
||||
yield response;
|
||||
yield response;
|
||||
yield response;
|
||||
}
|
||||
|
||||
return gen();
|
||||
return {
|
||||
[Symbol.asyncIterator]: function* gen() {
|
||||
// yield a few times to make sure each chunk has the sourceNodes
|
||||
yield response;
|
||||
yield response;
|
||||
yield response;
|
||||
},
|
||||
};
|
||||
}),
|
||||
chat: vi.fn(),
|
||||
metadata: {} as unknown as LLMMetadata,
|
||||
});
|
||||
|
||||
describe("refine response synthesizer", () => {
|
||||
let synthesizer: ReturnType<typeof getResponseSynthesizer<"refine">>;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const isAsyncIterable = (obj: any): boolean =>
|
||||
obj[Symbol.asyncIterator] !== undefined;
|
||||
|
||||
beforeEach(() => {
|
||||
synthesizer = getResponseSynthesizer("refine", {
|
||||
llm: mockLllm(),
|
||||
});
|
||||
});
|
||||
|
||||
describe("getResponse", () => {
|
||||
test("should return async iterable of EngineResponse when stream is true and sourceNodes are empty", async () => {
|
||||
const response = await synthesizer.getResponse(
|
||||
"unimportant query",
|
||||
[],
|
||||
true,
|
||||
);
|
||||
|
||||
expect(isAsyncIterable(response)).toBe(true);
|
||||
for await (const chunk of response) {
|
||||
expect(chunk.message.content).toEqual("");
|
||||
}
|
||||
});
|
||||
|
||||
test("should return non async iterable when stream is false and sourceNodes are empty", async () => {
|
||||
const response = await synthesizer.getResponse(
|
||||
"unimportant query",
|
||||
[],
|
||||
false,
|
||||
);
|
||||
|
||||
expect(isAsyncIterable(response)).toBe(false);
|
||||
expect(response.message.content).toEqual("");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("compact and refine response synthesizer", () => {
|
||||
let synthesizer: ReturnType<typeof getResponseSynthesizer<"compact">>;
|
||||
|
||||
beforeEach(() => {
|
||||
synthesizer = getResponseSynthesizer("compact", {
|
||||
llm: mockLllm(),
|
||||
});
|
||||
});
|
||||
|
||||
describe("synthesize", () => {
|
||||
test("should return original sourceNodes with response when stream = false", async () => {
|
||||
const synthesizer = getResponseSynthesizer("compact", {
|
||||
llm: mockLllm(),
|
||||
});
|
||||
|
||||
const sourceNode = { node: new Document({}), score: 1 };
|
||||
|
||||
const response = await synthesizer.synthesize(
|
||||
@@ -44,10 +87,6 @@ describe("compact and refine response synthesizer", () => {
|
||||
});
|
||||
|
||||
test("should return original sourceNodes with response when stream = true", async () => {
|
||||
const synthesizer = getResponseSynthesizer("compact", {
|
||||
llm: mockLllm(),
|
||||
});
|
||||
|
||||
const sourceNode = { node: new Document({}), score: 1 };
|
||||
|
||||
const response = await synthesizer.synthesize(
|
||||
|
||||
Vendored
+6
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/env
|
||||
|
||||
## 0.1.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cc50c9c: fix: missing release
|
||||
|
||||
## 0.1.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Vendored
+4
-10
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/env",
|
||||
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
|
||||
"version": "0.1.27",
|
||||
"version": "0.1.28",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"module": "dist/index.js",
|
||||
@@ -72,10 +72,7 @@
|
||||
"types": "./tokenizers/dist/index.d.cts",
|
||||
"default": "./tokenizers/dist/index.cjs"
|
||||
},
|
||||
"default": {
|
||||
"types": "./tokenizers/dist/index.d.ts",
|
||||
"default": "./tokenizers/dist/index.js"
|
||||
}
|
||||
"default": "./tokenizers/dist/index.js"
|
||||
},
|
||||
"./multi-model": {
|
||||
"workerd": {
|
||||
@@ -98,10 +95,7 @@
|
||||
"types": "./multi-model/dist/index.d.cts",
|
||||
"default": "./multi-model/dist/index.cjs"
|
||||
},
|
||||
"default": {
|
||||
"types": "./multi-model/dist/index.d.ts",
|
||||
"default": "./multi-model/dist/index.js"
|
||||
}
|
||||
"default": "./multi-model/dist/index.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
@@ -125,7 +119,7 @@
|
||||
"@huggingface/transformers": "^3.0.2",
|
||||
"@types/node": "^22.9.0",
|
||||
"@types/readable-stream": "^4.0.15",
|
||||
"bunchee": "6.2.0",
|
||||
"bunchee": "6.3.4",
|
||||
"gpt-tokenizer": "^2.6.2",
|
||||
"pathe": "^1.1.2",
|
||||
"vitest": "^2.1.5"
|
||||
|
||||
Vendored
+5
-4
@@ -20,7 +20,7 @@ import { Readable } from "node:stream";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { createWriteStream, fs } from "./fs/node.js";
|
||||
import "./global-check.js";
|
||||
import { type SHA256, process } from "./node-polyfill.js";
|
||||
import { type SHA256 } from "./node-polyfill.js";
|
||||
|
||||
export function createSHA256(): SHA256 {
|
||||
const hash = createHash("sha256");
|
||||
@@ -34,18 +34,19 @@ export function createSHA256(): SHA256 {
|
||||
};
|
||||
}
|
||||
|
||||
export const process = globalThis.process;
|
||||
|
||||
export * from "./als/index.node.js";
|
||||
export { consoleLogger, emptyLogger, type Logger } from "./logger/index.js";
|
||||
export { CustomEvent, getEnv, setEnvs } from "./utils/index.js";
|
||||
export { NotSupportCurrentRuntimeClass } from "./utils/shared.js";
|
||||
export {
|
||||
EOL,
|
||||
Readable,
|
||||
createWriteStream,
|
||||
EOL,
|
||||
fileURLToPath,
|
||||
fs,
|
||||
ok,
|
||||
path,
|
||||
process,
|
||||
randomUUID,
|
||||
Readable,
|
||||
};
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
# @llamaindex/experimental
|
||||
|
||||
## 0.0.154
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- llamaindex@0.9.4
|
||||
|
||||
## 0.0.153
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.9.3
|
||||
|
||||
## 0.0.152
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [88d776f]
|
||||
- llamaindex@0.9.2
|
||||
|
||||
## 0.0.151
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6d37d44]
|
||||
- llamaindex@0.9.1
|
||||
|
||||
## 0.0.150
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/experimental",
|
||||
"description": "Experimental package for LlamaIndexTS",
|
||||
"version": "0.0.150",
|
||||
"version": "0.0.154",
|
||||
"type": "module",
|
||||
"types": "dist/type/index.d.ts",
|
||||
"main": "dist/cjs/index.js",
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# llamaindex
|
||||
|
||||
## 0.9.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- cb021e7: feat(node-parser): support async function
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
- @llamaindex/cloud@3.0.4
|
||||
- @llamaindex/node-parser@1.0.3
|
||||
|
||||
## 0.9.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/cloud@3.0.3
|
||||
- @llamaindex/node-parser@1.0.2
|
||||
- @llamaindex/openai@0.1.54
|
||||
|
||||
## 0.9.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 88d776f: fix: enhance error message in llamacloud
|
||||
- Updated dependencies [c902fcb]
|
||||
- @llamaindex/cloud@3.0.2
|
||||
|
||||
## 0.9.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6d37d44: fix: Update react agent to support tool calls from Cohere command-r models
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/cloud@3.0.1
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/node-parser@1.0.1
|
||||
- @llamaindex/openai@0.1.53
|
||||
|
||||
## 0.9.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "llamaindex",
|
||||
"version": "0.9.0",
|
||||
"version": "0.9.4",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"keywords": [
|
||||
|
||||
@@ -100,7 +100,7 @@ function extractToolUse(
|
||||
inputText: string,
|
||||
): [thought: string, action: string, input: string] {
|
||||
const pattern =
|
||||
/\s*Thought: (.*?)\nAction: ([a-zA-Z0-9_]+).*?\.*Input: .*?(\{.*?\})/s;
|
||||
/\s*Thought: (.*?)\nAction: ([a-zA-Z0-9_]+).*?\.*[Input:]*.*?(\{.*?\})/s;
|
||||
|
||||
const match = inputText.match(pattern);
|
||||
|
||||
|
||||
@@ -31,6 +31,11 @@ export function initService({ apiKey, baseUrl }: ClientParams = {}) {
|
||||
request.headers.set("Authorization", `Bearer ${token}`);
|
||||
return request;
|
||||
});
|
||||
client.interceptors.error.use((error) => {
|
||||
throw new Error(
|
||||
`LlamaCloud API request failed. Error details: ${JSON.stringify(error)}`,
|
||||
);
|
||||
});
|
||||
if (!token) {
|
||||
throw new Error(
|
||||
"API Key is required for LlamaCloudIndex. Please pass the apiKey parameter",
|
||||
|
||||
@@ -296,7 +296,7 @@ export class KeywordTableIndex extends BaseIndex<KeywordTable> {
|
||||
await docStore.setDocumentHash(doc.id_, doc.hash);
|
||||
}
|
||||
|
||||
const nodes = Settings.nodeParser.getNodesFromDocuments(documents);
|
||||
const nodes = await Settings.nodeParser.getNodesFromDocuments(documents);
|
||||
const index = await KeywordTableIndex.init({
|
||||
nodes,
|
||||
storageContext,
|
||||
|
||||
@@ -145,7 +145,7 @@ export class SummaryIndex extends BaseIndex<IndexList> {
|
||||
await docStore.setDocumentHash(doc.id_, doc.hash);
|
||||
}
|
||||
|
||||
const nodes = Settings.nodeParser.getNodesFromDocuments(documents);
|
||||
const nodes = await Settings.nodeParser.getNodesFromDocuments(documents);
|
||||
|
||||
const index = await SummaryIndex.init({
|
||||
nodes,
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @llamaindex/node-parser
|
||||
|
||||
## 1.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 1.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 1.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 1.0.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/node-parser",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.3",
|
||||
"description": "Node parser for LlamaIndex",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
@@ -43,7 +43,7 @@
|
||||
"@llamaindex/env": "workspace:*",
|
||||
"@types/html-to-text": "^9.0.4",
|
||||
"@types/node": "^22.9.0",
|
||||
"bunchee": "6.2.0",
|
||||
"bunchee": "6.3.4",
|
||||
"tree-sitter": "^0.22.1",
|
||||
"web-tree-sitter": "^0.24.4"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,39 @@
|
||||
# @llamaindex/anthropic
|
||||
|
||||
## 0.2.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.2.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 3564244: Add support for claude 3.7 thinking (and set default temperature to 1)
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a9c6144: Stream thinking tokens
|
||||
- 3564244: add support for claude 3.7
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 0.1.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- be74207: fix: dont add empty text block to tool call
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 0.1.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/anthropic",
|
||||
"description": "Anthropic Adapter for LlamaIndex",
|
||||
"version": "0.1.0",
|
||||
"version": "0.2.1",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -31,11 +31,11 @@
|
||||
"test": "vitest run"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0",
|
||||
"bunchee": "6.3.4",
|
||||
"vitest": "^2.1.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "0.32.1",
|
||||
"@anthropic-ai/sdk": "0.37.0",
|
||||
"@llamaindex/core": "workspace:*",
|
||||
"@llamaindex/env": "workspace:*",
|
||||
"remeda": "^2.17.3"
|
||||
|
||||
@@ -6,6 +6,8 @@ import type {
|
||||
} from "@anthropic-ai/sdk/resources/beta/index";
|
||||
import type { TextBlock } from "@anthropic-ai/sdk/resources/index";
|
||||
import type {
|
||||
MessageCreateParams,
|
||||
MessageCreateParamsBase,
|
||||
MessageParam,
|
||||
Model,
|
||||
Tool,
|
||||
@@ -102,10 +104,17 @@ export const ALL_AVAILABLE_V3_5_MODELS = {
|
||||
"claude-3-5-haiku-20241022": { contextWindow: 200000 },
|
||||
};
|
||||
|
||||
export const ALL_AVAILABLE_V3_7_MODELS = {
|
||||
"claude-3-7-sonnet": { contextWindow: 200000 },
|
||||
"claude-3-7-sonnet-20250219": { contextWindow: 200000 },
|
||||
"claude-3-7-sonnet-latest": { contextWindow: 200000 },
|
||||
};
|
||||
|
||||
export const ALL_AVAILABLE_ANTHROPIC_MODELS = {
|
||||
...ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS,
|
||||
...ALL_AVAILABLE_V3_MODELS,
|
||||
...ALL_AVAILABLE_V3_5_MODELS,
|
||||
...ALL_AVAILABLE_V3_7_MODELS,
|
||||
} satisfies {
|
||||
[key in Model]: { contextWindow: number };
|
||||
};
|
||||
@@ -115,11 +124,16 @@ const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = {
|
||||
"claude-3-sonnet": "claude-3-sonnet-20240229",
|
||||
"claude-3-haiku": "claude-3-haiku-20240307",
|
||||
"claude-3-5-sonnet": "claude-3-5-sonnet-20240620",
|
||||
"claude-3-7-sonnet": "claude-3-7-sonnet-20250219",
|
||||
} as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string };
|
||||
|
||||
export type AnthropicAdditionalChatOptions = object;
|
||||
export type AnthropicAdditionalChatOptions = Pick<
|
||||
MessageCreateParamsBase,
|
||||
"thinking"
|
||||
>;
|
||||
export type AnthropicToolCallLLMMessageOptions = ToolCallLLMMessageOptions & {
|
||||
cache_control?: BetaCacheControlEphemeral | null;
|
||||
thinking?: string | undefined;
|
||||
};
|
||||
|
||||
export class Anthropic extends ToolCallLLM<
|
||||
@@ -129,8 +143,9 @@ export class Anthropic extends ToolCallLLM<
|
||||
// Per completion Anthropic params
|
||||
model: keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS | ({} & string);
|
||||
temperature: number;
|
||||
topP: number;
|
||||
topP?: number | undefined;
|
||||
maxTokens?: number | undefined;
|
||||
additionalChatOptions?: AnthropicAdditionalChatOptions | undefined;
|
||||
|
||||
// Anthropic session params
|
||||
apiKey?: string | undefined;
|
||||
@@ -141,13 +156,14 @@ export class Anthropic extends ToolCallLLM<
|
||||
constructor(init?: Partial<Anthropic>) {
|
||||
super();
|
||||
this.model = init?.model ?? "claude-3-opus";
|
||||
this.temperature = init?.temperature ?? 0.1;
|
||||
this.topP = init?.topP ?? 0.999; // Per Ben Mann
|
||||
this.temperature = init?.temperature ?? 1; // default in anthropic is 1
|
||||
this.topP = init?.topP;
|
||||
this.maxTokens = init?.maxTokens ?? undefined;
|
||||
|
||||
this.apiKey = init?.apiKey ?? undefined;
|
||||
this.maxRetries = init?.maxRetries ?? 10;
|
||||
this.timeout = init?.timeout ?? 60 * 1000; // Default is 60 seconds
|
||||
this.additionalChatOptions = init?.additionalChatOptions;
|
||||
this.session =
|
||||
init?.session ??
|
||||
getAnthropicSession({
|
||||
@@ -165,7 +181,7 @@ export class Anthropic extends ToolCallLLM<
|
||||
return {
|
||||
model: this.model,
|
||||
temperature: this.temperature,
|
||||
topP: this.topP,
|
||||
topP: this.topP ?? 0, // XXX: topP needs to be returned but might be undefined for Anthropic
|
||||
maxTokens: this.maxTokens,
|
||||
contextWindow:
|
||||
this.model in ALL_AVAILABLE_ANTHROPIC_MODELS
|
||||
@@ -207,23 +223,26 @@ export class Anthropic extends ToolCallLLM<
|
||||
}
|
||||
|
||||
if ("toolCall" in options) {
|
||||
const formattedMessage: MessageParam = {
|
||||
role: "assistant",
|
||||
content: [
|
||||
{
|
||||
type: "text" as const,
|
||||
text: extractText(message.content),
|
||||
},
|
||||
...options.toolCall.map((tool) => ({
|
||||
type: "tool_use" as const,
|
||||
id: tool.id,
|
||||
name: tool.name,
|
||||
input: this.parseToolInput(tool.input),
|
||||
})),
|
||||
],
|
||||
};
|
||||
const text = extractText(message.content);
|
||||
|
||||
return formattedMessage;
|
||||
const content: MessageParam["content"] = [];
|
||||
if (text && text.trim().length > 0) {
|
||||
// don't add empty text blocks
|
||||
content.push({
|
||||
type: "text" as const,
|
||||
text: text,
|
||||
});
|
||||
}
|
||||
content.push(
|
||||
...options.toolCall.map((tool) => ({
|
||||
type: "tool_use" as const,
|
||||
id: tool.id,
|
||||
name: tool.name,
|
||||
input: this.parseToolInput(tool.input),
|
||||
})),
|
||||
);
|
||||
|
||||
return { role: "assistant", content } satisfies MessageParam;
|
||||
}
|
||||
|
||||
// Handle tool results
|
||||
@@ -362,8 +381,14 @@ export class Anthropic extends ToolCallLLM<
|
||||
@wrapLLMEvent
|
||||
async chat(
|
||||
params:
|
||||
| LLMChatParamsNonStreaming<AnthropicToolCallLLMMessageOptions>
|
||||
| LLMChatParamsStreaming<AnthropicToolCallLLMMessageOptions>,
|
||||
| LLMChatParamsNonStreaming<
|
||||
AnthropicAdditionalChatOptions,
|
||||
AnthropicToolCallLLMMessageOptions
|
||||
>
|
||||
| LLMChatParamsStreaming<
|
||||
AnthropicAdditionalChatOptions,
|
||||
AnthropicToolCallLLMMessageOptions
|
||||
>,
|
||||
): Promise<
|
||||
| ChatResponse<AnthropicToolCallLLMMessageOptions>
|
||||
| AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>>
|
||||
@@ -404,28 +429,29 @@ export class Anthropic extends ToolCallLLM<
|
||||
anthropic = anthropic.beta.promptCaching;
|
||||
}
|
||||
|
||||
if (stream) {
|
||||
if (tools) {
|
||||
console.error("Tools are not supported in streaming mode");
|
||||
}
|
||||
return this.streamChat(
|
||||
messages.filter((m) => m.role !== "system"),
|
||||
systemPrompt,
|
||||
anthropic,
|
||||
);
|
||||
}
|
||||
|
||||
const apiParams = {
|
||||
const apiParams: MessageCreateParams = {
|
||||
model: this.getModelName(this.model),
|
||||
messages: this.mergeConsecutiveMessages(
|
||||
this.formatMessages(messages.filter((m) => m.role !== "system")),
|
||||
),
|
||||
max_tokens: this.maxTokens ?? 4096,
|
||||
temperature: this.temperature,
|
||||
top_p: this.topP,
|
||||
...(this.topP ? { top_p: this.topP } : {}),
|
||||
...(systemPrompt && { system: systemPrompt }),
|
||||
...Object.assign(
|
||||
{},
|
||||
this.additionalChatOptions,
|
||||
params.additionalChatOptions,
|
||||
),
|
||||
};
|
||||
|
||||
if (stream) {
|
||||
if (tools) {
|
||||
console.error("Tools are not supported in streaming mode");
|
||||
}
|
||||
return this.streamChat(anthropic, apiParams);
|
||||
}
|
||||
|
||||
if (tools?.length) {
|
||||
Object.assign(apiParams, {
|
||||
tools: this.prepareToolsForAPI(tools),
|
||||
@@ -442,7 +468,10 @@ export class Anthropic extends ToolCallLLM<
|
||||
raw: response,
|
||||
message: {
|
||||
content: response.content
|
||||
.filter((content): content is TextBlock => content.type === "text")
|
||||
.filter(
|
||||
(content): content is TextBlock =>
|
||||
content.type === "text" && content.text?.trim().length > 0,
|
||||
)
|
||||
.map((content) => ({
|
||||
type: "text" as const,
|
||||
text: content.text,
|
||||
@@ -466,36 +495,36 @@ export class Anthropic extends ToolCallLLM<
|
||||
}
|
||||
|
||||
protected async *streamChat(
|
||||
messages: ChatMessage<AnthropicToolCallLLMMessageOptions>[],
|
||||
systemPrompt: string | Array<BetaTextBlockParam> | null,
|
||||
anthropic: SDKAnthropic,
|
||||
params: MessageCreateParams,
|
||||
): AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>> {
|
||||
const stream = await anthropic.messages.create({
|
||||
model: this.getModelName(this.model),
|
||||
messages: this.formatMessages(messages),
|
||||
max_tokens: this.maxTokens ?? 4096,
|
||||
temperature: this.temperature,
|
||||
top_p: this.topP,
|
||||
...params,
|
||||
stream: true,
|
||||
...(systemPrompt && { system: systemPrompt }),
|
||||
});
|
||||
|
||||
let idx_counter: number = 0;
|
||||
for await (const part of stream) {
|
||||
const content =
|
||||
part.type === "content_block_delta"
|
||||
? part.delta.type === "text_delta"
|
||||
? part.delta.text
|
||||
: part.delta
|
||||
const textContent =
|
||||
part.type === "content_block_delta" && part.delta.type === "text_delta"
|
||||
? part.delta.text
|
||||
: undefined;
|
||||
|
||||
if (typeof content !== "string") continue;
|
||||
const thinking =
|
||||
part.type === "content_block_delta" &&
|
||||
part.delta.type === "thinking_delta"
|
||||
? part.delta.thinking
|
||||
: undefined;
|
||||
|
||||
if (!textContent && !thinking) continue;
|
||||
|
||||
idx_counter++;
|
||||
yield {
|
||||
raw: part,
|
||||
delta: content,
|
||||
options: {},
|
||||
delta: textContent ?? "",
|
||||
options: {
|
||||
thinking: thinking,
|
||||
},
|
||||
};
|
||||
}
|
||||
return;
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# @llamaindex/clip
|
||||
|
||||
## 0.0.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/openai@0.1.54
|
||||
|
||||
## 0.0.37
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/openai@0.1.53
|
||||
|
||||
## 0.0.36
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/clip",
|
||||
"description": "Clip Embedding Adapter for LlamaIndex",
|
||||
"version": "0.0.36",
|
||||
"version": "0.0.39",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
@@ -39,7 +39,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@huggingface/transformers": "^3.0.2",
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @llamaindex/cohere
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 0.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 0.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/cohere",
|
||||
"description": "Cohere Adapter for LlamaIndex",
|
||||
"version": "0.0.5",
|
||||
"version": "0.0.8",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -30,7 +30,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@llamaindex/core": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# @llamaindex/deepinfra
|
||||
|
||||
## 0.0.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/openai@0.1.54
|
||||
|
||||
## 0.0.37
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/openai@0.1.53
|
||||
|
||||
## 0.0.36
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/deepinfra",
|
||||
"description": "Deepinfra Adapter for LlamaIndex",
|
||||
"version": "0.0.36",
|
||||
"version": "0.0.39",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -30,7 +30,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@llamaindex/core": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @llamaindex/google
|
||||
|
||||
## 0.0.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 0.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/google",
|
||||
"description": "Google Adapter for LlamaIndex",
|
||||
"version": "0.0.7",
|
||||
"version": "0.0.10",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -30,12 +30,12 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@llamaindex/core": "workspace:*",
|
||||
"@llamaindex/env": "workspace:*",
|
||||
"@google-cloud/vertexai": "1.9.0",
|
||||
"@google/generative-ai": "0.21.0",
|
||||
"@google-cloud/vertexai": "1.9.0"
|
||||
"@llamaindex/core": "workspace:*",
|
||||
"@llamaindex/env": "workspace:*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,26 @@
|
||||
# @llamaindex/groq
|
||||
|
||||
## 0.0.54
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- @llamaindex/openai@0.1.55
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.1.54
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/openai@0.1.53
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/groq",
|
||||
"description": "Groq Adapter for LlamaIndex",
|
||||
"version": "0.0.51",
|
||||
"version": "0.0.54",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -30,7 +30,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@llamaindex/env": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# @llamaindex/huggingface
|
||||
|
||||
## 0.0.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb256f2]
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/openai@0.1.55
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
- @llamaindex/openai@0.1.54
|
||||
|
||||
## 0.0.37
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
- @llamaindex/openai@0.1.53
|
||||
|
||||
## 0.0.36
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/huggingface",
|
||||
"description": "Huggingface Adapter for LlamaIndex",
|
||||
"version": "0.0.36",
|
||||
"version": "0.0.39",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
@@ -39,7 +39,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@huggingface/inference": "^2.8.1",
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @llamaindex/mistral
|
||||
|
||||
## 0.0.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cb021e7]
|
||||
- @llamaindex/core@0.5.3
|
||||
|
||||
## 0.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d952e68]
|
||||
- @llamaindex/core@0.5.2
|
||||
|
||||
## 0.0.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [cc50c9c]
|
||||
- @llamaindex/env@0.1.28
|
||||
- @llamaindex/core@0.5.1
|
||||
|
||||
## 0.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/mistral",
|
||||
"description": "Mistral Adapter for LlamaIndex",
|
||||
"version": "0.0.5",
|
||||
"version": "0.0.8",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
@@ -30,7 +30,7 @@
|
||||
"dev": "bunchee --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bunchee": "6.2.0"
|
||||
"bunchee": "6.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@llamaindex/core": "workspace:*",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user