mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-15 06:52:45 -04:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f369d3de4f | |||
| c1850ee370 | |||
| 086a65141d | |||
| d99d598491 | |||
| a0e6f57d9b | |||
| e0f6cc3be1 | |||
| 8386510d86 | |||
| b504303c66 | |||
| cf9a9356e0 | |||
| 335020e242 | |||
| 3d1808b5d2 | |||
| a19cbc7fe0 | |||
| b8f0cbc4e0 | |||
| 7e8230b056 | |||
| 8be45899a7 | |||
| c4800bcf82 | |||
| fd38a253b7 | |||
| 510191cb5d | |||
| 7934ade092 | |||
| a6c1eab762 | |||
| 515f2c1e3d | |||
| dc85649ead | |||
| d2b2722a30 |
@@ -23,7 +23,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [20.x, 22.x, 23.x]
|
node-version: [18.x, 20.x, 22.x, 23.x]
|
||||||
name: E2E on Node.js ${{ matrix.node-version }}
|
name: E2E on Node.js ${{ matrix.node-version }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -53,7 +53,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [20.x, 22.x, 23.x]
|
node-version: [18.x, 20.x, 22.x, 23.x]
|
||||||
name: Test on Node.js ${{ matrix.node-version }}
|
name: Test on Node.js ${{ matrix.node-version }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -1,5 +1,50 @@
|
|||||||
# docs
|
# docs
|
||||||
|
|
||||||
|
## 0.0.133
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- c1850ee: feat: Amazon Nova support via Bedrock
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
- @llamaindex/examples@0.0.20
|
||||||
|
|
||||||
|
## 0.0.132
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
- @llamaindex/examples@0.0.19
|
||||||
|
|
||||||
|
## 0.0.131
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
- @llamaindex/examples@0.0.18
|
||||||
|
|
||||||
|
## 0.0.130
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [fd38a25]
|
||||||
|
- @llamaindex/examples@0.0.17
|
||||||
|
|
||||||
|
## 0.0.129
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.128
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.0.127
|
## 0.0.127
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ META_LLAMA3_2_1B_INSTRUCT = "meta.llama3-2-1b-instruct-v1:0"; // only available
|
|||||||
META_LLAMA3_2_3B_INSTRUCT = "meta.llama3-2-3b-instruct-v1:0"; // only available via inference endpoints (see below)
|
META_LLAMA3_2_3B_INSTRUCT = "meta.llama3-2-3b-instruct-v1:0"; // only available via inference endpoints (see below)
|
||||||
META_LLAMA3_2_11B_INSTRUCT = "meta.llama3-2-11b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported
|
META_LLAMA3_2_11B_INSTRUCT = "meta.llama3-2-11b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported
|
||||||
META_LLAMA3_2_90B_INSTRUCT = "meta.llama3-2-90b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported
|
META_LLAMA3_2_90B_INSTRUCT = "meta.llama3-2-90b-instruct-v1:0"; // only available via inference endpoints (see below), multimodal and function call supported
|
||||||
|
AMAZON_NOVA_PRO_1 = "amazon.nova-pro-v1:0";
|
||||||
|
AMAZON_NOVA_LITE_1 = "amazon.nova-lite-v1:0";
|
||||||
|
AMAZON_NOVA_MICRO_1 = "amazon.nova-micro-v1:0";
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also use Bedrock's Inference endpoints by using the model names:
|
You can also use Bedrock's Inference endpoints by using the model names:
|
||||||
@@ -53,6 +56,9 @@ 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_3B_INSTRUCT = "us.meta.llama3-2-3b-instruct-v1:0";
|
||||||
US_META_LLAMA_3_2_11B_INSTRUCT = "us.meta.llama3-2-11b-instruct-v1:0";
|
US_META_LLAMA_3_2_11B_INSTRUCT = "us.meta.llama3-2-11b-instruct-v1:0";
|
||||||
US_META_LLAMA_3_2_90B_INSTRUCT = "us.meta.llama3-2-90b-instruct-v1:0";
|
US_META_LLAMA_3_2_90B_INSTRUCT = "us.meta.llama3-2-90b-instruct-v1:0";
|
||||||
|
US_AMAZON_NOVA_PRO_1 = "us.amazon.nova-pro-v1:0";
|
||||||
|
US_AMAZON_NOVA_LITE_1 = "us.amazon.nova-lite-v1:0";
|
||||||
|
US_AMAZON_NOVA_MICRO_1 = "us.amazon.nova-micro-v1:0";
|
||||||
|
|
||||||
// EU
|
// EU
|
||||||
EU_ANTHROPIC_CLAUDE_3_HAIKU = "eu.anthropic.claude-3-haiku-20240307-v1:0";
|
EU_ANTHROPIC_CLAUDE_3_HAIKU = "eu.anthropic.claude-3-haiku-20240307-v1:0";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "docs",
|
"name": "docs",
|
||||||
"version": "0.0.127",
|
"version": "0.0.133",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
|
|||||||
@@ -1,5 +1,70 @@
|
|||||||
# @llamaindex/doc
|
# @llamaindex/doc
|
||||||
|
|
||||||
|
## 0.0.31
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/cloud@2.0.18
|
||||||
|
- @llamaindex/node-parser@0.0.19
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
- @llamaindex/readers@1.0.20
|
||||||
|
- @llamaindex/workflow@0.0.8
|
||||||
|
|
||||||
|
## 0.0.30
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
- @llamaindex/cloud@2.0.17
|
||||||
|
- @llamaindex/node-parser@0.0.18
|
||||||
|
- @llamaindex/readers@1.0.19
|
||||||
|
|
||||||
|
## 0.0.29
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7e8230b]
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/readers@1.0.18
|
||||||
|
- @llamaindex/cloud@2.0.16
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/node-parser@0.0.17
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
- @llamaindex/workflow@0.0.7
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.28
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- fd38a25: Add vercel tool adapter to use query engine tool
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.15
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
- @llamaindex/node-parser@0.0.16
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
- @llamaindex/readers@1.0.17
|
||||||
|
|
||||||
## 0.0.25
|
## 0.0.25
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/doc",
|
"name": "@llamaindex/doc",
|
||||||
"version": "0.0.25",
|
"version": "0.0.31",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "pnpm run build:docs && next build",
|
"build": "pnpm run build:docs && next build",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"title": "Integration",
|
"title": "Integration",
|
||||||
"description": "See our integrations",
|
"description": "See our integrations",
|
||||||
"pages": ["open-llm-metry", "lang-trace"]
|
"pages": ["open-llm-metry", "lang-trace", "vercel"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
---
|
||||||
|
title: Vercel
|
||||||
|
description: Integrate LlamaIndex with Vercel's AI SDK
|
||||||
|
---
|
||||||
|
|
||||||
|
LlamaIndex provides integration with Vercel's AI SDK, allowing you to create powerful search and retrieval applications. You can:
|
||||||
|
- Use any of Vercel AI's [model providers](https://sdk.vercel.ai/docs/foundations/providers-and-models) as LLMs in LlamaIndex
|
||||||
|
- Use indexes (e.g. VectorStoreIndex, LlamaCloudIndex) from LlamaIndexTS in your Vercel AI applications
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
First, install the required dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install @llamaindex/vercel ai
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using Vercel AI's Model Providers
|
||||||
|
|
||||||
|
Using the `VercelLLM` adapter, it's easy to use any of Vercel AI's [model providers](https://sdk.vercel.ai/docs/foundations/providers-and-models) as LLMs in LlamaIndex. Here's an example of how to use OpenAI's GPT-4o model:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const llm = new VercelLLM({ model: openai("gpt-4o") });
|
||||||
|
const result = await llm.complete({
|
||||||
|
prompt: "What is the capital of France?",
|
||||||
|
stream: false, // Set to true if you want streaming responses
|
||||||
|
});
|
||||||
|
console.log(result.text);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Use Indexes
|
||||||
|
|
||||||
|
### Using VectorStoreIndex
|
||||||
|
|
||||||
|
Here's how to create a simple vector store index and query it using Vercel's AI SDK:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { openai } from "@ai-sdk/openai";
|
||||||
|
import { llamaindex } from "@llamaindex/vercel";
|
||||||
|
import { streamText } from "ai";
|
||||||
|
import { Document, VectorStoreIndex } from "llamaindex";
|
||||||
|
|
||||||
|
// Create an index from your documents
|
||||||
|
const document = new Document({ text: yourText, id_: "unique-id" });
|
||||||
|
const index = await VectorStoreIndex.fromDocuments([document]);
|
||||||
|
|
||||||
|
// Create a query tool
|
||||||
|
const queryTool = llamaindex({
|
||||||
|
model: openai("gpt-4"),
|
||||||
|
index,
|
||||||
|
description: "Search through the documents", // optional
|
||||||
|
});
|
||||||
|
|
||||||
|
// Use the tool with Vercel's AI SDK
|
||||||
|
streamText({
|
||||||
|
model: openai("gpt-4"),
|
||||||
|
prompt: "Your question here",
|
||||||
|
tools: { queryTool },
|
||||||
|
onFinish({ response }) {
|
||||||
|
console.log("Response:", response.messages); // log the response
|
||||||
|
},
|
||||||
|
}).toDataStream();
|
||||||
|
```
|
||||||
|
|
||||||
|
> Note: the Vercel AI model referenced in the `llamaindex` function is used by the response synthesizer to generate a response for the tool call.
|
||||||
|
|
||||||
|
### Using LlamaCloud
|
||||||
|
|
||||||
|
For production deployments, you can use LlamaCloud to store and manage your documents:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import { LlamaCloudIndex } from "llamaindex";
|
||||||
|
|
||||||
|
// Create a LlamaCloud index
|
||||||
|
const index = await LlamaCloudIndex.fromDocuments({
|
||||||
|
documents: [document],
|
||||||
|
name: "your-index-name",
|
||||||
|
projectName: "your-project",
|
||||||
|
apiKey: process.env.LLAMA_CLOUD_API_KEY,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Use it the same way as VectorStoreIndex
|
||||||
|
const queryTool = llamaindex({
|
||||||
|
model: openai("gpt-4"),
|
||||||
|
index,
|
||||||
|
description: "Search through the documents",
|
||||||
|
});
|
||||||
|
|
||||||
|
// Use the tool with Vercel's AI SDK
|
||||||
|
streamText({
|
||||||
|
model: openai("gpt-4"),
|
||||||
|
prompt: "Your question here",
|
||||||
|
tools: { queryTool },
|
||||||
|
}).toDataStream();
|
||||||
|
```
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
1. Explore [LlamaCloud](https://cloud.llamaindex.ai/) for managed document storage and retrieval
|
||||||
|
2. Join our [Discord community](https://discord.gg/dGcwcsnxhU) for support and discussions
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ Imaging you put output file into `/dist/openai.js` but you are importing `llamai
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
In old module resolution, TypeScript will not be able to find the module because it is not follow the file structure, even you run `node index.js` successfully. (on Node.js >=16)
|
In old module resolution, TypeScript will not be able to find the module because it is not following the file structure, even you run `node index.js` successfully. (on Node.js >=16)
|
||||||
|
|
||||||
See more about [moduleResolution](https://www.typescriptlang.org/docs/handbook/modules/theory.html#module-resolution) or
|
See more about [moduleResolution](https://www.typescriptlang.org/docs/handbook/modules/theory.html#module-resolution) or
|
||||||
[TypeScript 5.0 blog](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#--moduleresolution-bundler7).
|
[TypeScript 5.0 blog](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#--moduleresolution-bundler7).
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/cloudflare-worker-agent-test
|
# @llamaindex/cloudflare-worker-agent-test
|
||||||
|
|
||||||
|
## 0.0.123
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.0.122
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.0.121
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.120
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.119
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.0.118
|
## 0.0.118
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||||
"version": "0.0.118",
|
"version": "0.0.123",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,30 @@
|
|||||||
# @llamaindex/llama-parse-browser-test
|
# @llamaindex/llama-parse-browser-test
|
||||||
|
|
||||||
|
## 0.0.38
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.18
|
||||||
|
|
||||||
|
## 0.0.37
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.17
|
||||||
|
|
||||||
|
## 0.0.36
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/cloud@2.0.16
|
||||||
|
|
||||||
|
## 0.0.35
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.15
|
||||||
|
|
||||||
## 0.0.34
|
## 0.0.34
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/llama-parse-browser-test",
|
"name": "@llamaindex/llama-parse-browser-test",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.34",
|
"version": "0.0.38",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/next-agent-test
|
# @llamaindex/next-agent-test
|
||||||
|
|
||||||
|
## 0.1.123
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.1.122
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.1.121
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.1.120
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.1.119
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.1.118
|
## 0.1.118
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-agent-test",
|
"name": "@llamaindex/next-agent-test",
|
||||||
"version": "0.1.118",
|
"version": "0.1.123",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# test-edge-runtime
|
# test-edge-runtime
|
||||||
|
|
||||||
|
## 0.1.122
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.1.121
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.1.120
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.1.119
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.1.118
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.1.117
|
## 0.1.117
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||||
"version": "0.1.117",
|
"version": "0.1.122",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/next-node-runtime
|
# @llamaindex/next-node-runtime
|
||||||
|
|
||||||
|
## 0.0.104
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.0.103
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.0.102
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.101
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.100
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.0.99
|
## 0.0.99
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-node-runtime-test",
|
"name": "@llamaindex/next-node-runtime-test",
|
||||||
"version": "0.0.99",
|
"version": "0.0.104",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/waku-query-engine-test
|
# @llamaindex/waku-query-engine-test
|
||||||
|
|
||||||
|
## 0.0.123
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.0.122
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.0.121
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.120
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.119
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.0.118
|
## 0.0.118
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/waku-query-engine-test",
|
"name": "@llamaindex/waku-query-engine-test",
|
||||||
"version": "0.0.118",
|
"version": "0.0.123",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -21,6 +21,11 @@ test.beforeEach(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await test("clip embedding", async (t) => {
|
await test("clip embedding", async (t) => {
|
||||||
|
const major = parseInt(process.versions.node.split(".")[0] ?? "0", 10);
|
||||||
|
if (major < 20) {
|
||||||
|
t.skip("Skip CLIP tests on Node.js < 20");
|
||||||
|
return;
|
||||||
|
}
|
||||||
await t.test("should trigger load transformer event", async () => {
|
await t.test("should trigger load transformer event", async () => {
|
||||||
const nodes = [
|
const nodes = [
|
||||||
new ImageNode({
|
new ImageNode({
|
||||||
|
|||||||
@@ -1,5 +1,49 @@
|
|||||||
# examples
|
# examples
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [086a651]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
- @llamaindex/vercel@0.0.5
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/readers@1.0.20
|
||||||
|
- @llamaindex/workflow@0.0.8
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
- @llamaindex/vercel@0.0.4
|
||||||
|
- @llamaindex/readers@1.0.19
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7e8230b]
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/readers@1.0.18
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/vercel@0.0.3
|
||||||
|
- @llamaindex/workflow@0.0.7
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- fd38a25: Add vercel tool adapter to use query engine tool
|
||||||
|
- Updated dependencies [fd38a25]
|
||||||
|
- @llamaindex/vercel@0.0.2
|
||||||
|
|
||||||
## 0.0.16
|
## 0.0.16
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
import fs from "node:fs/promises";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Document,
|
Document,
|
||||||
IngestionPipeline,
|
IngestionPipeline,
|
||||||
MetadataMode,
|
|
||||||
OpenAIEmbedding,
|
OpenAIEmbedding,
|
||||||
SentenceSplitter,
|
SentenceSplitter,
|
||||||
|
VectorStoreIndex,
|
||||||
} from "llamaindex";
|
} from "llamaindex";
|
||||||
|
import fs from "node:fs/promises";
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
// Load essay from abramov.txt in Node
|
// Load essay from abramov.txt in Node
|
||||||
const path = "node_modules/llamaindex/examples/abramov.txt";
|
const path = "../node_modules/llamaindex/examples/abramov.txt";
|
||||||
|
|
||||||
const essay = await fs.readFile(path, "utf-8");
|
const essay = await fs.readFile(path, "utf-8");
|
||||||
|
|
||||||
@@ -22,14 +21,23 @@ async function main() {
|
|||||||
new OpenAIEmbedding(),
|
new OpenAIEmbedding(),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
console.time("Pipeline Run Time");
|
||||||
|
|
||||||
// run the pipeline
|
|
||||||
const nodes = await pipeline.run({ documents: [document] });
|
const nodes = await pipeline.run({ documents: [document] });
|
||||||
|
|
||||||
// print out the result of the pipeline run
|
console.timeEnd("Pipeline Run Time");
|
||||||
for (const node of nodes) {
|
|
||||||
console.log(node.getContent(MetadataMode.NONE));
|
// initialize the VectorStoreIndex from nodes
|
||||||
}
|
const index = await VectorStoreIndex.init({ nodes });
|
||||||
|
|
||||||
|
// Query the index
|
||||||
|
const queryEngine = index.asQueryEngine();
|
||||||
|
|
||||||
|
const { message } = await queryEngine.query({
|
||||||
|
query: "summarize the article in three sentence",
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
main().catch(console.error);
|
main().catch(console.error);
|
||||||
@@ -1,24 +1,27 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/examples",
|
"name": "@llamaindex/examples",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.16",
|
"version": "0.0.20",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@ai-sdk/openai": "^1.0.5",
|
||||||
"@aws-crypto/sha256-js": "^5.2.0",
|
"@aws-crypto/sha256-js": "^5.2.0",
|
||||||
"@azure/cosmos": "^4.1.1",
|
"@azure/cosmos": "^4.1.1",
|
||||||
"@azure/identity": "^4.4.1",
|
"@azure/identity": "^4.4.1",
|
||||||
"@datastax/astra-db-ts": "^1.4.1",
|
"@datastax/astra-db-ts": "^1.4.1",
|
||||||
"@llamaindex/core": "^0.4.10",
|
"@llamaindex/core": "^0.4.18",
|
||||||
"@llamaindex/readers": "^1.0.11",
|
"@llamaindex/readers": "^1.0.20",
|
||||||
"@llamaindex/workflow": "^0.0.6",
|
"@llamaindex/workflow": "^0.0.8",
|
||||||
|
"@llamaindex/vercel": "^0.0.5",
|
||||||
"@notionhq/client": "^2.2.15",
|
"@notionhq/client": "^2.2.15",
|
||||||
"@pinecone-database/pinecone": "^4.0.0",
|
"@pinecone-database/pinecone": "^4.0.0",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
"@zilliz/milvus2-sdk-node": "^2.4.6",
|
"@zilliz/milvus2-sdk-node": "^2.4.6",
|
||||||
|
"ai": "^4.0.0",
|
||||||
"chromadb": "^1.8.1",
|
"chromadb": "^1.8.1",
|
||||||
"commander": "^12.1.0",
|
"commander": "^12.1.0",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"js-tiktoken": "^1.0.14",
|
"js-tiktoken": "^1.0.14",
|
||||||
"llamaindex": "^0.8.13",
|
"llamaindex": "^0.8.27",
|
||||||
"mongodb": "^6.7.0",
|
"mongodb": "^6.7.0",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"postgres": "^3.4.4"
|
"postgres": "^3.4.4"
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
"start:llamaparse-dir": "node --import tsx ./src/simple-directory-reader-with-llamaparse.ts",
|
"start:llamaparse-dir": "node --import tsx ./src/simple-directory-reader-with-llamaparse.ts",
|
||||||
"start:llamaparse-json": "node --import tsx ./src/llamaparse-json.ts",
|
"start:llamaparse-json": "node --import tsx ./src/llamaparse-json.ts",
|
||||||
"start:discord": "node --import tsx ./src/discord.ts",
|
"start:discord": "node --import tsx ./src/discord.ts",
|
||||||
"start:json": "node --import tsx ./src/json.ts"
|
"start:json": "node --import tsx ./src/json.ts",
|
||||||
|
"start:obsidian": "node --import tsx ./src/obsidian.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/readers": "*",
|
"@llamaindex/readers": "*",
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import { ObsidianReader } from "@llamaindex/readers/obsidian";
|
||||||
|
|
||||||
|
const obsidianReader = new ObsidianReader(
|
||||||
|
"/Users/jingyi/Documents/jingyi-vault",
|
||||||
|
);
|
||||||
|
|
||||||
|
obsidianReader.loadData().then((documents) => {
|
||||||
|
console.log("documents:", documents.length);
|
||||||
|
documents.forEach((doc) => {
|
||||||
|
console.log(`document (${doc.id_}):`, doc.getText());
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# Vercel Examples
|
||||||
|
|
||||||
|
These examples demonstrate how to integrate LlamaIndexTS with Vercel's AI SDK. The examples show how to use LlamaIndex for search and retrieval in both local vector store and LlamaCloud environments.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
To run these examples, first install the required dependencies from the parent folder `examples`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm i
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running the Examples
|
||||||
|
|
||||||
|
Make sure to run the examples from the parent folder called `examples`. The following examples are available:
|
||||||
|
|
||||||
|
### Vercel LLM Example
|
||||||
|
|
||||||
|
Run the Vercel LLM example with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx tsx vercel/llm.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
This example demonstrates using the `VercelLLM` adapter with Vercel's OpenAI model provider
|
||||||
|
|
||||||
|
### Vector Store Example
|
||||||
|
|
||||||
|
Run the local vector store example with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx tsx vercel/vector-store.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
This example demonstrates:
|
||||||
|
|
||||||
|
- Creating a vector store index from one document
|
||||||
|
- Using Vercel's AI SDK with LlamaIndex for streaming responses
|
||||||
|
|
||||||
|
### LlamaCloud Example
|
||||||
|
|
||||||
|
To run the LlamaCloud example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx tsx vercel/llamacloud.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
This example requires a LlamaCloud API key set in your environment and an embedding model set in the `EMBEDDING_MODEL` environment variable:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export LLAMA_CLOUD_API_KEY=your_api_key_here
|
||||||
|
export EMBEDDING_MODEL="text-embedding-3-small"
|
||||||
|
```
|
||||||
|
|
||||||
|
The example demonstrates:
|
||||||
|
|
||||||
|
- Creating a LlamaCloud index from one document
|
||||||
|
- Streaming responses using Vercel's AI SDK
|
||||||
|
|
||||||
|
For more detailed information about the Vercel integration, check out [the documentation](https://ts.llamaindex.ai/docs/llamaindex/integration/vercel).
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import { openai } from "@ai-sdk/openai";
|
||||||
|
import { llamaindex } from "@llamaindex/vercel";
|
||||||
|
import { streamText } from "ai";
|
||||||
|
import { Document, LlamaCloudIndex } from "llamaindex";
|
||||||
|
import fs from "node:fs/promises";
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const path = "node_modules/llamaindex/examples/abramov.txt";
|
||||||
|
const essay = await fs.readFile(path, "utf-8");
|
||||||
|
const document = new Document({ text: essay, id_: path });
|
||||||
|
|
||||||
|
const index = await LlamaCloudIndex.fromDocuments({
|
||||||
|
documents: [document],
|
||||||
|
name: "test-pipeline",
|
||||||
|
projectName: "Default",
|
||||||
|
apiKey: process.env.LLAMA_CLOUD_API_KEY,
|
||||||
|
});
|
||||||
|
console.log("Successfully created index");
|
||||||
|
|
||||||
|
const result = streamText({
|
||||||
|
model: openai("gpt-4o"),
|
||||||
|
prompt: "Cost of moving cat from Russia to UK?",
|
||||||
|
tools: {
|
||||||
|
queryTool: llamaindex({
|
||||||
|
model: openai("gpt-4o"),
|
||||||
|
index,
|
||||||
|
description:
|
||||||
|
"get information from your knowledge base to answer questions.", // optional description
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
maxSteps: 5,
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const textPart of result.textStream) {
|
||||||
|
process.stdout.write(textPart);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch(console.error);
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
import { openai } from "@ai-sdk/openai";
|
||||||
|
import { VercelLLM } from "@llamaindex/vercel";
|
||||||
|
import { LLMAgent, WikipediaTool } from "llamaindex";
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
// Create an instance of VercelLLM with the OpenAI model
|
||||||
|
const vercelLLM = new VercelLLM({ model: openai("gpt-4o") });
|
||||||
|
|
||||||
|
console.log("\n=== Test 1: Using complete() for single response ===");
|
||||||
|
const result = await vercelLLM.complete({
|
||||||
|
prompt: "What is the capital of France?",
|
||||||
|
stream: false, // Set to true if you want streaming responses
|
||||||
|
});
|
||||||
|
console.log(result.text);
|
||||||
|
|
||||||
|
console.log("\n=== Test 2: Using chat() for streaming response ===");
|
||||||
|
const stream = await vercelLLM.chat({
|
||||||
|
messages: [
|
||||||
|
{ content: "You want to talk in rhymes.", role: "system" },
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?",
|
||||||
|
role: "user",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
stream: true,
|
||||||
|
});
|
||||||
|
for await (const chunk of stream) {
|
||||||
|
process.stdout.write(chunk.delta);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("\n=== Test 3: Using LLMAgent with WikipediaTool ===");
|
||||||
|
const agent = new LLMAgent({
|
||||||
|
llm: vercelLLM,
|
||||||
|
tools: [new WikipediaTool()],
|
||||||
|
});
|
||||||
|
|
||||||
|
const { message } = await agent.chat({
|
||||||
|
message: "What's the history of New York from Wikipedia in 3 sentences?",
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch(console.error);
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
import { openai } from "@ai-sdk/openai";
|
||||||
|
import { llamaindex } from "@llamaindex/vercel";
|
||||||
|
import { streamText } from "ai";
|
||||||
|
import { Document, VectorStoreIndex } from "llamaindex";
|
||||||
|
|
||||||
|
import fs from "node:fs/promises";
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const path = "node_modules/llamaindex/examples/abramov.txt";
|
||||||
|
const essay = await fs.readFile(path, "utf-8");
|
||||||
|
const document = new Document({ text: essay, id_: path });
|
||||||
|
|
||||||
|
const index = await VectorStoreIndex.fromDocuments([document]);
|
||||||
|
console.log("Successfully created index");
|
||||||
|
|
||||||
|
const result = streamText({
|
||||||
|
model: openai("gpt-4o"),
|
||||||
|
prompt: "Cost of moving cat from Russia to UK?",
|
||||||
|
tools: {
|
||||||
|
queryTool: llamaindex({
|
||||||
|
model: openai("gpt-4o"),
|
||||||
|
index,
|
||||||
|
description:
|
||||||
|
"get information from your knowledge base to answer questions.", // optional description
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
maxSteps: 5,
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const textPart of result.textStream) {
|
||||||
|
process.stdout.write(textPart);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch(console.error);
|
||||||
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
"name": "@llamaindex/monorepo",
|
"name": "@llamaindex/monorepo",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "turbo run build --filter=\"./packages/*\"",
|
"build": "turbo run build --filter=\"./packages/*\" --filter=\"./packages/providers/*\"",
|
||||||
"dev": "turbo run dev --filter=\"./packages/*\"",
|
"dev": "turbo run dev --filter=\"./packages/*\" --filter=\"./packages/providers/*\"",
|
||||||
"format": "prettier --ignore-unknown --cache --check .",
|
"format": "prettier --ignore-unknown --cache --check .",
|
||||||
"format:write": "prettier --ignore-unknown --write .",
|
"format:write": "prettier --ignore-unknown --write .",
|
||||||
"lint": "turbo run lint",
|
"lint": "turbo run lint",
|
||||||
|
|||||||
@@ -1,5 +1,41 @@
|
|||||||
# @llamaindex/autotool
|
# @llamaindex/autotool
|
||||||
|
|
||||||
|
## 5.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 5.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 3d1808b: chore: bump version
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 5.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 5.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 5.0.23
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 5.0.22
|
## 5.0.22
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,5 +1,45 @@
|
|||||||
# @llamaindex/autotool-01-node-example
|
# @llamaindex/autotool-01-node-example
|
||||||
|
|
||||||
|
## 0.0.70
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
- @llamaindex/autotool@5.0.27
|
||||||
|
|
||||||
|
## 0.0.69
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/autotool@5.0.26
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.0.68
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/autotool@5.0.25
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.67
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
- @llamaindex/autotool@5.0.24
|
||||||
|
|
||||||
|
## 0.0.66
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
- @llamaindex/autotool@5.0.23
|
||||||
|
|
||||||
## 0.0.65
|
## 0.0.65
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/autotool": "workspace:*",
|
"@llamaindex/autotool": "workspace:*",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"openai": "^4.72.0"
|
"openai": "^4.73.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"tsx": "^4.19.0"
|
"tsx": "^4.19.0"
|
||||||
@@ -13,5 +13,5 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
||||||
},
|
},
|
||||||
"version": "0.0.65"
|
"version": "0.0.70"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,45 @@
|
|||||||
# @llamaindex/autotool-02-next-example
|
# @llamaindex/autotool-02-next-example
|
||||||
|
|
||||||
|
## 0.1.114
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
- @llamaindex/autotool@5.0.27
|
||||||
|
|
||||||
|
## 0.1.113
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/autotool@5.0.26
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.1.112
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/autotool@5.0.25
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.1.111
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
- @llamaindex/autotool@5.0.24
|
||||||
|
|
||||||
|
## 0.1.110
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
- @llamaindex/autotool@5.0.23
|
||||||
|
|
||||||
## 0.1.109
|
## 0.1.109
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/autotool-02-next-example",
|
"name": "@llamaindex/autotool-02-next-example",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.109",
|
"version": "0.1.114",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/autotool",
|
"name": "@llamaindex/autotool",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "5.0.22",
|
"version": "5.0.27",
|
||||||
"description": "auto transpile your JS function to LLM Agent compatible",
|
"description": "auto transpile your JS function to LLM Agent compatible",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/cloud
|
# @llamaindex/cloud
|
||||||
|
|
||||||
|
## 2.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 2.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 2.0.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 2.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 2.0.14
|
## 2.0.14
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloud",
|
"name": "@llamaindex/cloud",
|
||||||
"version": "2.0.14",
|
"version": "2.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/community
|
# @llamaindex/community
|
||||||
|
|
||||||
|
## 0.0.76
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- c1850ee: feat: Amazon Nova support via Bedrock
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.75
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.74
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.73
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.72
|
## 0.0.72
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
## Current Features:
|
## Current Features:
|
||||||
|
|
||||||
|
- Bedrock support for Amazon Nova models Pro, Lite and Micro
|
||||||
- Bedrock support for the Anthropic Claude Models [usage](https://ts.llamaindex.ai/modules/llms/available_llms/bedrock) including the latest Sonnet 3.5 v2 and Haiku 3.5
|
- Bedrock support for the Anthropic Claude Models [usage](https://ts.llamaindex.ai/modules/llms/available_llms/bedrock) including the latest Sonnet 3.5 v2 and Haiku 3.5
|
||||||
- Bedrock support for the Meta LLama 2, 3, 3.1 and 3.2 Models [usage](https://ts.llamaindex.ai/modules/llms/available_llms/bedrock)
|
- Bedrock support for the Meta LLama 2, 3, 3.1 and 3.2 Models [usage](https://ts.llamaindex.ai/modules/llms/available_llms/bedrock)
|
||||||
- Meta LLama3.1 405b and Llama3.2 tool call support
|
- Meta LLama3.1 405b and Llama3.2 tool call support
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/community",
|
"name": "@llamaindex/community",
|
||||||
"description": "Community package for LlamaIndexTS",
|
"description": "Community package for LlamaIndexTS",
|
||||||
"version": "0.0.72",
|
"version": "0.0.76",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/type/index.d.ts",
|
"types": "dist/type/index.d.ts",
|
||||||
"main": "dist/cjs/index.js",
|
"main": "dist/cjs/index.js",
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
"bunchee": "5.6.1"
|
"bunchee": "5.6.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-bedrock-agent-runtime": "^3.693.0",
|
"@aws-sdk/client-bedrock-agent-runtime": "^3.706.0",
|
||||||
"@aws-sdk/client-bedrock-runtime": "^3.693.0",
|
"@aws-sdk/client-bedrock-runtime": "^3.706.0",
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*"
|
"@llamaindex/env": "workspace:*"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
import type {
|
||||||
|
ContentBlockDelta,
|
||||||
|
ConverseOutput,
|
||||||
|
ConverseRequest,
|
||||||
|
ConverseResponse,
|
||||||
|
ConverseStreamOutput,
|
||||||
|
InvokeModelCommandInput,
|
||||||
|
InvokeModelWithResponseStreamCommandInput,
|
||||||
|
ResponseStream,
|
||||||
|
} from "@aws-sdk/client-bedrock-runtime";
|
||||||
|
import type {
|
||||||
|
BaseTool,
|
||||||
|
ChatMessage,
|
||||||
|
LLMMetadata,
|
||||||
|
ToolCall,
|
||||||
|
ToolCallLLMMessageOptions,
|
||||||
|
} from "@llamaindex/core/llms";
|
||||||
|
import { toUtf8 } from "../utils";
|
||||||
|
|
||||||
|
import { Provider, type BedrockChatStreamResponse } from "../provider";
|
||||||
|
import {
|
||||||
|
mapBaseToolsToAmazonTools,
|
||||||
|
mapChatMessagesToAmazonMessages,
|
||||||
|
} from "./utils";
|
||||||
|
|
||||||
|
export class AmazonProvider extends Provider<ConverseStreamOutput> {
|
||||||
|
getResultFromResponse(response: Record<string, any>): ConverseResponse {
|
||||||
|
return JSON.parse(toUtf8(response.body));
|
||||||
|
}
|
||||||
|
|
||||||
|
getToolsFromResponse<ToolContent>(response: ConverseOutput): ToolContent[] {
|
||||||
|
return (
|
||||||
|
response.message?.content
|
||||||
|
?.filter((item) => item.toolUse)
|
||||||
|
.map(
|
||||||
|
(item) =>
|
||||||
|
({
|
||||||
|
id: item.toolUse!.toolUseId,
|
||||||
|
name: item.toolUse!.name,
|
||||||
|
input: item.toolUse!.input
|
||||||
|
? JSON.parse(item.toolUse!.input as string)
|
||||||
|
: "",
|
||||||
|
}) as ToolContent,
|
||||||
|
) ?? []
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
getTextFromResponse(response: ConverseResponse): string {
|
||||||
|
const result = this.getResultFromResponse(response);
|
||||||
|
const content = result.output?.message?.content ?? [];
|
||||||
|
return content.map((item) => item.text).join(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
getTextFromStreamResponse(response: ResponseStream): string {
|
||||||
|
let event: ConverseStreamOutput | undefined =
|
||||||
|
this.getStreamingEventResponse(response);
|
||||||
|
if (!event || !event.contentBlockDelta) return "";
|
||||||
|
const delta: ContentBlockDelta | undefined = event.contentBlockDelta.delta;
|
||||||
|
return delta?.text || "";
|
||||||
|
}
|
||||||
|
|
||||||
|
async *reduceStream(
|
||||||
|
stream: AsyncIterable<ResponseStream>,
|
||||||
|
): BedrockChatStreamResponse {
|
||||||
|
let toolId: string | undefined = undefined;
|
||||||
|
let toolName: string | undefined = undefined;
|
||||||
|
for await (const response of stream) {
|
||||||
|
const event = this.getStreamingEventResponse(response);
|
||||||
|
const delta = this.getTextFromStreamResponse(response);
|
||||||
|
|
||||||
|
let options: undefined | ToolCallLLMMessageOptions = undefined;
|
||||||
|
if (event?.contentBlockStart && event.contentBlockStart.start?.toolUse) {
|
||||||
|
toolId = event.contentBlockStart.start?.toolUse.toolUseId;
|
||||||
|
toolName = event.contentBlockStart.start?.toolUse.name;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
toolId &&
|
||||||
|
toolName &&
|
||||||
|
event?.contentBlockDelta?.delta?.toolUse?.input
|
||||||
|
) {
|
||||||
|
options = {
|
||||||
|
toolCall: [
|
||||||
|
{
|
||||||
|
id: toolId,
|
||||||
|
name: toolName,
|
||||||
|
input: JSON.parse(event?.contentBlockDelta?.delta?.toolUse.input),
|
||||||
|
} as ToolCall,
|
||||||
|
],
|
||||||
|
};
|
||||||
|
toolId = undefined;
|
||||||
|
toolName = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!delta && !options) continue;
|
||||||
|
|
||||||
|
yield {
|
||||||
|
delta: options ? "" : delta,
|
||||||
|
options,
|
||||||
|
raw: response,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getRequestBody<T extends ChatMessage>(
|
||||||
|
metadata: LLMMetadata,
|
||||||
|
messages: T[],
|
||||||
|
tools: BaseTool[] = [],
|
||||||
|
options: Omit<ConverseRequest, "modelId" | "messages" | "inferenceConfig">,
|
||||||
|
): InvokeModelCommandInput | InvokeModelWithResponseStreamCommandInput {
|
||||||
|
const request: Omit<ConverseRequest, "modelId"> = {
|
||||||
|
...options,
|
||||||
|
messages: mapChatMessagesToAmazonMessages(messages),
|
||||||
|
inferenceConfig: {
|
||||||
|
maxTokens: metadata.maxTokens,
|
||||||
|
temperature: metadata.temperature,
|
||||||
|
topP: metadata.topP,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
if (tools.length) {
|
||||||
|
request.toolConfig = {
|
||||||
|
tools: mapBaseToolsToAmazonTools(tools),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
modelId: metadata.model,
|
||||||
|
contentType: "application/json",
|
||||||
|
accept: "application/json",
|
||||||
|
body: JSON.stringify(request),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import type { ConverseRequest, Message } from "@aws-sdk/client-bedrock-runtime";
|
||||||
|
|
||||||
|
export type AmazonMessages = ConverseRequest["messages"];
|
||||||
|
|
||||||
|
export type AmazonMessage = Message;
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
import type {
|
||||||
|
ImageBlock,
|
||||||
|
ImageFormat,
|
||||||
|
Message,
|
||||||
|
Tool,
|
||||||
|
} from "@aws-sdk/client-bedrock-runtime";
|
||||||
|
import type {
|
||||||
|
BaseTool,
|
||||||
|
ChatMessage,
|
||||||
|
MessageContentDetail,
|
||||||
|
ToolCallLLMMessageOptions,
|
||||||
|
} from "@llamaindex/core/llms";
|
||||||
|
import {
|
||||||
|
extractDataUrlComponents,
|
||||||
|
mapMessageContentToMessageContentDetails,
|
||||||
|
} from "../utils";
|
||||||
|
|
||||||
|
import type { JSONObject } from "@llamaindex/core/global";
|
||||||
|
import type { AmazonMessage, AmazonMessages } from "./types";
|
||||||
|
|
||||||
|
const ACCEPTED_IMAGE_MIME_TYPES = [
|
||||||
|
"image/jpeg",
|
||||||
|
"image/png",
|
||||||
|
"image/webp",
|
||||||
|
"image/gif",
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
const ACCEPTED_IMAGE_MIME_TYPE_FORMAT_MAP: Record<
|
||||||
|
(typeof ACCEPTED_IMAGE_MIME_TYPES)[number],
|
||||||
|
ImageFormat
|
||||||
|
> = {
|
||||||
|
"image/jpeg": "jpeg",
|
||||||
|
"image/png": "png",
|
||||||
|
"image/webp": "webp",
|
||||||
|
"image/gif": "gif",
|
||||||
|
};
|
||||||
|
|
||||||
|
export const mapImageContent = (imageUrl: string): ImageBlock => {
|
||||||
|
if (!imageUrl.startsWith("data:"))
|
||||||
|
throw new Error(
|
||||||
|
"For Amazon please only use base64 data url, e.g.: data:image/jpeg;base64,SGVsbG8sIFdvcmxkIQ==",
|
||||||
|
);
|
||||||
|
const { mimeType, base64: data } = extractDataUrlComponents(imageUrl);
|
||||||
|
if (
|
||||||
|
!ACCEPTED_IMAGE_MIME_TYPES.includes(
|
||||||
|
mimeType as keyof typeof ACCEPTED_IMAGE_MIME_TYPE_FORMAT_MAP,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
throw new Error(
|
||||||
|
`Amazon only accepts the following mimeTypes: ${ACCEPTED_IMAGE_MIME_TYPES.join("\n")}`,
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
format:
|
||||||
|
ACCEPTED_IMAGE_MIME_TYPE_FORMAT_MAP[
|
||||||
|
mimeType as keyof typeof ACCEPTED_IMAGE_MIME_TYPE_FORMAT_MAP
|
||||||
|
],
|
||||||
|
|
||||||
|
// @ts-ignore: there's a mistake in the "@aws-sdk/client-bedrock-runtime" compared to the actual api
|
||||||
|
source: { bytes: data },
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const mapMessageContentDetailToAmazonContent = <
|
||||||
|
T extends MessageContentDetail,
|
||||||
|
>(
|
||||||
|
detail: T,
|
||||||
|
): Message["content"] => {
|
||||||
|
let content: Message["content"] = [];
|
||||||
|
|
||||||
|
if (detail.type === "text") {
|
||||||
|
content = [{ text: detail.text }];
|
||||||
|
} else if (detail.type === "image_url") {
|
||||||
|
content = [{ image: mapImageContent(detail.image_url.url) }];
|
||||||
|
} else {
|
||||||
|
throw new Error("Unsupported content detail type");
|
||||||
|
}
|
||||||
|
return content;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const mapChatMessagesToAmazonMessages = <
|
||||||
|
T extends ChatMessage<ToolCallLLMMessageOptions>,
|
||||||
|
>(
|
||||||
|
messages: T[],
|
||||||
|
): AmazonMessages => {
|
||||||
|
return messages.flatMap((msg: T): AmazonMessage[] => {
|
||||||
|
return mapMessageContentToMessageContentDetails(msg.content).map(
|
||||||
|
(detail: MessageContentDetail): AmazonMessage => {
|
||||||
|
if (msg.options && "toolCall" in msg.options) {
|
||||||
|
return {
|
||||||
|
role: "assistant",
|
||||||
|
content: msg.options.toolCall.map((call) => ({
|
||||||
|
toolUse: {
|
||||||
|
toolUseId: call.id,
|
||||||
|
name: call.name,
|
||||||
|
input: call.input as JSONObject,
|
||||||
|
},
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (msg.options && "toolResult" in msg.options) {
|
||||||
|
return {
|
||||||
|
role: "user",
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
toolResult: {
|
||||||
|
toolUseId: msg.options.toolResult.id,
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
text: msg.options.toolResult.result,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
role: msg.role === "assistant" ? "assistant" : "user",
|
||||||
|
content: mapMessageContentDetailToAmazonContent(detail),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const mapBaseToolsToAmazonTools = (tools?: BaseTool[]): Tool[] => {
|
||||||
|
if (!tools) return [];
|
||||||
|
return tools.map((tool: BaseTool) => {
|
||||||
|
const {
|
||||||
|
metadata: { parameters, ...options },
|
||||||
|
} = tool;
|
||||||
|
return {
|
||||||
|
toolSpec: {
|
||||||
|
...options,
|
||||||
|
inputSchema: parameters,
|
||||||
|
},
|
||||||
|
} as Tool;
|
||||||
|
});
|
||||||
|
};
|
||||||
@@ -11,13 +11,10 @@ import type {
|
|||||||
ToolCall,
|
ToolCall,
|
||||||
ToolCallLLMMessageOptions,
|
ToolCallLLMMessageOptions,
|
||||||
} from "@llamaindex/core/llms";
|
} from "@llamaindex/core/llms";
|
||||||
import {
|
import { type BedrockChatStreamResponse, Provider } from "../provider";
|
||||||
type BedrockAdditionalChatOptions,
|
|
||||||
type BedrockChatStreamResponse,
|
|
||||||
Provider,
|
|
||||||
} from "../provider";
|
|
||||||
import { toUtf8 } from "../utils";
|
import { toUtf8 } from "../utils";
|
||||||
import type {
|
import type {
|
||||||
|
AnthropicAdditionalChatOptions,
|
||||||
AnthropicNoneStreamingResponse,
|
AnthropicNoneStreamingResponse,
|
||||||
AnthropicStreamEvent,
|
AnthropicStreamEvent,
|
||||||
AnthropicTextContent,
|
AnthropicTextContent,
|
||||||
@@ -134,7 +131,7 @@ export class AnthropicProvider extends Provider<AnthropicStreamEvent> {
|
|||||||
metadata: LLMMetadata,
|
metadata: LLMMetadata,
|
||||||
messages: T[],
|
messages: T[],
|
||||||
tools?: BaseTool[],
|
tools?: BaseTool[],
|
||||||
options?: BedrockAdditionalChatOptions,
|
options?: AnthropicAdditionalChatOptions,
|
||||||
): InvokeModelCommandInput | InvokeModelWithResponseStreamCommandInput {
|
): InvokeModelCommandInput | InvokeModelWithResponseStreamCommandInput {
|
||||||
const extra: Record<string, unknown> = {};
|
const extra: Record<string, unknown> = {};
|
||||||
if (options?.toolChoice) {
|
if (options?.toolChoice) {
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
import type { ToolMetadata } from "@llamaindex/core/llms";
|
import type { ToolMetadata } from "@llamaindex/core/llms";
|
||||||
import type { InvocationMetrics } from "../types";
|
import type { InvocationMetrics } from "../types";
|
||||||
|
|
||||||
|
export type ToolChoice =
|
||||||
|
| { type: "any" }
|
||||||
|
| { type: "auto" }
|
||||||
|
| { type: "tool"; name: string };
|
||||||
|
|
||||||
|
export type AnthropicAdditionalChatOptions = { toolChoice: ToolChoice };
|
||||||
|
|
||||||
type Usage = {
|
type Usage = {
|
||||||
input_tokens: number;
|
input_tokens: number;
|
||||||
output_tokens: number;
|
output_tokens: number;
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import {
|
|||||||
import { mapMessageContentToMessageContentDetails } from "./utils";
|
import { mapMessageContentToMessageContentDetails } from "./utils";
|
||||||
|
|
||||||
import { wrapLLMEvent } from "@llamaindex/core/decorator";
|
import { wrapLLMEvent } from "@llamaindex/core/decorator";
|
||||||
|
import { AmazonProvider } from "./amazon/provider";
|
||||||
import { AnthropicProvider } from "./anthropic/provider";
|
import { AnthropicProvider } from "./anthropic/provider";
|
||||||
import { MetaProvider } from "./meta/provider";
|
import { MetaProvider } from "./meta/provider";
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@ import { MetaProvider } from "./meta/provider";
|
|||||||
export const PROVIDERS: { [key: string]: Provider } = {
|
export const PROVIDERS: { [key: string]: Provider } = {
|
||||||
anthropic: new AnthropicProvider(),
|
anthropic: new AnthropicProvider(),
|
||||||
meta: new MetaProvider(),
|
meta: new MetaProvider(),
|
||||||
|
amazon: new AmazonProvider(),
|
||||||
};
|
};
|
||||||
|
|
||||||
export type BedrockChatParamsStreaming = LLMChatParamsStreaming<
|
export type BedrockChatParamsStreaming = LLMChatParamsStreaming<
|
||||||
@@ -81,7 +83,11 @@ export const BEDROCK_MODELS = {
|
|||||||
MISTRAL_7B_INSTRUCT: "mistral.mistral-7b-instruct-v0:2",
|
MISTRAL_7B_INSTRUCT: "mistral.mistral-7b-instruct-v0:2",
|
||||||
MISTRAL_MIXTRAL_7B_INSTRUCT: "mistral.mixtral-8x7b-instruct-v0:1",
|
MISTRAL_MIXTRAL_7B_INSTRUCT: "mistral.mixtral-8x7b-instruct-v0:1",
|
||||||
MISTRAL_MIXTRAL_LARGE_2402: "mistral.mistral-large-2402-v1:0",
|
MISTRAL_MIXTRAL_LARGE_2402: "mistral.mistral-large-2402-v1:0",
|
||||||
|
AMAZON_NOVA_PRO_1: "amazon.nova-pro-v1:0",
|
||||||
|
AMAZON_NOVA_LITE_1: "amazon.nova-lite-v1:0",
|
||||||
|
AMAZON_NOVA_MICRO_1: "amazon.nova-micro-v1:0",
|
||||||
};
|
};
|
||||||
|
|
||||||
export type BEDROCK_MODELS =
|
export type BEDROCK_MODELS =
|
||||||
(typeof BEDROCK_MODELS)[keyof typeof BEDROCK_MODELS];
|
(typeof BEDROCK_MODELS)[keyof typeof BEDROCK_MODELS];
|
||||||
|
|
||||||
@@ -98,6 +104,9 @@ export const INFERENCE_BEDROCK_MODELS = {
|
|||||||
US_META_LLAMA_3_2_3B_INSTRUCT: "us.meta.llama3-2-3b-instruct-v1:0",
|
US_META_LLAMA_3_2_3B_INSTRUCT: "us.meta.llama3-2-3b-instruct-v1:0",
|
||||||
US_META_LLAMA_3_2_11B_INSTRUCT: "us.meta.llama3-2-11b-instruct-v1:0",
|
US_META_LLAMA_3_2_11B_INSTRUCT: "us.meta.llama3-2-11b-instruct-v1:0",
|
||||||
US_META_LLAMA_3_2_90B_INSTRUCT: "us.meta.llama3-2-90b-instruct-v1:0",
|
US_META_LLAMA_3_2_90B_INSTRUCT: "us.meta.llama3-2-90b-instruct-v1:0",
|
||||||
|
US_AMAZON_NOVA_PRO_1: "us.amazon.nova-pro-v1:0",
|
||||||
|
US_AMAZON_NOVA_LITE_1: "us.amazon.nova-lite-v1:0",
|
||||||
|
US_AMAZON_NOVA_MICRO_1: "us.amazon.nova-micro-v1:0",
|
||||||
|
|
||||||
EU_ANTHROPIC_CLAUDE_3_HAIKU: "eu.anthropic.claude-3-haiku-20240307-v1:0",
|
EU_ANTHROPIC_CLAUDE_3_HAIKU: "eu.anthropic.claude-3-haiku-20240307-v1:0",
|
||||||
EU_ANTHROPIC_CLAUDE_3_5_HAIKU: "eu.anthropic.claude-3-5-haiku-20240307-v1:0",
|
EU_ANTHROPIC_CLAUDE_3_5_HAIKU: "eu.anthropic.claude-3-5-haiku-20240307-v1:0",
|
||||||
@@ -189,6 +198,9 @@ const CHAT_ONLY_MODELS = {
|
|||||||
[BEDROCK_MODELS.MISTRAL_7B_INSTRUCT]: 32000,
|
[BEDROCK_MODELS.MISTRAL_7B_INSTRUCT]: 32000,
|
||||||
[BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT]: 32000,
|
[BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT]: 32000,
|
||||||
[BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402]: 32000,
|
[BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402]: 32000,
|
||||||
|
[BEDROCK_MODELS.AMAZON_NOVA_PRO_1]: 300000,
|
||||||
|
[BEDROCK_MODELS.AMAZON_NOVA_LITE_1]: 300000,
|
||||||
|
[BEDROCK_MODELS.AMAZON_NOVA_MICRO_1]: 130000,
|
||||||
};
|
};
|
||||||
|
|
||||||
const BEDROCK_FOUNDATION_LLMS = { ...COMPLETION_MODELS, ...CHAT_ONLY_MODELS };
|
const BEDROCK_FOUNDATION_LLMS = { ...COMPLETION_MODELS, ...CHAT_ONLY_MODELS };
|
||||||
@@ -225,6 +237,9 @@ export const STREAMING_MODELS = new Set([
|
|||||||
BEDROCK_MODELS.MISTRAL_7B_INSTRUCT,
|
BEDROCK_MODELS.MISTRAL_7B_INSTRUCT,
|
||||||
BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT,
|
BEDROCK_MODELS.MISTRAL_MIXTRAL_7B_INSTRUCT,
|
||||||
BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402,
|
BEDROCK_MODELS.MISTRAL_MIXTRAL_LARGE_2402,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_PRO_1,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_LITE_1,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_MICRO_1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
export const TOOL_CALL_MODELS: BEDROCK_MODELS[] = [
|
export const TOOL_CALL_MODELS: BEDROCK_MODELS[] = [
|
||||||
@@ -239,6 +254,9 @@ export const TOOL_CALL_MODELS: BEDROCK_MODELS[] = [
|
|||||||
BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT,
|
BEDROCK_MODELS.META_LLAMA3_2_3B_INSTRUCT,
|
||||||
BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT,
|
BEDROCK_MODELS.META_LLAMA3_2_11B_INSTRUCT,
|
||||||
BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT,
|
BEDROCK_MODELS.META_LLAMA3_2_90B_INSTRUCT,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_PRO_1,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_LITE_1,
|
||||||
|
BEDROCK_MODELS.AMAZON_NOVA_MICRO_1,
|
||||||
];
|
];
|
||||||
|
|
||||||
const getProvider = (model: string): Provider => {
|
const getProvider = (model: string): Provider => {
|
||||||
@@ -320,10 +338,6 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
|
|||||||
this.temperature = temperature ?? DEFAULT_BEDROCK_PARAMS.temperature;
|
this.temperature = temperature ?? DEFAULT_BEDROCK_PARAMS.temperature;
|
||||||
this.topP = topP ?? DEFAULT_BEDROCK_PARAMS.topP;
|
this.topP = topP ?? DEFAULT_BEDROCK_PARAMS.topP;
|
||||||
this.client = new BedrockRuntimeClient(params);
|
this.client = new BedrockRuntimeClient(params);
|
||||||
|
|
||||||
if (!this.supportToolCall) {
|
|
||||||
console.warn(`The model "${this.model}" doesn't support ToolCall`);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get supportToolCall(): boolean {
|
get supportToolCall(): boolean {
|
||||||
@@ -345,6 +359,9 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
|
|||||||
protected async nonStreamChat(
|
protected async nonStreamChat(
|
||||||
params: BedrockChatParamsNonStreaming,
|
params: BedrockChatParamsNonStreaming,
|
||||||
): Promise<BedrockChatNonStreamResponse> {
|
): Promise<BedrockChatNonStreamResponse> {
|
||||||
|
if (!this.supportToolCall && params.tools?.length) {
|
||||||
|
console.warn(`The model "${this.model}" doesn't support ToolCall`);
|
||||||
|
}
|
||||||
const input = this.provider.getRequestBody(
|
const input = this.provider.getRequestBody(
|
||||||
this.metadata,
|
this.metadata,
|
||||||
params.messages,
|
params.messages,
|
||||||
@@ -378,6 +395,10 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
|
|||||||
if (!STREAMING_MODELS.has(this.model))
|
if (!STREAMING_MODELS.has(this.model))
|
||||||
throw new Error(`The model: ${this.model} does not support streaming`);
|
throw new Error(`The model: ${this.model} does not support streaming`);
|
||||||
|
|
||||||
|
if (!this.supportToolCall && params.tools?.length) {
|
||||||
|
console.warn(`The model "${this.model}" doesn't support ToolCall`);
|
||||||
|
}
|
||||||
|
|
||||||
const input = this.provider.getRequestBody(
|
const input = this.provider.getRequestBody(
|
||||||
this.metadata,
|
this.metadata,
|
||||||
params.messages,
|
params.messages,
|
||||||
@@ -388,7 +409,6 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
|
|||||||
command.input.modelId = this.actualModel;
|
command.input.modelId = this.actualModel;
|
||||||
|
|
||||||
const response = await this.client.send(command);
|
const response = await this.client.send(command);
|
||||||
|
|
||||||
if (response.body) yield* this.provider.reduceStream(response.body);
|
if (response.body) yield* this.provider.reduceStream(response.body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,9 @@ import {
|
|||||||
type ToolCallLLMMessageOptions,
|
type ToolCallLLMMessageOptions,
|
||||||
} from "@llamaindex/core/llms";
|
} from "@llamaindex/core/llms";
|
||||||
import { streamConverter } from "@llamaindex/core/utils";
|
import { streamConverter } from "@llamaindex/core/utils";
|
||||||
import type { ToolChoice } from "./types";
|
|
||||||
import { toUtf8 } from "./utils";
|
import { toUtf8 } from "./utils";
|
||||||
|
|
||||||
export type BedrockAdditionalChatOptions = { toolChoice: ToolChoice };
|
export type BedrockAdditionalChatOptions = Record<string, unknown>;
|
||||||
|
|
||||||
export type BedrockChatStreamResponse = AsyncIterable<
|
export type BedrockChatStreamResponse = AsyncIterable<
|
||||||
ChatResponseChunk<ToolCallLLMMessageOptions>
|
ChatResponseChunk<ToolCallLLMMessageOptions>
|
||||||
|
|||||||
@@ -4,8 +4,3 @@ export type InvocationMetrics = {
|
|||||||
invocationLatency: number;
|
invocationLatency: number;
|
||||||
firstByteLatency: number;
|
firstByteLatency: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ToolChoice =
|
|
||||||
| { type: "any" }
|
|
||||||
| { type: "auto" }
|
|
||||||
| { type: "tool"; name: string };
|
|
||||||
|
|||||||
@@ -1,5 +1,34 @@
|
|||||||
# @llamaindex/core
|
# @llamaindex/core
|
||||||
|
|
||||||
|
## 0.4.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- e0f6cc3: The compact and refine response synthesizer (retrieved by using `getResponseSynthesizer('compact')`) has been fixed to return the original source nodes that were provided to it in its response. Previous to this it was returning the compacted text chunk documents.
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
|
||||||
|
## 0.4.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 3d1808b: chore: bump version
|
||||||
|
|
||||||
|
## 0.4.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.4.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
|
||||||
## 0.4.14
|
## 0.4.14
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/core",
|
"name": "@llamaindex/core",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.4.14",
|
"version": "0.4.18",
|
||||||
"description": "LlamaIndex Core Module",
|
"description": "LlamaIndex Core Module",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./agent": {
|
"./agent": {
|
||||||
|
|||||||
@@ -369,7 +369,9 @@ export abstract class AgentRunner<
|
|||||||
verbose: boolean | undefined = undefined,
|
verbose: boolean | undefined = undefined,
|
||||||
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
||||||
additionalChatOptions?: AdditionalChatOptions,
|
additionalChatOptions?: AdditionalChatOptions,
|
||||||
) {
|
): ReadableStream<
|
||||||
|
TaskStepOutput<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
> {
|
||||||
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
||||||
if (this.#systemPrompt !== null) {
|
if (this.#systemPrompt !== null) {
|
||||||
const systemPrompt = this.#systemPrompt;
|
const systemPrompt = this.#systemPrompt;
|
||||||
@@ -453,14 +455,9 @@ export abstract class AgentRunner<
|
|||||||
const { output } = stepOutput;
|
const { output } = stepOutput;
|
||||||
if (output instanceof ReadableStream) {
|
if (output instanceof ReadableStream) {
|
||||||
return output.pipeThrough(
|
return output.pipeThrough(
|
||||||
new TransformStream<EngineResponse>({
|
new TransformStream({
|
||||||
transform(chunk, controller) {
|
transform(chunk, controller) {
|
||||||
controller.enqueue(
|
controller.enqueue(EngineResponse.fromChatResponseChunk(chunk));
|
||||||
EngineResponse.fromChatResponseChunk(
|
|
||||||
chunk,
|
|
||||||
chunk.sourceNodes,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -77,6 +77,16 @@ class Refine extends BaseSynthesizer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getResponse(
|
||||||
|
query: MessageContent,
|
||||||
|
nodes: NodeWithScore[],
|
||||||
|
stream: true,
|
||||||
|
): Promise<AsyncIterable<EngineResponse>>;
|
||||||
|
async getResponse(
|
||||||
|
query: MessageContent,
|
||||||
|
nodes: NodeWithScore[],
|
||||||
|
stream: false,
|
||||||
|
): Promise<EngineResponse>;
|
||||||
async getResponse(
|
async getResponse(
|
||||||
query: MessageContent,
|
query: MessageContent,
|
||||||
nodes: NodeWithScore[],
|
nodes: NodeWithScore[],
|
||||||
@@ -197,6 +207,16 @@ class Refine extends BaseSynthesizer {
|
|||||||
* CompactAndRefine is a slight variation of Refine that first compacts the text chunks into the smallest possible number of chunks.
|
* CompactAndRefine is a slight variation of Refine that first compacts the text chunks into the smallest possible number of chunks.
|
||||||
*/
|
*/
|
||||||
class CompactAndRefine extends Refine {
|
class CompactAndRefine extends Refine {
|
||||||
|
async getResponse(
|
||||||
|
query: MessageContent,
|
||||||
|
nodes: NodeWithScore[],
|
||||||
|
stream: true,
|
||||||
|
): Promise<AsyncIterable<EngineResponse>>;
|
||||||
|
async getResponse(
|
||||||
|
query: MessageContent,
|
||||||
|
nodes: NodeWithScore[],
|
||||||
|
stream: false,
|
||||||
|
): Promise<EngineResponse>;
|
||||||
async getResponse(
|
async getResponse(
|
||||||
query: MessageContent,
|
query: MessageContent,
|
||||||
nodes: NodeWithScore[],
|
nodes: NodeWithScore[],
|
||||||
@@ -216,17 +236,24 @@ class CompactAndRefine extends Refine {
|
|||||||
const newTexts = this.promptHelper.repack(maxPrompt, textChunks);
|
const newTexts = this.promptHelper.repack(maxPrompt, textChunks);
|
||||||
const newNodes = newTexts.map((text) => new TextNode({ text }));
|
const newNodes = newTexts.map((text) => new TextNode({ text }));
|
||||||
if (stream) {
|
if (stream) {
|
||||||
return super.getResponse(
|
const streamResponse = await super.getResponse(
|
||||||
query,
|
query,
|
||||||
newNodes.map((node) => ({ node })),
|
newNodes.map((node) => ({ node })),
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
return streamConverter(streamResponse, (chunk) => {
|
||||||
|
chunk.sourceNodes = nodes;
|
||||||
|
return chunk;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return super.getResponse(
|
|
||||||
|
const originalResponse = await super.getResponse(
|
||||||
query,
|
query,
|
||||||
newNodes.map((node) => ({ node })),
|
newNodes.map((node) => ({ node })),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
originalResponse.sourceNodes = nodes;
|
||||||
|
return originalResponse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
import { 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";
|
||||||
|
|
||||||
|
const mockLllm = () => ({
|
||||||
|
complete: vi.fn().mockImplementation(({ stream }) => {
|
||||||
|
const response = { text: "unimportant" };
|
||||||
|
if (!stream) {
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
function* gen() {
|
||||||
|
// yield a few times to make sure each chunk has the sourceNodes
|
||||||
|
yield response;
|
||||||
|
yield response;
|
||||||
|
yield response;
|
||||||
|
}
|
||||||
|
|
||||||
|
return gen();
|
||||||
|
}),
|
||||||
|
chat: vi.fn(),
|
||||||
|
metadata: {} as unknown as LLMMetadata,
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("compact and refine response synthesizer", () => {
|
||||||
|
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(
|
||||||
|
{
|
||||||
|
query: "test",
|
||||||
|
nodes: [sourceNode],
|
||||||
|
},
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(response.sourceNodes).toEqual([sourceNode]);
|
||||||
|
});
|
||||||
|
|
||||||
|
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(
|
||||||
|
{
|
||||||
|
query: "test",
|
||||||
|
nodes: [sourceNode],
|
||||||
|
},
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
|
||||||
|
for await (const chunk of response) {
|
||||||
|
expect(chunk.sourceNodes).toEqual([sourceNode]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Vendored
+18
@@ -1,5 +1,23 @@
|
|||||||
# @llamaindex/env
|
# @llamaindex/env
|
||||||
|
|
||||||
|
## 0.1.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- b504303: Allow Node 18 again (throw run-time error if not possible) to make Stackblitz work
|
||||||
|
|
||||||
|
## 0.1.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
|
||||||
|
## 0.1.23
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- d2b2722: fix: switch tokenizer in cloudflare
|
||||||
|
|
||||||
## 0.1.22
|
## 0.1.22
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/env",
|
"name": "@llamaindex/env",
|
||||||
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
|
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
|
||||||
"version": "0.1.22",
|
"version": "0.1.25",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
|||||||
@@ -7,6 +7,13 @@ export {
|
|||||||
} from "./shared.js";
|
} from "./shared.js";
|
||||||
|
|
||||||
export async function loadTransformers(onLoad: OnLoad) {
|
export async function loadTransformers(onLoad: OnLoad) {
|
||||||
|
const nodeVersions = process.versions.node.split(".");
|
||||||
|
if (nodeVersions[0] && parseInt(nodeVersions[0], 10) < 20) {
|
||||||
|
throw new Error(
|
||||||
|
"@huggingface/transformers is not supported on Node.js versions below 20",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (getTransformers() === null) {
|
if (getTransformers() === null) {
|
||||||
setTransformers(await import("@huggingface/transformers"));
|
setTransformers(await import("@huggingface/transformers"));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -2,4 +2,4 @@ export {
|
|||||||
Tokenizers,
|
Tokenizers,
|
||||||
tokenizers,
|
tokenizers,
|
||||||
type Tokenizer,
|
type Tokenizer,
|
||||||
} from "./internal/tokenizers/js.js";
|
} from "./internal/tokenizers/node.js";
|
||||||
|
|||||||
@@ -1,5 +1,40 @@
|
|||||||
# @llamaindex/experimental
|
# @llamaindex/experimental
|
||||||
|
|
||||||
|
## 0.0.139
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [a0e6f57]
|
||||||
|
- llamaindex@0.8.27
|
||||||
|
|
||||||
|
## 0.0.138
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- llamaindex@0.8.26
|
||||||
|
|
||||||
|
## 0.0.137
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- llamaindex@0.8.25
|
||||||
|
|
||||||
|
## 0.0.136
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [515f2c1]
|
||||||
|
- llamaindex@0.8.24
|
||||||
|
|
||||||
|
## 0.0.135
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.23
|
||||||
|
|
||||||
## 0.0.134
|
## 0.0.134
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/experimental",
|
"name": "@llamaindex/experimental",
|
||||||
"description": "Experimental package for LlamaIndexTS",
|
"description": "Experimental package for LlamaIndexTS",
|
||||||
"version": "0.0.134",
|
"version": "0.0.139",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/type/index.d.ts",
|
"types": "dist/type/index.d.ts",
|
||||||
"main": "dist/cjs/index.js",
|
"main": "dist/cjs/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,99 @@
|
|||||||
# llamaindex
|
# llamaindex
|
||||||
|
|
||||||
|
## 0.8.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- b504303: Allow Node 18 again (throw run-time error if not possible) to make Stackblitz work
|
||||||
|
- a0e6f57: withLlamaIndex now passes through webpack options to the passed in customized NextJS webpack config. Before it was only passing through the config.
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/cloud@2.0.18
|
||||||
|
- @llamaindex/node-parser@0.0.19
|
||||||
|
- @llamaindex/anthropic@0.0.27
|
||||||
|
- @llamaindex/clip@0.0.27
|
||||||
|
- @llamaindex/deepinfra@0.0.27
|
||||||
|
- @llamaindex/groq@0.0.42
|
||||||
|
- @llamaindex/huggingface@0.0.27
|
||||||
|
- @llamaindex/ollama@0.0.34
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
- @llamaindex/portkey-ai@0.0.27
|
||||||
|
- @llamaindex/replicate@0.0.27
|
||||||
|
- @llamaindex/readers@1.0.20
|
||||||
|
- @llamaindex/vllm@0.0.13
|
||||||
|
|
||||||
|
## 0.8.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 3d1808b: chore: bump version
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
- @llamaindex/cloud@2.0.17
|
||||||
|
- @llamaindex/node-parser@0.0.18
|
||||||
|
- @llamaindex/anthropic@0.0.26
|
||||||
|
- @llamaindex/clip@0.0.26
|
||||||
|
- @llamaindex/deepinfra@0.0.26
|
||||||
|
- @llamaindex/huggingface@0.0.26
|
||||||
|
- @llamaindex/ollama@0.0.33
|
||||||
|
- @llamaindex/portkey-ai@0.0.26
|
||||||
|
- @llamaindex/replicate@0.0.26
|
||||||
|
- @llamaindex/readers@1.0.19
|
||||||
|
- @llamaindex/groq@0.0.41
|
||||||
|
- @llamaindex/vllm@0.0.12
|
||||||
|
|
||||||
|
## 0.8.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7e8230b]
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/readers@1.0.18
|
||||||
|
- @llamaindex/cloud@2.0.16
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
- @llamaindex/node-parser@0.0.17
|
||||||
|
- @llamaindex/anthropic@0.0.25
|
||||||
|
- @llamaindex/clip@0.0.25
|
||||||
|
- @llamaindex/deepinfra@0.0.25
|
||||||
|
- @llamaindex/groq@0.0.40
|
||||||
|
- @llamaindex/huggingface@0.0.25
|
||||||
|
- @llamaindex/ollama@0.0.32
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
- @llamaindex/portkey-ai@0.0.25
|
||||||
|
- @llamaindex/replicate@0.0.25
|
||||||
|
- @llamaindex/vllm@0.0.11
|
||||||
|
|
||||||
|
## 0.8.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 515f2c1: Add vector store for CosmosDB
|
||||||
|
|
||||||
|
## 0.8.23
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/cloud@2.0.15
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
- @llamaindex/node-parser@0.0.16
|
||||||
|
- @llamaindex/anthropic@0.0.24
|
||||||
|
- @llamaindex/clip@0.0.24
|
||||||
|
- @llamaindex/deepinfra@0.0.24
|
||||||
|
- @llamaindex/groq@0.0.39
|
||||||
|
- @llamaindex/huggingface@0.0.24
|
||||||
|
- @llamaindex/ollama@0.0.31
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
- @llamaindex/portkey-ai@0.0.24
|
||||||
|
- @llamaindex/replicate@0.0.24
|
||||||
|
- @llamaindex/readers@1.0.17
|
||||||
|
- @llamaindex/vllm@0.0.10
|
||||||
|
|
||||||
## 0.8.22
|
## 0.8.22
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "llamaindex",
|
"name": "llamaindex",
|
||||||
"version": "0.8.22",
|
"version": "0.8.27",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"magic-bytes.js": "^1.10.0",
|
"magic-bytes.js": "^1.10.0",
|
||||||
"mongodb": "^6.7.0",
|
"mongodb": "^6.7.0",
|
||||||
"openai": "^4.72.0",
|
"openai": "^4.73.1",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"rake-modified": "^1.0.8",
|
"rake-modified": "^1.0.8",
|
||||||
"weaviate-client": "^3.2.3",
|
"weaviate-client": "^3.2.3",
|
||||||
@@ -86,7 +86,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@huggingface/transformers": "^3.0.2",
|
|
||||||
"@swc/cli": "^0.5.0",
|
"@swc/cli": "^0.5.0",
|
||||||
"@swc/core": "^1.9.2",
|
"@swc/core": "^1.9.2",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
@@ -98,7 +97,7 @@
|
|||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=18.0.0"
|
||||||
},
|
},
|
||||||
"types": "./dist/type/index.d.ts",
|
"types": "./dist/type/index.d.ts",
|
||||||
"main": "./dist/cjs/index.js",
|
"main": "./dist/cjs/index.js",
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export default function withLlamaIndex(config: any) {
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
config.webpack = function (webpackConfig: any, options: any) {
|
config.webpack = function (webpackConfig: any, options: any) {
|
||||||
if (userWebpack) {
|
if (userWebpack) {
|
||||||
webpackConfig = userWebpack(webpackConfig);
|
webpackConfig = userWebpack(webpackConfig, options);
|
||||||
}
|
}
|
||||||
webpackConfig.resolve.alias = {
|
webpackConfig.resolve.alias = {
|
||||||
...webpackConfig.resolve.alias,
|
...webpackConfig.resolve.alias,
|
||||||
|
|||||||
@@ -15,5 +15,6 @@ export * from "@llamaindex/readers/json";
|
|||||||
export * from "@llamaindex/readers/markdown";
|
export * from "@llamaindex/readers/markdown";
|
||||||
export * from "@llamaindex/readers/mongo";
|
export * from "@llamaindex/readers/mongo";
|
||||||
export * from "@llamaindex/readers/notion";
|
export * from "@llamaindex/readers/notion";
|
||||||
|
export * from "@llamaindex/readers/obsidian";
|
||||||
export * from "@llamaindex/readers/pdf";
|
export * from "@llamaindex/readers/pdf";
|
||||||
export * from "@llamaindex/readers/text";
|
export * from "@llamaindex/readers/text";
|
||||||
|
|||||||
@@ -0,0 +1,328 @@
|
|||||||
|
import type { BaseNode } from "@llamaindex/core/schema";
|
||||||
|
import { MetadataMode } from "@llamaindex/core/schema";
|
||||||
|
import { getEnv } from "@llamaindex/env";
|
||||||
|
import { Collection, Db, MongoClient } from "mongodb";
|
||||||
|
import {
|
||||||
|
BaseVectorStore,
|
||||||
|
type VectorStoreBaseParams,
|
||||||
|
type VectorStoreQuery,
|
||||||
|
type VectorStoreQueryResult,
|
||||||
|
} from "./types.js";
|
||||||
|
import { metadataDictToNode, nodeToMetadata } from "./utils.js";
|
||||||
|
|
||||||
|
/** Azure Cosmos DB for MongoDB vCore Similarity type. */
|
||||||
|
export const AzureCosmosDBMongoDBSimilarityType = {
|
||||||
|
/** Cosine similarity */
|
||||||
|
COS: "COS",
|
||||||
|
/** Inner - product */
|
||||||
|
IP: "IP",
|
||||||
|
/** Euclidian distance */
|
||||||
|
L2: "L2",
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
/** Azure Cosmos DB for MongoDB vCore Similarity type. */
|
||||||
|
export type AzureCosmosDBMongoDBSimilarityType =
|
||||||
|
(typeof AzureCosmosDBMongoDBSimilarityType)[keyof typeof AzureCosmosDBMongoDBSimilarityType];
|
||||||
|
|
||||||
|
/** Azure Cosmos DB for MongoDB vCore Index Options. */
|
||||||
|
export type AzureCosmosDBMongoDBIndexOptions = {
|
||||||
|
readonly indexType?: "ivf" | "hnsw" | "diskann" | undefined;
|
||||||
|
/** Number of clusters that the inverted file (IVF) index uses to group the vector data. */
|
||||||
|
readonly numLists?: number | undefined;
|
||||||
|
/** Number of dimensions for vector similarity. */
|
||||||
|
readonly dimensions?: number | undefined;
|
||||||
|
/** Similarity metric to use with the IVF index. */
|
||||||
|
readonly similarity?: AzureCosmosDBMongoDBSimilarityType | undefined;
|
||||||
|
/** The max number of connections per layer with the HNSW index. */
|
||||||
|
readonly m?: number | undefined;
|
||||||
|
/** The size of the dynamic candidate list for constructing the graph with the HNSW index. */
|
||||||
|
readonly efConstruction?: number | undefined;
|
||||||
|
/** Max number of neighbors withe the Diskann idnex */
|
||||||
|
readonly maxDegree?: number | undefined;
|
||||||
|
/** L value for index building withe the Diskann idnex */
|
||||||
|
readonly lBuild?: number | undefined;
|
||||||
|
/** L value for index searching withe the Diskann idnex */
|
||||||
|
readonly lSearch?: number | undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Azure Cosmos DB for MongoDB vCore vector store.
|
||||||
|
* To use this, you should have both:
|
||||||
|
* - the `mongodb` NPM package installed
|
||||||
|
* - a connection string associated with a MongoDB VCore Cluster
|
||||||
|
*
|
||||||
|
* You do not need to create a database or collection, it will be created
|
||||||
|
* automatically.
|
||||||
|
*
|
||||||
|
* You also need an index on the collection, which is by default be created
|
||||||
|
* automatically using the `createIndex` method.
|
||||||
|
*/
|
||||||
|
export class AzureCosmosDBMongoDBVectorStore extends BaseVectorStore {
|
||||||
|
storesText: boolean = true;
|
||||||
|
flatMetadata: boolean = true;
|
||||||
|
|
||||||
|
dbName: string;
|
||||||
|
|
||||||
|
collectionName: string;
|
||||||
|
|
||||||
|
indexedMetadataFields: string[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The used MongoClient. If not given, a new MongoClient is created based on the MONGODB_URI env variable.
|
||||||
|
*/
|
||||||
|
mongodbClient: MongoClient;
|
||||||
|
|
||||||
|
indexName: string;
|
||||||
|
|
||||||
|
embeddingKey: string;
|
||||||
|
|
||||||
|
idKey: string;
|
||||||
|
|
||||||
|
textKey: string;
|
||||||
|
|
||||||
|
metadataKey: string;
|
||||||
|
|
||||||
|
indexOptions: AzureCosmosDBMongoDBIndexOptions;
|
||||||
|
|
||||||
|
private collection?: Collection;
|
||||||
|
|
||||||
|
private database: Db;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
init: Partial<AzureCosmosDBMongoDBVectorStore> & {
|
||||||
|
dbName: string;
|
||||||
|
collectionName: string;
|
||||||
|
indexedMetadataFields?: string[];
|
||||||
|
} & VectorStoreBaseParams,
|
||||||
|
) {
|
||||||
|
super(init);
|
||||||
|
if (init.mongodbClient) {
|
||||||
|
this.mongodbClient = init.mongodbClient;
|
||||||
|
} else {
|
||||||
|
const mongoUri = getEnv("AZURE_COSMOSDB_MONGODB_CONNECTION_STRING");
|
||||||
|
if (!mongoUri) {
|
||||||
|
throw new Error(
|
||||||
|
"AzureCosmosDBMongoDBVectorStore client or connection string must be set.",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
this.mongodbClient = new MongoClient(mongoUri);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.dbName = init.dbName ?? "documentsDB";
|
||||||
|
this.collectionName = init.collectionName ?? "documents";
|
||||||
|
this.indexedMetadataFields = init.indexedMetadataFields ?? [];
|
||||||
|
this.indexName = init.indexName ?? "vectorSearchIndex";
|
||||||
|
this.embeddingKey = init.embeddingKey ?? "vectorContent";
|
||||||
|
this.idKey = init.idKey ?? "id";
|
||||||
|
this.textKey = init.textKey ?? "text";
|
||||||
|
this.metadataKey = init.metadataKey ?? "metadata";
|
||||||
|
this.indexOptions = init.indexOptions ?? {};
|
||||||
|
this.database = this.mongodbClient.db(this.dbName);
|
||||||
|
}
|
||||||
|
|
||||||
|
client() {
|
||||||
|
return this.mongodbClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
async ensureCollection() {
|
||||||
|
if (!this.collection) {
|
||||||
|
const collection = await this.mongodbClient
|
||||||
|
.db(this.dbName)
|
||||||
|
.createCollection(this.collectionName);
|
||||||
|
|
||||||
|
this.collection = collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
async add(nodes: BaseNode[]): Promise<string[]> {
|
||||||
|
if (!nodes || nodes.length === 0) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const dataToInsert = nodes.map((node) => {
|
||||||
|
const metadata = nodeToMetadata(
|
||||||
|
node,
|
||||||
|
true,
|
||||||
|
this.textKey,
|
||||||
|
this.flatMetadata,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Include the specified metadata fields in the top level of the document (to help filter)
|
||||||
|
const populatedMetadata: Record<string, unknown> = {};
|
||||||
|
for (const field of this.indexedMetadataFields) {
|
||||||
|
populatedMetadata[field] = metadata[field];
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
[this.idKey]: node.id_,
|
||||||
|
[this.embeddingKey]: node.getEmbedding(),
|
||||||
|
[this.textKey]: node.getContent(MetadataMode.NONE) || "",
|
||||||
|
[this.metadataKey]: metadata,
|
||||||
|
...populatedMetadata,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
const collection = await this.ensureCollection();
|
||||||
|
const insertResult = await collection.insertMany(dataToInsert);
|
||||||
|
return Object.values(insertResult.insertedIds).map((id) => String(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes specified documents from the AzureCosmosDBMongoDBVectorStore.
|
||||||
|
* @param params Parameters for the delete operation.
|
||||||
|
* @returns A promise that resolves when the documents have been removed.
|
||||||
|
*/
|
||||||
|
async delete(id: string, deleteOptions?: object): Promise<void> {
|
||||||
|
const collection = await this.ensureCollection();
|
||||||
|
await collection.deleteMany(
|
||||||
|
{
|
||||||
|
id: id,
|
||||||
|
},
|
||||||
|
deleteOptions,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async query(
|
||||||
|
query: VectorStoreQuery,
|
||||||
|
options?: object,
|
||||||
|
): Promise<VectorStoreQueryResult> {
|
||||||
|
const pipeline = [
|
||||||
|
{
|
||||||
|
$search: {
|
||||||
|
cosmosSearch: {
|
||||||
|
vector: query.queryEmbedding,
|
||||||
|
path: this.embeddingKey,
|
||||||
|
k: query.similarityTopK ?? 4,
|
||||||
|
},
|
||||||
|
returnStoredSource: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const collection = await this.ensureCollection();
|
||||||
|
const cursor = await collection.aggregate(pipeline);
|
||||||
|
|
||||||
|
const nodes: BaseNode[] = [];
|
||||||
|
const ids: string[] = [];
|
||||||
|
const similarities: number[] = [];
|
||||||
|
|
||||||
|
for await (const res of await cursor) {
|
||||||
|
const text = res[this.textKey];
|
||||||
|
const score = res.score;
|
||||||
|
const id = res[this.idKey];
|
||||||
|
const metadata = res[this.metadataKey];
|
||||||
|
|
||||||
|
const node = metadataDictToNode(metadata);
|
||||||
|
node.setContent(text);
|
||||||
|
|
||||||
|
ids.push(id);
|
||||||
|
nodes.push(node);
|
||||||
|
similarities.push(score);
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = {
|
||||||
|
nodes,
|
||||||
|
similarities,
|
||||||
|
ids,
|
||||||
|
};
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an index on the collection with the specified index name during
|
||||||
|
* instance construction.
|
||||||
|
*
|
||||||
|
* Setting the numLists parameter correctly is important for achieving good
|
||||||
|
* accuracy and performance.
|
||||||
|
* Since the vector store uses IVF as the indexing strategy, you should
|
||||||
|
* create the index only after you have loaded a large enough sample
|
||||||
|
* documents to ensure that the centroids for the respective buckets are
|
||||||
|
* faily distributed.
|
||||||
|
*
|
||||||
|
* @param indexType Index Type for Mongo vCore index.
|
||||||
|
* @param dimensions Number of dimensions for vector similarity.
|
||||||
|
* The maximum number of supported dimensions is 2000.
|
||||||
|
* If no number is provided, it will be determined automatically by
|
||||||
|
* embedding a short text.
|
||||||
|
* @param similarity Similarity metric to use with the IVF index.
|
||||||
|
* Possible options are:
|
||||||
|
* - CosmosDBSimilarityType.COS (cosine distance)
|
||||||
|
* - CosmosDBSimilarityType.L2 (Euclidean distance)
|
||||||
|
* - CosmosDBSimilarityType.IP (inner product)
|
||||||
|
* @returns A promise that resolves when the index has been created.
|
||||||
|
*/
|
||||||
|
async createIndex(
|
||||||
|
dimensions: number | undefined = undefined,
|
||||||
|
indexType: "ivf" | "hnsw" | "diskann" = "ivf",
|
||||||
|
similarity: AzureCosmosDBMongoDBSimilarityType = AzureCosmosDBMongoDBSimilarityType.COS,
|
||||||
|
): Promise<void> {
|
||||||
|
let vectorLength = dimensions;
|
||||||
|
|
||||||
|
if (vectorLength === undefined) {
|
||||||
|
vectorLength = 1536;
|
||||||
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
const cosmosSearchOptions: any = {
|
||||||
|
kind: "",
|
||||||
|
similarity,
|
||||||
|
dimensions: vectorLength,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (indexType === "hnsw") {
|
||||||
|
cosmosSearchOptions.kind = "vector-hnsw";
|
||||||
|
cosmosSearchOptions.m = this.indexOptions.m ?? 16;
|
||||||
|
cosmosSearchOptions.efConstruction =
|
||||||
|
this.indexOptions.efConstruction ?? 200;
|
||||||
|
} else if (indexType === "diskann") {
|
||||||
|
cosmosSearchOptions.kind = "vector-diskann";
|
||||||
|
cosmosSearchOptions.maxDegree = this.indexOptions.maxDegree ?? 40;
|
||||||
|
cosmosSearchOptions.lBuild = this.indexOptions.lBuild ?? 50;
|
||||||
|
cosmosSearchOptions.lSearch = this.indexOptions.lSearch ?? 40;
|
||||||
|
/** Default to IVF index */
|
||||||
|
} else {
|
||||||
|
cosmosSearchOptions.kind = "vector-ivf";
|
||||||
|
cosmosSearchOptions.numLists = this.indexOptions.numLists ?? 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
const createIndexCommands = {
|
||||||
|
createIndexes: this.collection?.collectionName,
|
||||||
|
indexes: [
|
||||||
|
{
|
||||||
|
name: this.indexName,
|
||||||
|
key: { [this.embeddingKey]: "cosmosSearch" },
|
||||||
|
cosmosSearchOptions,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
await this.database.command(createIndexCommands);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the specified index name during instance construction exists
|
||||||
|
* on the collection.
|
||||||
|
* @returns A promise that resolves to a boolean indicating if the index exists.
|
||||||
|
*/
|
||||||
|
async checkIndexExists(): Promise<boolean> {
|
||||||
|
const collection = await this.ensureCollection();
|
||||||
|
const indexes = await collection.listIndexes().toArray();
|
||||||
|
return indexes.some((index) => index.name === this.indexName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes the index specified during instance construction if it exists.
|
||||||
|
* @returns A promise that resolves when the index has been deleted.
|
||||||
|
*/
|
||||||
|
async deleteIndex(indexName: string): Promise<void> {
|
||||||
|
const collection = await this.ensureCollection();
|
||||||
|
const indexes = await collection.listIndexes().toArray();
|
||||||
|
const indexToDelete = indexes.find((index) => index.name === indexName);
|
||||||
|
if (indexToDelete) {
|
||||||
|
await collection.dropIndex(indexName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
export * from "./AstraDBVectorStore.js";
|
export * from "./AstraDBVectorStore.js";
|
||||||
|
export * from "./AzureCosmosDBMongoVectorStore.js";
|
||||||
export * from "./AzureCosmosDBNoSqlVectorStore.js";
|
export * from "./AzureCosmosDBNoSqlVectorStore.js";
|
||||||
export * from "./ChromaVectorStore.js";
|
export * from "./ChromaVectorStore.js";
|
||||||
export * from "./MilvusVectorStore.js";
|
export * from "./MilvusVectorStore.js";
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/node-parser
|
# @llamaindex/node-parser
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.15
|
## 0.0.15
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/node-parser",
|
"name": "@llamaindex/node-parser",
|
||||||
"version": "0.0.15",
|
"version": "0.0.19",
|
||||||
"description": "Node parser for LlamaIndex",
|
"description": "Node parser for LlamaIndex",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/anthropic
|
# @llamaindex/anthropic
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/anthropic",
|
"name": "@llamaindex/anthropic",
|
||||||
"description": "Anthropic Adapter for LlamaIndex",
|
"description": "Anthropic Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
# @llamaindex/clip
|
# @llamaindex/clip
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/clip",
|
"name": "@llamaindex/clip",
|
||||||
"description": "Clip Embedding Adapter for LlamaIndex",
|
"description": "Clip Embedding Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"main": "dist/index.cjs",
|
"main": "dist/index.cjs",
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
# @llamaindex/deepinfra
|
# @llamaindex/deepinfra
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/deepinfra",
|
"name": "@llamaindex/deepinfra",
|
||||||
"description": "Deepinfra Adapter for LlamaIndex",
|
"description": "Deepinfra Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,37 @@
|
|||||||
# @llamaindex/groq
|
# @llamaindex/groq
|
||||||
|
|
||||||
|
## 0.0.42
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
|
||||||
|
## 0.0.41
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
|
||||||
|
## 0.0.40
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
|
||||||
|
## 0.0.39
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
|
||||||
## 0.0.38
|
## 0.0.38
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/groq",
|
"name": "@llamaindex/groq",
|
||||||
"description": "Groq Adapter for LlamaIndex",
|
"description": "Groq Adapter for LlamaIndex",
|
||||||
"version": "0.0.38",
|
"version": "0.0.42",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
# @llamaindex/huggingface
|
# @llamaindex/huggingface
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/huggingface",
|
"name": "@llamaindex/huggingface",
|
||||||
"description": "Huggingface Adapter for LlamaIndex",
|
"description": "Huggingface Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"main": "dist/index.cjs",
|
"main": "dist/index.cjs",
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/ollama
|
# @llamaindex/ollama
|
||||||
|
|
||||||
|
## 0.0.34
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.33
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.32
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.31
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.30
|
## 0.0.30
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/ollama",
|
"name": "@llamaindex/ollama",
|
||||||
"description": "Ollama Adapter for LlamaIndex",
|
"description": "Ollama Adapter for LlamaIndex",
|
||||||
"version": "0.0.30",
|
"version": "0.0.34",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/openai
|
# @llamaindex/openai
|
||||||
|
|
||||||
|
## 0.1.43
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.1.42
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 3d1808b: chore: bump version
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.1.41
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.1.40
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.1.39
|
## 0.1.39
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/openai",
|
"name": "@llamaindex/openai",
|
||||||
"description": "OpenAI Adapter for LlamaIndex",
|
"description": "OpenAI Adapter for LlamaIndex",
|
||||||
"version": "0.1.39",
|
"version": "0.1.43",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -35,6 +35,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"openai": "^4.72.0"
|
"openai": "^4.73.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ export const GPT4_MODELS = {
|
|||||||
"gpt-4o-audio-preview-2024-10-01": {
|
"gpt-4o-audio-preview-2024-10-01": {
|
||||||
contextWindow: 128000,
|
contextWindow: 128000,
|
||||||
},
|
},
|
||||||
|
"gpt-4o-2024-11-20": {
|
||||||
|
contextWindow: 128000,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// NOTE we don't currently support gpt-3.5-turbo-instruct and don't plan to in the near future
|
// NOTE we don't currently support gpt-3.5-turbo-instruct and don't plan to in the near future
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/portkey-ai
|
# @llamaindex/portkey-ai
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/portkey-ai",
|
"name": "@llamaindex/portkey-ai",
|
||||||
"description": "Portkey Adapter for LlamaIndex",
|
"description": "Portkey Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/replicate
|
# @llamaindex/replicate
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 0.0.24
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 0.0.23
|
## 0.0.23
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/replicate",
|
"name": "@llamaindex/replicate",
|
||||||
"description": "Replicate Adapter for LlamaIndex",
|
"description": "Replicate Adapter for LlamaIndex",
|
||||||
"version": "0.0.23",
|
"version": "0.0.27",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
# @llamaindex/vercel
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 086a651: Add VercelLLM (adapter to use any model provider from Vercel AI in LlamaIndex)
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 0.0.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 0.0.3
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
|
||||||
|
## 0.0.2
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- fd38a25: Add vercel tool adapter to use query engine tool
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"name": "@llamaindex/vercel",
|
||||||
|
"description": "Vercel Adapter for LlamaIndex",
|
||||||
|
"version": "0.0.5",
|
||||||
|
"type": "module",
|
||||||
|
"main": "./dist/index.cjs",
|
||||||
|
"module": "./dist/index.js",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"edge-light": {
|
||||||
|
"types": "./dist/index.edge-light.d.ts",
|
||||||
|
"default": "./dist/index.edge-light.js"
|
||||||
|
},
|
||||||
|
"workerd": {
|
||||||
|
"types": "./dist/index.edge-light.d.ts",
|
||||||
|
"default": "./dist/index.edge-light.js"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"types": "./dist/index.d.cts",
|
||||||
|
"default": "./dist/index.cjs"
|
||||||
|
},
|
||||||
|
"import": {
|
||||||
|
"types": "./dist/index.d.ts",
|
||||||
|
"default": "./dist/index.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"dist"
|
||||||
|
],
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/run-llama/LlamaIndexTS.git",
|
||||||
|
"directory": "packages/providers/vercel"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "bunchee",
|
||||||
|
"dev": "bunchee --watch"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"bunchee": "5.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@llamaindex/core": "workspace:*",
|
||||||
|
"zod": "^3.23.8"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"ai": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export { VercelLLM } from "./llm";
|
||||||
|
export { llamaindex } from "./tool";
|
||||||
@@ -0,0 +1,183 @@
|
|||||||
|
import { wrapEventCaller, wrapLLMEvent } from "@llamaindex/core/decorator";
|
||||||
|
import {
|
||||||
|
ToolCallLLM,
|
||||||
|
type ChatMessage,
|
||||||
|
type ChatResponse,
|
||||||
|
type ChatResponseChunk,
|
||||||
|
type LLMChatParamsNonStreaming,
|
||||||
|
type LLMChatParamsStreaming,
|
||||||
|
type LLMMetadata,
|
||||||
|
type ToolCallLLMMessageOptions,
|
||||||
|
} from "@llamaindex/core/llms";
|
||||||
|
import { extractText } from "@llamaindex/core/utils";
|
||||||
|
import {
|
||||||
|
generateText,
|
||||||
|
streamText,
|
||||||
|
type CoreAssistantMessage,
|
||||||
|
type CoreMessage,
|
||||||
|
type CoreSystemMessage,
|
||||||
|
type CoreToolMessage,
|
||||||
|
type CoreUserMessage,
|
||||||
|
type ImagePart,
|
||||||
|
type LanguageModelV1,
|
||||||
|
type TextPart,
|
||||||
|
} from "ai";
|
||||||
|
|
||||||
|
export type VercelAdditionalChatOptions = ToolCallLLMMessageOptions;
|
||||||
|
|
||||||
|
export class VercelLLM extends ToolCallLLM<VercelAdditionalChatOptions> {
|
||||||
|
supportToolCall: boolean = true;
|
||||||
|
private model: LanguageModelV1;
|
||||||
|
|
||||||
|
constructor({ model }: { model: LanguageModelV1 }) {
|
||||||
|
super();
|
||||||
|
this.model = model;
|
||||||
|
}
|
||||||
|
|
||||||
|
get metadata(): LLMMetadata {
|
||||||
|
return {
|
||||||
|
model: this.model.modelId,
|
||||||
|
temperature: 1,
|
||||||
|
topP: 1,
|
||||||
|
contextWindow: 128000,
|
||||||
|
tokenizer: undefined,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private toVercelMessages(
|
||||||
|
messages: ChatMessage<ToolCallLLMMessageOptions>[],
|
||||||
|
): CoreMessage[] {
|
||||||
|
return messages.map((message) => {
|
||||||
|
const options = message.options ?? {};
|
||||||
|
|
||||||
|
if ("toolResult" in options) {
|
||||||
|
return {
|
||||||
|
role: "tool",
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
type: "tool-result",
|
||||||
|
toolCallId: options.toolResult.id,
|
||||||
|
toolName: "", // XXX: tool result doesn't name
|
||||||
|
isError: options.toolResult.isError,
|
||||||
|
result: options.toolResult.result,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
} satisfies CoreToolMessage;
|
||||||
|
} else if ("toolCall" in options) {
|
||||||
|
return {
|
||||||
|
role: "assistant",
|
||||||
|
content: options.toolCall.map((toolCall) => ({
|
||||||
|
type: "tool-call",
|
||||||
|
toolName: toolCall.name,
|
||||||
|
toolCallId: toolCall.id,
|
||||||
|
args: toolCall.input,
|
||||||
|
})),
|
||||||
|
} satisfies CoreAssistantMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.role === "system" || message.role === "assistant") {
|
||||||
|
return {
|
||||||
|
role: message.role,
|
||||||
|
content: extractText(message.content),
|
||||||
|
} satisfies CoreSystemMessage | CoreAssistantMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (message.role === "user") {
|
||||||
|
return {
|
||||||
|
role: message.role,
|
||||||
|
content:
|
||||||
|
typeof message.content === "string"
|
||||||
|
? message.content
|
||||||
|
: message.content.map((contentDetail) => {
|
||||||
|
if (contentDetail.type === "image_url") {
|
||||||
|
return {
|
||||||
|
type: "image",
|
||||||
|
image: new URL(contentDetail.image_url.url),
|
||||||
|
} satisfies ImagePart;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
type: "text",
|
||||||
|
text: contentDetail.text,
|
||||||
|
} satisfies TextPart;
|
||||||
|
}),
|
||||||
|
} satisfies CoreUserMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error(`Can not convert message ${JSON.stringify(message)}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
chat(
|
||||||
|
params: LLMChatParamsStreaming<
|
||||||
|
VercelAdditionalChatOptions,
|
||||||
|
ToolCallLLMMessageOptions
|
||||||
|
>,
|
||||||
|
): Promise<AsyncIterable<ChatResponseChunk<ToolCallLLMMessageOptions>>>;
|
||||||
|
chat(
|
||||||
|
params: LLMChatParamsNonStreaming<
|
||||||
|
VercelAdditionalChatOptions,
|
||||||
|
ToolCallLLMMessageOptions
|
||||||
|
>,
|
||||||
|
): Promise<ChatResponse<ToolCallLLMMessageOptions>>;
|
||||||
|
@wrapEventCaller
|
||||||
|
@wrapLLMEvent
|
||||||
|
async chat(
|
||||||
|
params:
|
||||||
|
| LLMChatParamsNonStreaming<
|
||||||
|
VercelAdditionalChatOptions,
|
||||||
|
ToolCallLLMMessageOptions
|
||||||
|
>
|
||||||
|
| LLMChatParamsStreaming<
|
||||||
|
VercelAdditionalChatOptions,
|
||||||
|
ToolCallLLMMessageOptions
|
||||||
|
>,
|
||||||
|
): Promise<
|
||||||
|
| ChatResponse<ToolCallLLMMessageOptions>
|
||||||
|
| AsyncIterable<ChatResponseChunk<ToolCallLLMMessageOptions>>
|
||||||
|
> {
|
||||||
|
const { messages, stream } = params;
|
||||||
|
|
||||||
|
// Streaming
|
||||||
|
if (stream) {
|
||||||
|
const result = streamText({
|
||||||
|
model: this.model,
|
||||||
|
messages: this.toVercelMessages(messages),
|
||||||
|
});
|
||||||
|
return result.fullStream.pipeThrough(
|
||||||
|
new TransformStream({
|
||||||
|
async transform(message, controller): Promise<void> {
|
||||||
|
switch (message.type) {
|
||||||
|
case "text-delta":
|
||||||
|
controller.enqueue({ raw: message, delta: message.textDelta });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Non-streaming
|
||||||
|
const result = await generateText({
|
||||||
|
model: this.model,
|
||||||
|
messages: this.toVercelMessages(messages),
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
raw: result,
|
||||||
|
message: {
|
||||||
|
content: result.text,
|
||||||
|
role: "assistant",
|
||||||
|
options: result.toolCalls?.length
|
||||||
|
? {
|
||||||
|
toolCall: result.toolCalls.map(
|
||||||
|
({ toolCallId, toolName, args }) => ({
|
||||||
|
id: toolCallId,
|
||||||
|
name: toolName,
|
||||||
|
input: args,
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
}
|
||||||
|
: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
import { Settings } from "@llamaindex/core/global";
|
||||||
|
import type { BaseQueryEngine } from "@llamaindex/core/query-engine";
|
||||||
|
import { type CoreTool, type LanguageModelV1, tool } from "ai";
|
||||||
|
import { z } from "zod";
|
||||||
|
import { VercelLLM } from "./llm";
|
||||||
|
|
||||||
|
interface DatasourceIndex {
|
||||||
|
asQueryEngine: () => BaseQueryEngine;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function llamaindex({
|
||||||
|
model,
|
||||||
|
index,
|
||||||
|
description,
|
||||||
|
}: {
|
||||||
|
model: LanguageModelV1;
|
||||||
|
index: DatasourceIndex;
|
||||||
|
description?: string;
|
||||||
|
}): CoreTool {
|
||||||
|
const llm = new VercelLLM({ model });
|
||||||
|
return Settings.withLLM<CoreTool>(llm, () => {
|
||||||
|
const queryEngine = index.asQueryEngine();
|
||||||
|
return tool({
|
||||||
|
description: description ?? "Get information about your documents.",
|
||||||
|
parameters: z.object({
|
||||||
|
query: z
|
||||||
|
.string()
|
||||||
|
.describe("The query to get information about your documents."),
|
||||||
|
}),
|
||||||
|
execute: async ({ query }) => {
|
||||||
|
const result = await queryEngine?.query({ query });
|
||||||
|
return result?.message.content ?? "No result found in documents.";
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"outDir": "./lib",
|
||||||
|
"tsBuildInfoFile": "./lib/.tsbuildinfo"
|
||||||
|
},
|
||||||
|
"include": ["./src"],
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"path": "../../core/tsconfig.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "../../env/tsconfig.json"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,5 +1,32 @@
|
|||||||
# @llamaindex/vllm
|
# @llamaindex/vllm
|
||||||
|
|
||||||
|
## 0.0.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/openai@0.1.43
|
||||||
|
|
||||||
|
## 0.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/openai@0.1.42
|
||||||
|
|
||||||
|
## 0.0.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/openai@0.1.41
|
||||||
|
|
||||||
|
## 0.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/openai@0.1.40
|
||||||
|
|
||||||
## 0.0.9
|
## 0.0.9
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/vllm",
|
"name": "@llamaindex/vllm",
|
||||||
"description": "vLLM Adapter for LlamaIndex",
|
"description": "vLLM Adapter for LlamaIndex",
|
||||||
"version": "0.0.9",
|
"version": "0.0.13",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,39 @@
|
|||||||
# @llamaindex/readers
|
# @llamaindex/readers
|
||||||
|
|
||||||
|
## 1.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [b504303]
|
||||||
|
- Updated dependencies [e0f6cc3]
|
||||||
|
- @llamaindex/env@0.1.25
|
||||||
|
- @llamaindex/core@0.4.18
|
||||||
|
|
||||||
|
## 1.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d1808b]
|
||||||
|
- @llamaindex/core@0.4.17
|
||||||
|
|
||||||
|
## 1.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 7e8230b: Add obsidian reader
|
||||||
|
- 8be4589: chore: bump version
|
||||||
|
- Updated dependencies [8be4589]
|
||||||
|
- @llamaindex/core@0.4.16
|
||||||
|
- @llamaindex/env@0.1.24
|
||||||
|
|
||||||
|
## 1.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d2b2722]
|
||||||
|
- @llamaindex/env@0.1.23
|
||||||
|
- @llamaindex/core@0.4.15
|
||||||
|
|
||||||
## 1.0.16
|
## 1.0.16
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "module",
|
||||||
|
"main": "./dist/index.cjs",
|
||||||
|
"module": "./dist/index.js",
|
||||||
|
"types": "./dist/index.d.ts",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"edge-light": "./dist/index.edge-light.js",
|
||||||
|
"workerd": "./dist/index.workerd.js",
|
||||||
|
"default": "./dist/index.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"private": true
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/readers",
|
"name": "@llamaindex/readers",
|
||||||
"description": "LlamaIndex Readers",
|
"description": "LlamaIndex Readers",
|
||||||
"version": "1.0.16",
|
"version": "1.0.20",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./node/hook": "./node/dist/hook.js",
|
"./node/hook": "./node/dist/hook.js",
|
||||||
@@ -142,6 +142,24 @@
|
|||||||
"default": "./notion/dist/index.js"
|
"default": "./notion/dist/index.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"./obsidian": {
|
||||||
|
"edge-light": {
|
||||||
|
"types": "./obsidian/dist/index.edge-light.d.ts",
|
||||||
|
"default": "./obsidian/dist/index.edge-light.js"
|
||||||
|
},
|
||||||
|
"workerd": {
|
||||||
|
"types": "./obsidian/dist/index.workerd.d.ts",
|
||||||
|
"default": "./obsidian/dist/index.workerd.js"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"types": "./obsidian/dist/index.d.cts",
|
||||||
|
"default": "./obsidian/dist/index.cjs"
|
||||||
|
},
|
||||||
|
"import": {
|
||||||
|
"types": "./obsidian/dist/index.d.ts",
|
||||||
|
"default": "./obsidian/dist/index.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"./pdf": {
|
"./pdf": {
|
||||||
"require": {
|
"require": {
|
||||||
"types": "./pdf/dist/index.d.cts",
|
"types": "./pdf/dist/index.d.cts",
|
||||||
@@ -176,6 +194,7 @@
|
|||||||
"markdown",
|
"markdown",
|
||||||
"mongo",
|
"mongo",
|
||||||
"notion",
|
"notion",
|
||||||
|
"obsidian",
|
||||||
"pdf",
|
"pdf",
|
||||||
"text",
|
"text",
|
||||||
"node"
|
"node"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user