mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-15 06:52:45 -04:00
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0aa61db547 | |||
| 90d265cf47 | |||
| fc2d5ea1cd | |||
| ef4f63d9f4 | |||
| d17450fdfb | |||
| 805d2b0d55 | |||
| 6d22fa2a50 | |||
| 16f0068175 | |||
| 1054c3382a | |||
| e60328b086 | |||
| 3371dfb89f | |||
| 2065a16a07 | |||
| 5dae534f8d | |||
| 3d503cb810 | |||
| daf8522bec | |||
| 223f3136b4 | |||
| c6bad7d951 | |||
| 630b425545 | |||
| 4c7b891446 | |||
| a9c5b4899b | |||
| a7b0ac3cb7 | |||
| a7540ff47b | |||
| c69605f406 | |||
| ee20c44d9b | |||
| 1d470363df | |||
| b39f40dbd8 | |||
| fadc8b8ea0 | |||
| ea92b6986d | |||
| 17f9022d22 | |||
| 14792cd8b4 | |||
| 7ae6eaa0a2 | |||
| dbb5bd9f23 |
@@ -1,12 +1,16 @@
|
|||||||
# LlamaIndex.TS
|
<p align="center">
|
||||||
|
<img height="100" width="100" alt="LlamaIndex logo" src="https://ts.llamaindex.ai/square.svg" />
|
||||||
|
</p>
|
||||||
|
<h1 align="center">LlamaIndex.TS</h1>
|
||||||
|
<h3 align="center">
|
||||||
|
Data framework for your LLM application.
|
||||||
|
</h3>
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/llamaindex)
|
[](https://www.npmjs.com/package/llamaindex)
|
||||||
[](https://www.npmjs.com/package/llamaindex)
|
[](https://www.npmjs.com/package/llamaindex)
|
||||||
[](https://www.npmjs.com/package/llamaindex)
|
[](https://www.npmjs.com/package/llamaindex)
|
||||||
[](https://discord.com/invite/eN6D2HQ4aX)
|
[](https://discord.com/invite/eN6D2HQ4aX)
|
||||||
|
|
||||||
LlamaIndex is a data framework for your LLM application.
|
|
||||||
|
|
||||||
Use your own data with large language models (LLMs, OpenAI ChatGPT and others) in JS runtime environments with TypeScript support.
|
Use your own data with large language models (LLMs, OpenAI ChatGPT and others) in JS runtime environments with TypeScript support.
|
||||||
|
|
||||||
Documentation: https://ts.llamaindex.ai/
|
Documentation: https://ts.llamaindex.ai/
|
||||||
|
|||||||
@@ -1,5 +1,65 @@
|
|||||||
# docs
|
# docs
|
||||||
|
|
||||||
|
## 0.0.124
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.123
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.0.122
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.0.121
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.120
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.119
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.118
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
- @llamaindex/examples@0.0.16
|
||||||
|
|
||||||
|
## 0.0.117
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/examples@0.0.15
|
||||||
|
|
||||||
|
## 0.0.116
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.115
|
## 0.0.115
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -62,6 +62,12 @@ const config = {
|
|||||||
({
|
({
|
||||||
// Replace with your project's social card
|
// Replace with your project's social card
|
||||||
image: "img/favicon.png", // TODO change this
|
image: "img/favicon.png", // TODO change this
|
||||||
|
announcementBar: {
|
||||||
|
id: "migrate_to_next",
|
||||||
|
content:
|
||||||
|
'We are migrating to Next.js based documentation. Check it out <a href="https://ts.llamaindex.ai/docs/llamaindex">here</a>!',
|
||||||
|
isCloseable: false,
|
||||||
|
},
|
||||||
navbar: {
|
navbar: {
|
||||||
title: "LlamaIndex.TS",
|
title: "LlamaIndex.TS",
|
||||||
logo: {
|
logo: {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "docs",
|
"name": "docs",
|
||||||
"version": "0.0.115",
|
"version": "0.0.124",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
@@ -15,23 +15,23 @@
|
|||||||
"typecheck": "tsc"
|
"typecheck": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "3.6.0",
|
"@docusaurus/core": "3.6.1",
|
||||||
"@docusaurus/remark-plugin-npm2yarn": "3.6.0",
|
"@docusaurus/remark-plugin-npm2yarn": "3.6.1",
|
||||||
"@llamaindex/examples": "workspace:*",
|
"@llamaindex/examples": "workspace:*",
|
||||||
"@mdx-js/react": "^3.1.0",
|
"@mdx-js/react": "^3.1.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"postcss": "^8.4.47",
|
"postcss": "^8.4.49",
|
||||||
"prism-react-renderer": "^2.4.0",
|
"prism-react-renderer": "^2.4.0",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "18.3.1"
|
"react-dom": "18.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "3.6.0",
|
"@docusaurus/module-type-aliases": "3.6.1",
|
||||||
"@docusaurus/preset-classic": "3.6.0",
|
"@docusaurus/preset-classic": "3.6.1",
|
||||||
"@docusaurus/theme-classic": "3.6.0",
|
"@docusaurus/theme-classic": "3.6.1",
|
||||||
"@docusaurus/types": "3.6.0",
|
"@docusaurus/types": "3.6.1",
|
||||||
"@tsconfig/docusaurus": "2.0.3",
|
"@tsconfig/docusaurus": "2.0.3",
|
||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"docusaurus-plugin-typedoc": "1.0.5",
|
"docusaurus-plugin-typedoc": "1.0.5",
|
||||||
|
|||||||
@@ -1,5 +1,100 @@
|
|||||||
# @llamaindex/doc
|
# @llamaindex/doc
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/cloud@2.0.13
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
- @llamaindex/node-parser@0.0.14
|
||||||
|
- @llamaindex/readers@1.0.15
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
- @llamaindex/cloud@2.0.12
|
||||||
|
- @llamaindex/node-parser@0.0.13
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
- @llamaindex/readers@1.0.14
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
- @llamaindex/cloud@2.0.11
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
- @llamaindex/node-parser@0.0.12
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
- @llamaindex/readers@1.0.13
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [e60328b]
|
||||||
|
- @llamaindex/readers@1.0.12
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [ee20c44]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/workflow@0.0.6
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
- @llamaindex/cloud@2.0.10
|
||||||
|
- @llamaindex/node-parser@0.0.11
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
- @llamaindex/readers@1.0.11
|
||||||
|
|
||||||
|
## 0.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ea92b69]
|
||||||
|
- Updated dependencies [fadc8b8]
|
||||||
|
- @llamaindex/workflow@0.0.5
|
||||||
|
|
||||||
|
## 0.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/node-parser@0.0.10
|
||||||
|
- @llamaindex/readers@1.0.10
|
||||||
|
|
||||||
## 0.0.13
|
## 0.0.13
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const withMDX = createMDX();
|
|||||||
const config = {
|
const config = {
|
||||||
reactStrictMode: true,
|
reactStrictMode: true,
|
||||||
transpilePackages: ["monaco-editor"],
|
transpilePackages: ["monaco-editor"],
|
||||||
|
serverExternalPackages: ["@huggingface/transformers"],
|
||||||
webpack: (config, { isServer }) => {
|
webpack: (config, { isServer }) => {
|
||||||
if (Array.isArray(config.target) && config.target.includes("web")) {
|
if (Array.isArray(config.target) && config.target.includes("web")) {
|
||||||
config.target = ["web", "es2020"];
|
config.target = ["web", "es2020"];
|
||||||
@@ -26,6 +27,7 @@ const config = {
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
config.resolve.alias["replicate"] = false;
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
+24
-24
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/doc",
|
"name": "@llamaindex/doc",
|
||||||
"version": "0.0.13",
|
"version": "0.0.22",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "pnpm run build:docs && next build",
|
"build": "pnpm run build:docs && next build",
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@icons-pack/react-simple-icons": "^10.1.0",
|
"@icons-pack/react-simple-icons": "^10.1.0",
|
||||||
"@llamaindex/chat-ui": "0.0.5",
|
"@llamaindex/chat-ui": "0.0.9",
|
||||||
"@llamaindex/cloud": "workspace:*",
|
"@llamaindex/cloud": "workspace:*",
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/node-parser": "workspace:*",
|
"@llamaindex/node-parser": "workspace:*",
|
||||||
@@ -20,31 +20,31 @@
|
|||||||
"@llamaindex/readers": "workspace:*",
|
"@llamaindex/readers": "workspace:*",
|
||||||
"@llamaindex/workflow": "workspace:*",
|
"@llamaindex/workflow": "workspace:*",
|
||||||
"@mdx-js/mdx": "^3.1.0",
|
"@mdx-js/mdx": "^3.1.0",
|
||||||
"@number-flow/react": "^0.3.0",
|
"@number-flow/react": "^0.3.4",
|
||||||
"@radix-ui/react-dialog": "^1.1.2",
|
"@radix-ui/react-dialog": "^1.1.2",
|
||||||
"@radix-ui/react-icons": "^1.3.1",
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
"@radix-ui/react-label": "^2.1.0",
|
"@radix-ui/react-label": "^2.1.0",
|
||||||
"@radix-ui/react-slider": "^1.2.1",
|
"@radix-ui/react-slider": "^1.2.1",
|
||||||
"@radix-ui/react-slot": "^1.1.0",
|
"@radix-ui/react-slot": "^1.1.0",
|
||||||
"@radix-ui/react-tooltip": "^1.1.3",
|
"@radix-ui/react-tooltip": "^1.1.4",
|
||||||
"@vercel/functions": "^1.5.0",
|
"@vercel/functions": "^1.5.0",
|
||||||
"ai": "^3.4.31",
|
"ai": "^3.4.33",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "2.1.1",
|
"clsx": "2.1.1",
|
||||||
"foxact": "^0.2.40",
|
"foxact": "^0.2.41",
|
||||||
"framer-motion": "^11.11.11",
|
"framer-motion": "^11.11.17",
|
||||||
"fumadocs-core": "14.2.0",
|
"fumadocs-core": "14.4.2",
|
||||||
"fumadocs-docgen": "^1.3.1",
|
"fumadocs-docgen": "^1.3.2",
|
||||||
"fumadocs-mdx": "^11.1.1",
|
"fumadocs-mdx": "^11.1.1",
|
||||||
"fumadocs-openapi": "^5.5.6",
|
"fumadocs-openapi": "^5.7.0",
|
||||||
"fumadocs-twoslash": "^2.0.1",
|
"fumadocs-twoslash": "^2.0.1",
|
||||||
"fumadocs-typescript": "^3.0.1",
|
"fumadocs-typescript": "^3.0.2",
|
||||||
"fumadocs-ui": "14.2.0",
|
"fumadocs-ui": "14.4.2",
|
||||||
"hast-util-to-jsx-runtime": "^2.3.2",
|
"hast-util-to-jsx-runtime": "^2.3.2",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"lucide-react": "^0.454.0",
|
"lucide-react": "^0.460.0",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"next-themes": "^0.3.0",
|
"next-themes": "^0.4.3",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-icons": "^5.3.0",
|
"react-icons": "^5.3.0",
|
||||||
@@ -54,19 +54,19 @@
|
|||||||
"rehype-katex": "^7.0.1",
|
"rehype-katex": "^7.0.1",
|
||||||
"remark-math": "^6.0.0",
|
"remark-math": "^6.0.0",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"shiki": "^1.22.2",
|
"shiki": "^1.23.1",
|
||||||
"shiki-magic-move": "^0.5.0",
|
"shiki-magic-move": "^0.5.0",
|
||||||
"swr": "^2.2.5",
|
"swr": "^2.2.5",
|
||||||
"tailwind-merge": "^2.5.2",
|
"tailwind-merge": "^2.5.2",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"tree-sitter": "^0.22.0",
|
"tree-sitter": "^0.22.1",
|
||||||
"tree-sitter-typescript": "^0.23.0",
|
"tree-sitter-typescript": "^0.23.2",
|
||||||
"use-stick-to-bottom": "^1.0.41",
|
"use-stick-to-bottom": "^1.0.42",
|
||||||
"web-tree-sitter": "^0.24.3",
|
"web-tree-sitter": "^0.24.4",
|
||||||
"zod": "^3.23.8"
|
"zod": "^3.23.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@next/env": "^15.0.2",
|
"@next/env": "^15.0.3",
|
||||||
"@types/mdx": "^2.0.13",
|
"@types/mdx": "^2.0.13",
|
||||||
"@types/node": "22.9.0",
|
"@types/node": "22.9.0",
|
||||||
"@types/react": "^18.3.12",
|
"@types/react": "^18.3.12",
|
||||||
@@ -75,12 +75,12 @@
|
|||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"gray-matter": "^4.0.3",
|
"gray-matter": "^4.0.3",
|
||||||
"monaco-editor-webpack-plugin": "^7.1.0",
|
"monaco-editor-webpack-plugin": "^7.1.0",
|
||||||
"postcss": "^8.4.47",
|
"postcss": "^8.4.49",
|
||||||
"remark": "^15.0.1",
|
"remark": "^15.0.1",
|
||||||
"remark-gfm": "^4.0.0",
|
"remark-gfm": "^4.0.0",
|
||||||
"remark-mdx": "^3.1.0",
|
"remark-mdx": "^3.1.0",
|
||||||
"remark-stringify": "^11.0.0",
|
"remark-stringify": "^11.0.0",
|
||||||
"tailwindcss": "^3.4.14",
|
"tailwindcss": "^3.4.15",
|
||||||
"tsx": "^4.19.2",
|
"tsx": "^4.19.2",
|
||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 6.3 KiB |
@@ -1,7 +1,10 @@
|
|||||||
|
import { MockLLM } from "@llamaindex/core/utils";
|
||||||
import { LlamaIndexAdapter, type Message } from "ai";
|
import { LlamaIndexAdapter, type Message } from "ai";
|
||||||
import { SimpleChatEngine, type ChatMessage } from "llamaindex";
|
import { Settings, SimpleChatEngine, type ChatMessage } from "llamaindex";
|
||||||
import { NextResponse, type NextRequest } from "next/server";
|
import { NextResponse, type NextRequest } from "next/server";
|
||||||
|
|
||||||
|
Settings.llm = new MockLLM(); // config your LLM here
|
||||||
|
|
||||||
export async function POST(request: NextRequest) {
|
export async function POST(request: NextRequest) {
|
||||||
try {
|
try {
|
||||||
const { messages } = (await request.json()) as { messages: Message[] };
|
const { messages } = (await request.json()) as { messages: Message[] };
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
"use client";
|
|
||||||
import { ChatSection } from "@llamaindex/chat-ui";
|
|
||||||
import { useChat } from "ai/react";
|
|
||||||
|
|
||||||
export const ChatDemo = () => {
|
|
||||||
const handler = useChat();
|
|
||||||
return <ChatSection handler={handler} />;
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
"use client";
|
||||||
|
import { ChatInput, ChatMessages, ChatSection } from "@llamaindex/chat-ui";
|
||||||
|
import { useChat } from "ai/react";
|
||||||
|
|
||||||
|
export const ChatDemo = () => {
|
||||||
|
const handler = useChat();
|
||||||
|
return (
|
||||||
|
<ChatSection handler={handler}>
|
||||||
|
<ChatMessages>
|
||||||
|
<ChatMessages.List className="h-auto max-h-[400px]" />
|
||||||
|
<ChatMessages.Actions />
|
||||||
|
</ChatMessages>
|
||||||
|
<ChatInput />
|
||||||
|
</ChatSection>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
import { Markdown } from "@llamaindex/chat-ui/widgets";
|
||||||
|
import { MockLLM } from "@llamaindex/core/utils";
|
||||||
|
import { generateId, Message } from "ai";
|
||||||
|
import { createAI, createStreamableUI, getMutableAIState } from "ai/rsc";
|
||||||
|
import { type ChatMessage, Settings, SimpleChatEngine } from "llamaindex";
|
||||||
|
import { ReactNode } from "react";
|
||||||
|
|
||||||
|
type ServerState = Message[];
|
||||||
|
type FrontendState = Array<Message & { display: ReactNode }>;
|
||||||
|
type Actions = {
|
||||||
|
chat: (message: Message) => Promise<Message & { display: ReactNode }>;
|
||||||
|
};
|
||||||
|
|
||||||
|
Settings.llm = new MockLLM(); // config your LLM here
|
||||||
|
|
||||||
|
export const AI = createAI<ServerState, FrontendState, Actions>({
|
||||||
|
initialAIState: [],
|
||||||
|
initialUIState: [],
|
||||||
|
actions: {
|
||||||
|
chat: async (message: Message) => {
|
||||||
|
"use server";
|
||||||
|
|
||||||
|
const aiState = getMutableAIState<typeof AI>();
|
||||||
|
aiState.update((prev) => [...prev, message]);
|
||||||
|
|
||||||
|
const uiStream = createStreamableUI();
|
||||||
|
const chatEngine = new SimpleChatEngine();
|
||||||
|
const assistantMessage: Message = {
|
||||||
|
id: generateId(),
|
||||||
|
role: "assistant",
|
||||||
|
content: "",
|
||||||
|
};
|
||||||
|
|
||||||
|
// run the async function without blocking
|
||||||
|
(async () => {
|
||||||
|
const chatResponse = await chatEngine.chat({
|
||||||
|
stream: true,
|
||||||
|
message: message.content,
|
||||||
|
chatHistory: aiState.get() as ChatMessage[],
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const chunk of chatResponse) {
|
||||||
|
assistantMessage.content += chunk.delta;
|
||||||
|
uiStream.update(<Markdown content={assistantMessage.content} />);
|
||||||
|
}
|
||||||
|
|
||||||
|
aiState.done([...aiState.get(), assistantMessage]);
|
||||||
|
uiStream.done();
|
||||||
|
})();
|
||||||
|
|
||||||
|
return {
|
||||||
|
...assistantMessage,
|
||||||
|
display: uiStream.value,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import {
|
||||||
|
ChatInput,
|
||||||
|
ChatMessage,
|
||||||
|
ChatMessages,
|
||||||
|
ChatSection as ChatSectionUI,
|
||||||
|
} from "@llamaindex/chat-ui";
|
||||||
|
import { useChatRSC } from "./use-chat-rsc";
|
||||||
|
|
||||||
|
export const ChatSectionRSC = () => {
|
||||||
|
const handler = useChatRSC();
|
||||||
|
return (
|
||||||
|
<ChatSectionUI handler={handler}>
|
||||||
|
<ChatMessages>
|
||||||
|
<ChatMessages.List className="h-auto max-h-[400px]">
|
||||||
|
{handler.messages.map((message, index) => (
|
||||||
|
<ChatMessage
|
||||||
|
key={index}
|
||||||
|
message={message}
|
||||||
|
isLast={index === handler.messages.length - 1}
|
||||||
|
>
|
||||||
|
<ChatMessage.Avatar />
|
||||||
|
<ChatMessage.Content>{message.display}</ChatMessage.Content>
|
||||||
|
</ChatMessage>
|
||||||
|
))}
|
||||||
|
<ChatMessages.Loading />
|
||||||
|
</ChatMessages.List>
|
||||||
|
</ChatMessages>
|
||||||
|
<ChatInput />
|
||||||
|
</ChatSectionUI>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import { AI } from "./ai-action";
|
||||||
|
import { ChatSectionRSC } from "./chat-section";
|
||||||
|
|
||||||
|
export const ChatDemoRSC = () => (
|
||||||
|
<AI>
|
||||||
|
<ChatSectionRSC />
|
||||||
|
</AI>
|
||||||
|
);
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { useActions } from "ai/rsc";
|
||||||
|
|
||||||
|
import { generateId, Message } from "ai";
|
||||||
|
import { useUIState } from "ai/rsc";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { AI } from "./ai-action";
|
||||||
|
|
||||||
|
export function useChatRSC() {
|
||||||
|
const [input, setInput] = useState<string>("");
|
||||||
|
const [isLoading, setIsLoading] = useState<boolean>(false);
|
||||||
|
const [messages, setMessages] = useUIState<typeof AI>();
|
||||||
|
const { chat } = useActions<typeof AI>();
|
||||||
|
|
||||||
|
const append = async (message: Omit<Message, "id">) => {
|
||||||
|
const newMsg: Message = { ...message, id: generateId() };
|
||||||
|
|
||||||
|
setIsLoading(true);
|
||||||
|
try {
|
||||||
|
setMessages((prev) => [...prev, { ...newMsg, display: message.content }]);
|
||||||
|
const assistantMsg = await chat(newMsg);
|
||||||
|
setMessages((prev) => [...prev, assistantMsg]);
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
setIsLoading(false);
|
||||||
|
setInput("");
|
||||||
|
|
||||||
|
return message.content;
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
input,
|
||||||
|
setInput,
|
||||||
|
isLoading,
|
||||||
|
messages,
|
||||||
|
setMessages,
|
||||||
|
append,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -85,6 +85,33 @@ const Footer = () => {
|
|||||||
<Text as="span">SharePoint</Text>
|
<Text as="span">SharePoint</Text>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://llamaindex.ai/llamacloud-aws-s3-data-loading-for-generative-ai"
|
||||||
|
data-tracking-variant="link"
|
||||||
|
data-tracking-section="footer"
|
||||||
|
>
|
||||||
|
<Text as="span">AWS S3</Text>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://llamaindex.ai/llamacloud-azure-blob-storage-data-loading-for-generative-ai"
|
||||||
|
data-tracking-variant="link"
|
||||||
|
data-tracking-section="footer"
|
||||||
|
>
|
||||||
|
<Text as="span">Azure Blob Storage</Text>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://llamaindex.ai/llamacloud-google-drive-data-loading-for-generative-ai"
|
||||||
|
data-tracking-variant="link"
|
||||||
|
data-tracking-section="footer"
|
||||||
|
>
|
||||||
|
<Text as="span">Google Drive</Text>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@@ -171,11 +198,6 @@ const Footer = () => {
|
|||||||
<Text as="span">SEC Insights</Text>
|
<Text as="span">SEC Insights</Text>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a href="https://chat.llamaindex.ai/">
|
|
||||||
<Text as="span">Chat LlamaIndex</Text>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/run-llama/llamabot">
|
<a href="https://github.com/run-llama/llamabot">
|
||||||
<Text as="span">LlamaBot</Text>
|
<Text as="span">LlamaBot</Text>
|
||||||
|
|||||||
+5
-4
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: Chat-UI
|
title: Using API Route
|
||||||
description: Use chat-ui to add a chat interface to your LlamaIndexTS application.
|
description: Chat interface for your LlamaIndexTS application using API Route
|
||||||
---
|
---
|
||||||
import { ChatDemo } from '../../../../components/demo/chat';
|
import { ChatDemo } from '../../../../../components/demo/chat/api/demo';
|
||||||
import "@llamaindex/chat-ui/styles/code.css";
|
import "@llamaindex/chat-ui/styles/code.css";
|
||||||
import "@llamaindex/chat-ui/styles/katex.css";
|
import "@llamaindex/chat-ui/styles/katex.css";
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ This is the simplest way to add a chat interface to your application. Copy the f
|
|||||||
|
|
||||||
```json doc-gen:file
|
```json doc-gen:file
|
||||||
{
|
{
|
||||||
"file": "./src/components/demo/chat.tsx",
|
"file": "./src/components/demo/chat/api/demo.tsx",
|
||||||
"codeblock": true
|
"codeblock": true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -37,6 +37,7 @@ Combining both, you're getting a fully functional chat interface:
|
|||||||
|
|
||||||
<ChatDemo />
|
<ChatDemo />
|
||||||
|
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
The steps above are the bare minimum to get a chat interface working. From here, you can go two ways:
|
The steps above are the bare minimum to get a chat interface working. From here, you can go two ways:
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"title": "Chat-UI",
|
||||||
|
"description": "Use chat-ui to add a chat interface to your LlamaIndexTS application.",
|
||||||
|
"defaultOpen": false,
|
||||||
|
"pages": ["chat", "rsc"]
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
---
|
||||||
|
title: Using Next.js RSC
|
||||||
|
description: Chat interface for your LlamaIndexTS application using Next.js RSC
|
||||||
|
---
|
||||||
|
import { ChatDemoRSC } from '../../../../../components/demo/chat/rsc/demo';
|
||||||
|
import "@llamaindex/chat-ui/styles/code.css";
|
||||||
|
import "@llamaindex/chat-ui/styles/katex.css";
|
||||||
|
|
||||||
|
Using [chat-ui](https://github.com/run-llama/chat-ui), it's easy to add a chat interface to your LlamaIndexTS application using [Next.js RSC](https://nextjs.org/docs/app/building-your-application/rendering/server-components) and [Vercel AI RSC](https://sdk.vercel.ai/docs/ai-sdk-rsc/overview).
|
||||||
|
|
||||||
|
With RSC, the chat messages are not returned as JSON from the server (like when using an [API route](./chat)), instead the chat message components are rendered on the server side.
|
||||||
|
This is for example useful for rendering a whole chat history on the server before sending it to the client. [Check here](https://sdk.vercel.ai/docs/getting-started/navigating-the-library#when-to-use-ai-sdk-rsc), for a discussion of when to use use RSC.
|
||||||
|
|
||||||
|
For implementing a chat interface with RSC, you need to create an AI action and then connect the chat interface to use it.
|
||||||
|
|
||||||
|
## Create an AI action
|
||||||
|
|
||||||
|
First, define an [AI context provider](https://sdk.vercel.ai/examples/rsc/state-management/ai-ui-states) with a chat server action:
|
||||||
|
|
||||||
|
```json doc-gen:file
|
||||||
|
{
|
||||||
|
"file": "./src/components/demo/chat/rsc/ai-action.tsx",
|
||||||
|
"codeblock": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The chat server action is using LlamaIndexTS to generate a response based on the chat history and the user input.
|
||||||
|
|
||||||
|
## Create the chat UI
|
||||||
|
|
||||||
|
The entrypoint of our application initializes the AI provider for the application and adds a `ChatSection` component:
|
||||||
|
|
||||||
|
```json doc-gen:file
|
||||||
|
{
|
||||||
|
"file": "./src/components/demo/chat/rsc/demo.tsx",
|
||||||
|
"codeblock": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The `ChatSection` component is created by using chat components from @llamaindex/chat-ui:
|
||||||
|
|
||||||
|
```json doc-gen:file
|
||||||
|
{
|
||||||
|
"file": "./src/components/demo/chat/rsc/chat-section.tsx",
|
||||||
|
"codeblock": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
It is using a `useChatRSC` hook to conntect the chat interface to the `chat` AI action that we defined earlier:
|
||||||
|
|
||||||
|
```json doc-gen:file
|
||||||
|
{
|
||||||
|
"file": "./src/components/demo/chat/rsc/use-chat-rsc.tsx",
|
||||||
|
"codeblock": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Try RSC Chat ⬇️
|
||||||
|
|
||||||
|
<ChatDemoRSC />
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
The steps above are the bare minimum to get a chat interface working with RSC. From here, you can go two ways:
|
||||||
|
|
||||||
|
1. Use our [full-stack RSC example](https://github.com/run-llama/nextjs-rsc) based on [create-llama](https://github.com/run-llama/create-llama) to get started quickly with a fully working chat interface or
|
||||||
|
2. Learn more about [AI RSC](https://sdk.vercel.ai/examples/rsc), [chat-ui](https://github.com/run-llama/chat-ui) and [LlamaIndexTS](https://github.com/run-llama/llamaindex-ts) to customize the chat interface and AI actions to your needs.
|
||||||
|
|
||||||
@@ -1,5 +1,58 @@
|
|||||||
# @llamaindex/cloudflare-worker-agent-test
|
# @llamaindex/cloudflare-worker-agent-test
|
||||||
|
|
||||||
|
## 0.0.115
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.114
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.0.113
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.0.112
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.111
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.110
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.109
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.0.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.107
|
## 0.0.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||||
"version": "0.0.107",
|
"version": "0.0.115",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -12,13 +12,13 @@
|
|||||||
"cf-typegen": "wrangler types"
|
"cf-typegen": "wrangler types"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cloudflare/vitest-pool-workers": "^0.5.8",
|
"@cloudflare/vitest-pool-workers": "^0.5.28",
|
||||||
"@cloudflare/workers-types": "^4.20240924.0",
|
"@cloudflare/workers-types": "^4.20241112.0",
|
||||||
"@vitest/runner": "2.1.4",
|
"@vitest/runner": "2.1.5",
|
||||||
"@vitest/snapshot": "2.1.4",
|
"@vitest/snapshot": "2.1.5",
|
||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"vitest": "2.1.4",
|
"vitest": "2.1.5",
|
||||||
"wrangler": "^3.78.8"
|
"wrangler": "^3.87.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"llamaindex": "workspace:*"
|
"llamaindex": "workspace:*"
|
||||||
|
|||||||
@@ -1,5 +1,36 @@
|
|||||||
# @llamaindex/llama-parse-browser-test
|
# @llamaindex/llama-parse-browser-test
|
||||||
|
|
||||||
|
## 0.0.33
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/cloud@2.0.13
|
||||||
|
|
||||||
|
## 0.0.32
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.12
|
||||||
|
|
||||||
|
## 0.0.31
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.11
|
||||||
|
|
||||||
|
## 0.0.30
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.10
|
||||||
|
|
||||||
|
## 0.0.29
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
|
||||||
## 0.0.28
|
## 0.0.28
|
||||||
|
|
||||||
### 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.28",
|
"version": "0.0.33",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"vite": "^5.4.1",
|
"vite": "^5.4.11",
|
||||||
"vite-plugin-wasm": "^3.3.0"
|
"vite-plugin-wasm": "^3.3.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,5 +1,58 @@
|
|||||||
# @llamaindex/next-agent-test
|
# @llamaindex/next-agent-test
|
||||||
|
|
||||||
|
## 0.1.115
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.1.114
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.1.113
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.1.112
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.1.111
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.1.110
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.1.109
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.1.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.1.107
|
## 0.1.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-agent-test",
|
"name": "@llamaindex/next-agent-test",
|
||||||
"version": "0.1.107",
|
"version": "0.1.115",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
@@ -8,9 +8,9 @@
|
|||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ai": "^3.3.21",
|
"ai": "^4.0.0",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"react": "18.3.1",
|
"react": "18.3.1",
|
||||||
"react-dom": "18.3.1"
|
"react-dom": "18.3.1"
|
||||||
},
|
},
|
||||||
@@ -18,10 +18,10 @@
|
|||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"@types/react": "^18.3.12",
|
"@types/react": "^18.3.12",
|
||||||
"@types/react-dom": "^18.3.1",
|
"@types/react-dom": "^18.3.1",
|
||||||
"eslint": "9.14.0",
|
"eslint": "9.15.0",
|
||||||
"eslint-config-next": "15.0.2",
|
"eslint-config-next": "15.0.3",
|
||||||
"postcss": "^8.4.41",
|
"postcss": "^8.4.49",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.15",
|
||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,58 @@
|
|||||||
# test-edge-runtime
|
# test-edge-runtime
|
||||||
|
|
||||||
|
## 0.1.114
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.1.113
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.1.112
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.1.111
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.1.110
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.1.109
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.1.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.1.107
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.1.106
|
## 0.1.106
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||||
"version": "0.1.106",
|
"version": "0.1.114",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1"
|
"react-dom": "^18.3.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,5 +1,58 @@
|
|||||||
# @llamaindex/next-node-runtime
|
# @llamaindex/next-node-runtime
|
||||||
|
|
||||||
|
## 0.0.96
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.95
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.0.94
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.0.93
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.92
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.91
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.90
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.0.89
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.88
|
## 0.0.88
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-node-runtime-test",
|
"name": "@llamaindex/next-node-runtime-test",
|
||||||
"version": "0.0.88",
|
"version": "0.0.96",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"react": "18.3.1",
|
"react": "18.3.1",
|
||||||
"react-dom": "18.3.1"
|
"react-dom": "18.3.1"
|
||||||
},
|
},
|
||||||
@@ -17,10 +17,10 @@
|
|||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"@types/react": "^18.3.12",
|
"@types/react": "^18.3.12",
|
||||||
"@types/react-dom": "^18.3.1",
|
"@types/react-dom": "^18.3.1",
|
||||||
"eslint": "9.14.0",
|
"eslint": "9.15.0",
|
||||||
"eslint-config-next": "15.0.2",
|
"eslint-config-next": "15.0.3",
|
||||||
"postcss": "^8.4.41",
|
"postcss": "^8.4.49",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.15",
|
||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,58 @@
|
|||||||
# @llamaindex/waku-query-engine-test
|
# @llamaindex/waku-query-engine-test
|
||||||
|
|
||||||
|
## 0.0.115
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.114
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.0.113
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.0.112
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.111
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.110
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.109
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.0.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.107
|
## 0.0.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/waku-query-engine-test",
|
"name": "@llamaindex/waku-query-engine-test",
|
||||||
"version": "0.0.107",
|
"version": "0.0.115",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -10,16 +10,16 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"react": "19.0.0-rc-bf7e210c-20241017",
|
"react": "19.0.0-rc-5c56b873-20241107",
|
||||||
"react-dom": "19.0.0-rc-bf7e210c-20241017",
|
"react-dom": "19.0.0-rc-5c56b873-20241107",
|
||||||
"react-server-dom-webpack": "19.0.0-rc-bf7e210c-20241017",
|
"react-server-dom-webpack": "19.0.0-rc-5c56b873-20241107",
|
||||||
"waku": "0.21.4"
|
"waku": "0.21.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "18.3.12",
|
"@types/react": "18.3.12",
|
||||||
"@types/react-dom": "18.3.1",
|
"@types/react-dom": "18.3.1",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"tailwindcss": "^3.4.14",
|
"tailwindcss": "^3.4.15",
|
||||||
"typescript": "5.6.3"
|
"typescript": "5.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
# examples
|
# examples
|
||||||
|
|
||||||
|
## 0.0.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [ee20c44]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/workflow@0.0.6
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
- @llamaindex/readers@1.0.11
|
||||||
|
|
||||||
|
## 0.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ea92b69]
|
||||||
|
- Updated dependencies [fadc8b8]
|
||||||
|
- @llamaindex/workflow@0.0.5
|
||||||
|
|
||||||
## 0.0.14
|
## 0.0.14
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
import { Anthropic } from "llamaindex";
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const anthropic = new Anthropic({
|
||||||
|
model: "claude-3-5-sonnet-20241022",
|
||||||
|
});
|
||||||
|
|
||||||
|
const entireBook = await fetch(
|
||||||
|
"https://www.gutenberg.org/files/1342/1342-0.txt",
|
||||||
|
).then((response) => response.text());
|
||||||
|
|
||||||
|
const response = await anthropic.chat({
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content:
|
||||||
|
"You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n",
|
||||||
|
role: "system",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: entireBook,
|
||||||
|
role: "system",
|
||||||
|
options: {
|
||||||
|
cache_control: {
|
||||||
|
type: "ephemeral",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: "analyze the major themes in Pride and Prejudice.",
|
||||||
|
role: "user",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(response.message.content);
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch(console.error);
|
||||||
@@ -83,14 +83,6 @@ async function query() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// configure the Azure CosmosDB NoSQL Vector Store
|
|
||||||
const dbConfig: AzureCosmosDBNoSQLConfig = {
|
|
||||||
client: cosmosClient,
|
|
||||||
databaseName,
|
|
||||||
containerName,
|
|
||||||
flatMetadata: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
// use Azure CosmosDB as a vectorStore, docStore, and indexStore
|
// use Azure CosmosDB as a vectorStore, docStore, and indexStore
|
||||||
const { vectorStore, docStore, indexStore } = await initializeStores();
|
const { vectorStore, docStore, indexStore } = await initializeStores();
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/examples",
|
"name": "@llamaindex/examples",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.14",
|
"version": "0.0.16",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@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.7",
|
"@llamaindex/core": "^0.4.10",
|
||||||
"@llamaindex/readers": "^1.0.8",
|
"@llamaindex/readers": "^1.0.11",
|
||||||
"@llamaindex/workflow": "^0.0.4",
|
"@llamaindex/workflow": "^0.0.6",
|
||||||
"@notionhq/client": "^2.2.15",
|
"@notionhq/client": "^2.2.15",
|
||||||
"@pinecone-database/pinecone": "^3.0.2",
|
"@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",
|
||||||
"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.10",
|
"llamaindex": "^0.8.13",
|
||||||
"mongodb": "^6.7.0",
|
"mongodb": "^6.7.0",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"postgres": "^3.4.4"
|
"postgres": "^3.4.4"
|
||||||
|
|||||||
+6
-6
@@ -19,20 +19,20 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@changesets/cli": "^2.27.5",
|
"@changesets/cli": "^2.27.5",
|
||||||
"eslint": "9.14.0",
|
"eslint": "9.15.0",
|
||||||
"eslint-config-next": "^15.0.2",
|
"eslint-config-next": "^15.0.3",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-config-turbo": "^2.2.3",
|
"eslint-config-turbo": "^2.3.0",
|
||||||
"eslint-plugin-react": "7.37.2",
|
"eslint-plugin-react": "7.37.2",
|
||||||
"globals": "^15.12.0",
|
"globals": "^15.12.0",
|
||||||
"husky": "^9.1.6",
|
"husky": "^9.1.7",
|
||||||
"lint-staged": "^15.2.10",
|
"lint-staged": "^15.2.10",
|
||||||
"madge": "^8.0.0",
|
"madge": "^8.0.0",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"prettier-plugin-organize-imports": "^4.1.0",
|
"prettier-plugin-organize-imports": "^4.1.0",
|
||||||
"turbo": "^2.2.3",
|
"turbo": "^2.3.0",
|
||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"typescript-eslint": "^8.13.0"
|
"typescript-eslint": "^8.15.0"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@9.12.3",
|
"packageManager": "pnpm@9.12.3",
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
|
|||||||
@@ -1,5 +1,59 @@
|
|||||||
# @llamaindex/autotool
|
# @llamaindex/autotool
|
||||||
|
|
||||||
|
## 5.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 5.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 5.0.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 5.0.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 5.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 5.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 5.0.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 5.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 5.0.11
|
## 5.0.11
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,5 +1,66 @@
|
|||||||
# @llamaindex/autotool-01-node-example
|
# @llamaindex/autotool-01-node-example
|
||||||
|
|
||||||
|
## 0.0.62
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/autotool@5.0.19
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.61
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
- @llamaindex/autotool@5.0.18
|
||||||
|
|
||||||
|
## 0.0.60
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
- @llamaindex/autotool@5.0.17
|
||||||
|
|
||||||
|
## 0.0.59
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
- @llamaindex/autotool@5.0.16
|
||||||
|
|
||||||
|
## 0.0.58
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
- @llamaindex/autotool@5.0.15
|
||||||
|
|
||||||
|
## 0.0.57
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
- @llamaindex/autotool@5.0.14
|
||||||
|
|
||||||
|
## 0.0.56
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
- @llamaindex/autotool@5.0.13
|
||||||
|
|
||||||
|
## 0.0.55
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/autotool@5.0.12
|
||||||
|
|
||||||
## 0.0.54
|
## 0.0.54
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/autotool": "workspace:*",
|
"@llamaindex/autotool": "workspace:*",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"openai": "^4.57.0"
|
"openai": "^4.72.0"
|
||||||
},
|
},
|
||||||
"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.54"
|
"version": "0.0.62"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,66 @@
|
|||||||
# @llamaindex/autotool-02-next-example
|
# @llamaindex/autotool-02-next-example
|
||||||
|
|
||||||
|
## 0.1.106
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/autotool@5.0.19
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.1.105
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
- @llamaindex/autotool@5.0.18
|
||||||
|
|
||||||
|
## 0.1.104
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
- @llamaindex/autotool@5.0.17
|
||||||
|
|
||||||
|
## 0.1.103
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
- @llamaindex/autotool@5.0.16
|
||||||
|
|
||||||
|
## 0.1.102
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
- @llamaindex/autotool@5.0.15
|
||||||
|
|
||||||
|
## 0.1.101
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
- @llamaindex/autotool@5.0.14
|
||||||
|
|
||||||
|
## 0.1.100
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
- @llamaindex/autotool@5.0.13
|
||||||
|
|
||||||
|
## 0.1.99
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/autotool@5.0.12
|
||||||
|
|
||||||
## 0.1.98
|
## 0.1.98
|
||||||
|
|
||||||
### 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.98",
|
"version": "0.1.106",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
@@ -10,17 +10,17 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/autotool": "workspace:*",
|
"@llamaindex/autotool": "workspace:*",
|
||||||
"@radix-ui/react-slot": "^1.1.0",
|
"@radix-ui/react-slot": "^1.1.0",
|
||||||
"ai": "^3.3.21",
|
"ai": "^4.0.0",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"dotenv": "^16.3.1",
|
"dotenv": "^16.3.1",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"lucide-react": "^0.436.0",
|
"lucide-react": "^0.460.0",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-markdown": "^9.0.1",
|
"react-markdown": "^9.0.1",
|
||||||
"react-syntax-highlighter": "^15.5.0",
|
"react-syntax-highlighter": "^15.5.0",
|
||||||
"sonner": "^1.5.0",
|
"sonner": "^1.7.0",
|
||||||
"tailwind-merge": "^2.5.2"
|
"tailwind-merge": "^2.5.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -30,8 +30,8 @@
|
|||||||
"@types/react-syntax-highlighter": "^15.5.11",
|
"@types/react-syntax-highlighter": "^15.5.11",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"postcss": "^8.4.41",
|
"postcss": "^8.4.49",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.15",
|
||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/autotool",
|
"name": "@llamaindex/autotool",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "5.0.11",
|
"version": "5.0.19",
|
||||||
"description": "auto transpile your JS function to LLM Agent compatible",
|
"description": "auto transpile your JS function to LLM Agent compatible",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -45,10 +45,10 @@
|
|||||||
"dev": "bunchee --watch"
|
"dev": "bunchee --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@swc/core": "^1.7.22",
|
"@swc/core": "^1.9.2",
|
||||||
"jotai": "2.8.4",
|
"jotai": "2.10.2",
|
||||||
"typedoc": "^0.26.11",
|
"typedoc": "^0.26.11",
|
||||||
"unplugin": "^1.12.2"
|
"unplugin": "^1.16.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
@@ -72,11 +72,11 @@
|
|||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"bunchee": "5.6.1",
|
"bunchee": "5.6.1",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"next": "15.0.2",
|
"next": "15.0.3",
|
||||||
"rollup": "^4.24.4",
|
"rollup": "^4.27.3",
|
||||||
"tsx": "^4.19.0",
|
"tsx": "^4.19.0",
|
||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"vitest": "^2.1.4",
|
"vitest": "^2.1.5",
|
||||||
"webpack": "^5.94.0"
|
"webpack": "^5.94.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export type InfoString = {
|
|||||||
parameterMapping: Record<string, number>;
|
parameterMapping: Record<string, number>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const store = createStore();
|
export const store: ReturnType<typeof createStore> = createStore();
|
||||||
export const toolMetadataAtom = atom<[ToolMetadata, Info][]>([]);
|
export const toolMetadataAtom = atom<[ToolMetadata, Info][]>([]);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export const toolsAtom = atom<Record<string, (...args: any[]) => any>>({});
|
export const toolsAtom = atom<Record<string, (...args: any[]) => any>>({});
|
||||||
|
|||||||
@@ -1,5 +1,43 @@
|
|||||||
# @llamaindex/cloud
|
# @llamaindex/cloud
|
||||||
|
|
||||||
|
## 2.0.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 2.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 2.0.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 2.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 2.0.9
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 2.0.8
|
## 2.0.8
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloud",
|
"name": "@llamaindex/cloud",
|
||||||
"version": "2.0.8",
|
"version": "2.0.13",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
"directory": "packages/cloud"
|
"directory": "packages/cloud"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hey-api/client-fetch": "^0.4.2",
|
"@hey-api/client-fetch": "^0.4.4",
|
||||||
"@hey-api/openapi-ts": "^0.54.3",
|
"@hey-api/openapi-ts": "^0.56.0",
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"bunchee": "5.6.1"
|
"bunchee": "5.6.1"
|
||||||
|
|||||||
@@ -1,5 +1,43 @@
|
|||||||
# @llamaindex/community
|
# @llamaindex/community
|
||||||
|
|
||||||
|
## 0.0.71
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.70
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.69
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.68
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.67
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.66
|
## 0.0.66
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/community",
|
"name": "@llamaindex/community",
|
||||||
"description": "Community package for LlamaIndexTS",
|
"description": "Community package for LlamaIndexTS",
|
||||||
"version": "0.0.66",
|
"version": "0.0.71",
|
||||||
"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.642.0",
|
"@aws-sdk/client-bedrock-agent-runtime": "^3.693.0",
|
||||||
"@aws-sdk/client-bedrock-runtime": "^3.642.0",
|
"@aws-sdk/client-bedrock-runtime": "^3.693.0",
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*"
|
"@llamaindex/env": "workspace:*"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# @llamaindex/core
|
# @llamaindex/core
|
||||||
|
|
||||||
|
## 0.4.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.4.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- ef4f63d: refactor: move mockLLM to core
|
||||||
|
|
||||||
|
## 0.4.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 6d22fa2: Get PromptTemplate template variables at run-time
|
||||||
|
|
||||||
|
## 0.4.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- a7b0ac3: fix: update tool call llm type
|
||||||
|
- c69605f: feat: add async support to BaseChatStore and BaseChatStoreMemory
|
||||||
|
|
||||||
|
## 0.4.9
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 7ae6eaa: feat: allow pass `additionalChatOptions` to agent
|
||||||
|
|
||||||
## 0.4.8
|
## 0.4.8
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/core",
|
"name": "@llamaindex/core",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.4.8",
|
"version": "0.4.13",
|
||||||
"description": "LlamaIndex Core Module",
|
"description": "LlamaIndex Core Module",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./agent": {
|
"./agent": {
|
||||||
@@ -389,10 +389,10 @@
|
|||||||
"url": "https://github.com/run-llama/LlamaIndexTS.git"
|
"url": "https://github.com/run-llama/LlamaIndexTS.git"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@edge-runtime/vm": "^4.0.3",
|
"@edge-runtime/vm": "^4.0.4",
|
||||||
"ajv": "^8.17.1",
|
"ajv": "^8.17.1",
|
||||||
"bunchee": "5.6.1",
|
"bunchee": "5.6.1",
|
||||||
"happy-dom": "^15.11.0",
|
"happy-dom": "^15.11.6",
|
||||||
"natural": "^8.0.1"
|
"natural": "^8.0.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -106,11 +106,17 @@ export type AgentRunnerParams<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
llm: AI;
|
llm: AI;
|
||||||
chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
||||||
systemPrompt: MessageContent | null;
|
systemPrompt: MessageContent | null;
|
||||||
runner: AgentWorker<AI, Store, AdditionalMessageOptions>;
|
runner: AgentWorker<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
tools:
|
tools:
|
||||||
| BaseToolWithCall[]
|
| BaseToolWithCall[]
|
||||||
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
||||||
@@ -125,6 +131,7 @@ export type AgentParamsBase<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> =
|
> =
|
||||||
| {
|
| {
|
||||||
llm?: AI;
|
llm?: AI;
|
||||||
@@ -132,6 +139,7 @@ export type AgentParamsBase<
|
|||||||
systemPrompt?: MessageContent;
|
systemPrompt?: MessageContent;
|
||||||
verbose?: boolean;
|
verbose?: boolean;
|
||||||
tools: BaseToolWithCall[];
|
tools: BaseToolWithCall[];
|
||||||
|
additionalChatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
llm?: AI;
|
llm?: AI;
|
||||||
@@ -139,6 +147,7 @@ export type AgentParamsBase<
|
|||||||
systemPrompt?: MessageContent;
|
systemPrompt?: MessageContent;
|
||||||
verbose?: boolean;
|
verbose?: boolean;
|
||||||
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
||||||
|
additionalChatOptions?: AdditionalChatOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -153,21 +162,36 @@ export abstract class AgentWorker<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> {
|
> {
|
||||||
#taskSet = new Set<TaskStep<AI, Store, AdditionalMessageOptions>>();
|
#taskSet = new Set<
|
||||||
abstract taskHandler: TaskHandler<AI, Store, AdditionalMessageOptions>;
|
TaskStep<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
>();
|
||||||
|
abstract taskHandler: TaskHandler<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
public createTask(
|
public createTask(
|
||||||
query: MessageContent,
|
query: MessageContent,
|
||||||
context: AgentTaskContext<AI, Store, AdditionalMessageOptions>,
|
context: AgentTaskContext<
|
||||||
): ReadableStream<TaskStepOutput<AI, Store, AdditionalMessageOptions>> {
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
|
): ReadableStream<
|
||||||
|
TaskStepOutput<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
> {
|
||||||
context.store.messages.push({
|
context.store.messages.push({
|
||||||
role: "user",
|
role: "user",
|
||||||
content: query,
|
content: query,
|
||||||
});
|
});
|
||||||
const taskOutputStream = createTaskOutputStream(this.taskHandler, context);
|
const taskOutputStream = createTaskOutputStream(this.taskHandler, context);
|
||||||
return new ReadableStream<
|
return new ReadableStream<
|
||||||
TaskStepOutput<AI, Store, AdditionalMessageOptions>
|
TaskStepOutput<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
>({
|
>({
|
||||||
start: async (controller) => {
|
start: async (controller) => {
|
||||||
for await (const stepOutput of taskOutputStream) {
|
for await (const stepOutput of taskOutputStream) {
|
||||||
@@ -176,7 +200,8 @@ export abstract class AgentWorker<
|
|||||||
let currentStep: TaskStep<
|
let currentStep: TaskStep<
|
||||||
AI,
|
AI,
|
||||||
Store,
|
Store,
|
||||||
AdditionalMessageOptions
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
> | null = stepOutput.taskStep;
|
> | null = stepOutput.taskStep;
|
||||||
while (currentStep) {
|
while (currentStep) {
|
||||||
this.#taskSet.delete(currentStep);
|
this.#taskSet.delete(currentStep);
|
||||||
@@ -227,6 +252,7 @@ export abstract class AgentRunner<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngine {
|
> extends BaseChatEngine {
|
||||||
readonly #llm: AI;
|
readonly #llm: AI;
|
||||||
readonly #tools:
|
readonly #tools:
|
||||||
@@ -234,7 +260,12 @@ export abstract class AgentRunner<
|
|||||||
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
||||||
readonly #systemPrompt: MessageContent | null = null;
|
readonly #systemPrompt: MessageContent | null = null;
|
||||||
#chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
#chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
||||||
readonly #runner: AgentWorker<AI, Store, AdditionalMessageOptions>;
|
readonly #runner: AgentWorker<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
readonly #verbose: boolean;
|
readonly #verbose: boolean;
|
||||||
|
|
||||||
// create extra store
|
// create extra store
|
||||||
@@ -245,7 +276,7 @@ export abstract class AgentRunner<
|
|||||||
}
|
}
|
||||||
|
|
||||||
static defaultTaskHandler: TaskHandler<LLM> = async (step, enqueueOutput) => {
|
static defaultTaskHandler: TaskHandler<LLM> = async (step, enqueueOutput) => {
|
||||||
const { llm, getTools, stream } = step.context;
|
const { llm, getTools, stream, additionalChatOptions } = step.context;
|
||||||
const lastMessage = step.context.store.messages.at(-1)!.content;
|
const lastMessage = step.context.store.messages.at(-1)!.content;
|
||||||
const tools = await getTools(lastMessage);
|
const tools = await getTools(lastMessage);
|
||||||
if (!stream) {
|
if (!stream) {
|
||||||
@@ -253,8 +284,9 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
tools,
|
tools,
|
||||||
messages: [...step.context.store.messages],
|
messages: [...step.context.store.messages],
|
||||||
|
additionalChatOptions,
|
||||||
});
|
});
|
||||||
await stepTools<LLM>({
|
await stepTools({
|
||||||
response,
|
response,
|
||||||
tools,
|
tools,
|
||||||
step,
|
step,
|
||||||
@@ -265,6 +297,7 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
tools,
|
tools,
|
||||||
messages: [...step.context.store.messages],
|
messages: [...step.context.store.messages],
|
||||||
|
additionalChatOptions,
|
||||||
});
|
});
|
||||||
await stepToolsStreaming<LLM>({
|
await stepToolsStreaming<LLM>({
|
||||||
response,
|
response,
|
||||||
@@ -276,7 +309,12 @@ export abstract class AgentRunner<
|
|||||||
};
|
};
|
||||||
|
|
||||||
protected constructor(
|
protected constructor(
|
||||||
params: AgentRunnerParams<AI, Store, AdditionalMessageOptions>,
|
params: AgentRunnerParams<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
const { llm, chatHistory, systemPrompt, runner, tools, verbose } = params;
|
const { llm, chatHistory, systemPrompt, runner, tools, verbose } = params;
|
||||||
@@ -330,6 +368,7 @@ export abstract class AgentRunner<
|
|||||||
stream: boolean = false,
|
stream: boolean = false,
|
||||||
verbose: boolean | undefined = undefined,
|
verbose: boolean | undefined = undefined,
|
||||||
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
||||||
|
additionalChatOptions?: AdditionalChatOptions,
|
||||||
) {
|
) {
|
||||||
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
||||||
if (this.#systemPrompt !== null) {
|
if (this.#systemPrompt !== null) {
|
||||||
@@ -348,6 +387,7 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
toolCallCount: 0,
|
toolCallCount: 0,
|
||||||
llm: this.#llm,
|
llm: this.#llm,
|
||||||
|
additionalChatOptions: additionalChatOptions ?? {},
|
||||||
getTools: (message) => this.getTools(message),
|
getTools: (message) => this.getTools(message),
|
||||||
store: {
|
store: {
|
||||||
...this.createStore(),
|
...this.createStore(),
|
||||||
@@ -365,13 +405,29 @@ export abstract class AgentRunner<
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async chat(params: NonStreamingChatEngineParams): Promise<EngineResponse>;
|
|
||||||
async chat(
|
async chat(
|
||||||
params: StreamingChatEngineParams,
|
params: NonStreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
|
): Promise<EngineResponse>;
|
||||||
|
async chat(
|
||||||
|
params: StreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
): Promise<ReadableStream<EngineResponse>>;
|
): Promise<ReadableStream<EngineResponse>>;
|
||||||
@wrapEventCaller
|
@wrapEventCaller
|
||||||
async chat(
|
async chat(
|
||||||
params: NonStreamingChatEngineParams | StreamingChatEngineParams,
|
params:
|
||||||
|
| NonStreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>
|
||||||
|
| StreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
): Promise<EngineResponse | ReadableStream<EngineResponse>> {
|
): Promise<EngineResponse | ReadableStream<EngineResponse>> {
|
||||||
let chatHistory: ChatMessage<AdditionalMessageOptions>[] = [];
|
let chatHistory: ChatMessage<AdditionalMessageOptions>[] = [];
|
||||||
|
|
||||||
@@ -388,6 +444,7 @@ export abstract class AgentRunner<
|
|||||||
!!params.stream,
|
!!params.stream,
|
||||||
false,
|
false,
|
||||||
chatHistory,
|
chatHistory,
|
||||||
|
params.chatOptions,
|
||||||
);
|
);
|
||||||
for await (const stepOutput of task) {
|
for await (const stepOutput of task) {
|
||||||
// update chat history for each round
|
// update chat history for each round
|
||||||
|
|||||||
@@ -4,24 +4,66 @@ import { ObjectRetriever } from "../objects";
|
|||||||
import { AgentRunner, AgentWorker, type AgentParamsBase } from "./base.js";
|
import { AgentRunner, AgentWorker, type AgentParamsBase } from "./base.js";
|
||||||
import { validateAgentParams } from "./utils.js";
|
import { validateAgentParams } from "./utils.js";
|
||||||
|
|
||||||
type LLMParamsBase = AgentParamsBase<LLM>;
|
type LLMParamsBase<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = AgentParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions>;
|
||||||
|
|
||||||
type LLMParamsWithTools = LLMParamsBase & {
|
type LLMParamsWithTools<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = LLMParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions> & {
|
||||||
tools: BaseToolWithCall[];
|
tools: BaseToolWithCall[];
|
||||||
};
|
};
|
||||||
|
|
||||||
type LLMParamsWithToolRetriever = LLMParamsBase & {
|
type LLMParamsWithToolRetriever<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = LLMParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions> & {
|
||||||
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type LLMAgentParams = LLMParamsWithTools | LLMParamsWithToolRetriever;
|
export type LLMAgentParams<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> =
|
||||||
|
| LLMParamsWithTools<AI, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
| LLMParamsWithToolRetriever<
|
||||||
|
AI,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
export class LLMAgentWorker extends AgentWorker<LLM> {
|
export class LLMAgentWorker extends AgentWorker<LLM> {
|
||||||
taskHandler = AgentRunner.defaultTaskHandler;
|
taskHandler = AgentRunner.defaultTaskHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LLMAgent extends AgentRunner<LLM> {
|
export class LLMAgent extends AgentRunner<LLM> {
|
||||||
constructor(params: LLMAgentParams) {
|
constructor(params: LLMAgentParams<LLM>) {
|
||||||
validateAgentParams(params);
|
validateAgentParams(params);
|
||||||
const llm = params.llm ?? (Settings.llm ? (Settings.llm as LLM) : null);
|
const llm = params.llm ?? (Settings.llm ? (Settings.llm as LLM) : null);
|
||||||
if (!llm)
|
if (!llm)
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export type AgentTaskContext<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
readonly stream: boolean;
|
readonly stream: boolean;
|
||||||
readonly toolCallCount: number;
|
readonly toolCallCount: number;
|
||||||
@@ -26,6 +27,7 @@ export type AgentTaskContext<
|
|||||||
readonly getTools: (
|
readonly getTools: (
|
||||||
input: MessageContent,
|
input: MessageContent,
|
||||||
) => BaseToolWithCall[] | Promise<BaseToolWithCall[]>;
|
) => BaseToolWithCall[] | Promise<BaseToolWithCall[]>;
|
||||||
|
readonly additionalChatOptions: Partial<AdditionalChatOptions>;
|
||||||
shouldContinue: (
|
shouldContinue: (
|
||||||
taskStep: Readonly<TaskStep<Model, Store, AdditionalMessageOptions>>,
|
taskStep: Readonly<TaskStep<Model, Store, AdditionalMessageOptions>>,
|
||||||
) => boolean;
|
) => boolean;
|
||||||
@@ -45,13 +47,26 @@ export type TaskStep<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
id: UUID;
|
id: UUID;
|
||||||
context: AgentTaskContext<Model, Store, AdditionalMessageOptions>;
|
context: AgentTaskContext<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
// linked list
|
// linked list
|
||||||
prevStep: TaskStep<Model, Store, AdditionalMessageOptions> | null;
|
prevStep: TaskStep<
|
||||||
nextSteps: Set<TaskStep<Model, Store, AdditionalMessageOptions>>;
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
> | null;
|
||||||
|
nextSteps: Set<
|
||||||
|
TaskStep<Model, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type TaskStepOutput<
|
export type TaskStepOutput<
|
||||||
@@ -63,8 +78,14 @@ export type TaskStepOutput<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
taskStep: TaskStep<Model, Store, AdditionalMessageOptions>;
|
taskStep: TaskStep<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
// output shows the response to the user
|
// output shows the response to the user
|
||||||
output:
|
output:
|
||||||
| ChatResponse<AdditionalMessageOptions>
|
| ChatResponse<AdditionalMessageOptions>
|
||||||
@@ -81,10 +102,16 @@ export type TaskHandler<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = (
|
> = (
|
||||||
step: TaskStep<Model, Store, AdditionalMessageOptions>,
|
step: TaskStep<Model, Store, AdditionalMessageOptions, AdditionalChatOptions>,
|
||||||
enqueueOutput: (
|
enqueueOutput: (
|
||||||
taskOutput: TaskStepOutput<Model, Store, AdditionalMessageOptions>,
|
taskOutput: TaskStepOutput<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
) => void,
|
) => void,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
|
|
||||||
|
|||||||
@@ -16,14 +16,18 @@ export interface BaseChatEngineParams<
|
|||||||
|
|
||||||
export interface StreamingChatEngineParams<
|
export interface StreamingChatEngineParams<
|
||||||
AdditionalMessageOptions extends object = object,
|
AdditionalMessageOptions extends object = object,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
||||||
stream: true;
|
stream: true;
|
||||||
|
chatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NonStreamingChatEngineParams<
|
export interface NonStreamingChatEngineParams<
|
||||||
AdditionalMessageOptions extends object = object,
|
AdditionalMessageOptions extends object = object,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
||||||
stream?: false;
|
stream?: false;
|
||||||
|
chatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export abstract class BaseChatEngine {
|
export abstract class BaseChatEngine {
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ export abstract class BaseLLM<
|
|||||||
|
|
||||||
export abstract class ToolCallLLM<
|
export abstract class ToolCallLLM<
|
||||||
AdditionalChatOptions extends object = object,
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseLLM<AdditionalChatOptions, ToolCallLLMMessageOptions> {
|
AdditionalMessageOptions extends
|
||||||
|
ToolCallLLMMessageOptions = ToolCallLLMMessageOptions,
|
||||||
|
> extends BaseLLM<AdditionalChatOptions, AdditionalMessageOptions> {
|
||||||
abstract supportToolCall: boolean;
|
abstract supportToolCall: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,15 +71,15 @@ export abstract class BaseChatStoreMemory<
|
|||||||
return this.chatStore.getMessages(this.chatStoreKey);
|
return this.chatStore.getMessages(this.chatStoreKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
put(messages: ChatMessage<AdditionalMessageOptions>) {
|
put(messages: ChatMessage<AdditionalMessageOptions>): void | Promise<void> {
|
||||||
this.chatStore.addMessage(this.chatStoreKey, messages);
|
this.chatStore.addMessage(this.chatStoreKey, messages);
|
||||||
}
|
}
|
||||||
|
|
||||||
set(messages: ChatMessage<AdditionalMessageOptions>[]) {
|
set(messages: ChatMessage<AdditionalMessageOptions>[]): void | Promise<void> {
|
||||||
this.chatStore.setMessages(this.chatStoreKey, messages);
|
this.chatStore.setMessages(this.chatStoreKey, messages);
|
||||||
}
|
}
|
||||||
|
|
||||||
reset() {
|
reset(): void | Promise<void> {
|
||||||
this.chatStore.deleteMessages(this.chatStoreKey);
|
this.chatStore.deleteMessages(this.chatStoreKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,10 @@ export abstract class BasePromptTemplate<
|
|||||||
const Vars extends readonly string[] = string[],
|
const Vars extends readonly string[] = string[],
|
||||||
> {
|
> {
|
||||||
metadata: Metadata = {};
|
metadata: Metadata = {};
|
||||||
|
/**
|
||||||
|
* Set of template variables used in the prompt template. Used for type hints only.
|
||||||
|
* To get the list of template variables used in the prompt at run-time, use the `vars` method.
|
||||||
|
*/
|
||||||
templateVars: Set<string> = new Set();
|
templateVars: Set<string> = new Set();
|
||||||
options: Partial<Record<TemplatesVar[number] | (string & {}), string>> = {};
|
options: Partial<Record<TemplatesVar[number] | (string & {}), string>> = {};
|
||||||
outputParser: BaseOutputParser | undefined;
|
outputParser: BaseOutputParser | undefined;
|
||||||
@@ -223,4 +227,13 @@ export class PromptTemplate<
|
|||||||
get template(): Template {
|
get template(): Template {
|
||||||
return this.#template;
|
return this.#template;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all the template variables used in the prompt template.
|
||||||
|
*/
|
||||||
|
vars(): string[] {
|
||||||
|
const template = this.template;
|
||||||
|
const matches = template.match(/\{([^}]+)\}/g) || [];
|
||||||
|
return [...new Set(matches.map((match) => match.slice(1, -1)))];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,7 @@ export abstract class BaseChatStore<
|
|||||||
): void;
|
): void;
|
||||||
abstract deleteMessages(key: string): void;
|
abstract deleteMessages(key: string): void;
|
||||||
abstract deleteMessage(key: string, idx: number): void;
|
abstract deleteMessage(key: string, idx: number): void;
|
||||||
abstract getKeys(): IterableIterator<string>;
|
abstract getKeys():
|
||||||
|
| IterableIterator<string>
|
||||||
|
| Promise<IterableIterator<string>>;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ export {
|
|||||||
extractText,
|
extractText,
|
||||||
imageToDataUrl,
|
imageToDataUrl,
|
||||||
messagesToHistory,
|
messagesToHistory,
|
||||||
|
MockLLM,
|
||||||
toToolDescriptions,
|
toToolDescriptions,
|
||||||
} from "./llms";
|
} from "./llms";
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,15 @@ import { fs } from "@llamaindex/env";
|
|||||||
import { filetypemime } from "magic-bytes.js";
|
import { filetypemime } from "magic-bytes.js";
|
||||||
import type {
|
import type {
|
||||||
ChatMessage,
|
ChatMessage,
|
||||||
|
ChatResponse,
|
||||||
|
ChatResponseChunk,
|
||||||
|
CompletionResponse,
|
||||||
|
LLM,
|
||||||
|
LLMChatParamsNonStreaming,
|
||||||
|
LLMChatParamsStreaming,
|
||||||
|
LLMCompletionParamsNonStreaming,
|
||||||
|
LLMCompletionParamsStreaming,
|
||||||
|
LLMMetadata,
|
||||||
MessageContent,
|
MessageContent,
|
||||||
MessageContentDetail,
|
MessageContentDetail,
|
||||||
MessageContentTextDetail,
|
MessageContentTextDetail,
|
||||||
@@ -143,3 +152,82 @@ export async function imageToDataUrl(
|
|||||||
}
|
}
|
||||||
return await blobToDataUrl(input);
|
return await blobToDataUrl(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class MockLLM implements LLM {
|
||||||
|
metadata: LLMMetadata;
|
||||||
|
options: {
|
||||||
|
timeBetweenToken: number;
|
||||||
|
responseMessage: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(options?: {
|
||||||
|
timeBetweenToken?: number;
|
||||||
|
responseMessage?: string;
|
||||||
|
metadata?: LLMMetadata;
|
||||||
|
}) {
|
||||||
|
this.options = {
|
||||||
|
timeBetweenToken: options?.timeBetweenToken ?? 20,
|
||||||
|
responseMessage: options?.responseMessage ?? "This is a mock response",
|
||||||
|
};
|
||||||
|
this.metadata = options?.metadata ?? {
|
||||||
|
model: "MockLLM",
|
||||||
|
temperature: 0.5,
|
||||||
|
topP: 0.5,
|
||||||
|
contextWindow: 1024,
|
||||||
|
tokenizer: undefined,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
chat(
|
||||||
|
params: LLMChatParamsStreaming<object, object>,
|
||||||
|
): Promise<AsyncIterable<ChatResponseChunk>>;
|
||||||
|
chat(
|
||||||
|
params: LLMChatParamsNonStreaming<object, object>,
|
||||||
|
): Promise<ChatResponse<object>>;
|
||||||
|
async chat(
|
||||||
|
params:
|
||||||
|
| LLMChatParamsStreaming<object, object>
|
||||||
|
| LLMChatParamsNonStreaming<object, object>,
|
||||||
|
): Promise<AsyncIterable<ChatResponseChunk> | ChatResponse<object>> {
|
||||||
|
const responseMessage = this.options.responseMessage;
|
||||||
|
const timeBetweenToken = this.options.timeBetweenToken;
|
||||||
|
|
||||||
|
if (params.stream) {
|
||||||
|
return (async function* () {
|
||||||
|
for (const char of responseMessage) {
|
||||||
|
yield { delta: char, raw: {} };
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, timeBetweenToken));
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
message: { content: responseMessage, role: "assistant" },
|
||||||
|
raw: {},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
async complete(
|
||||||
|
params: LLMCompletionParamsStreaming,
|
||||||
|
): Promise<AsyncIterable<CompletionResponse>>;
|
||||||
|
async complete(
|
||||||
|
params: LLMCompletionParamsNonStreaming,
|
||||||
|
): Promise<CompletionResponse>;
|
||||||
|
async complete(
|
||||||
|
params: LLMCompletionParamsStreaming | LLMCompletionParamsNonStreaming,
|
||||||
|
): Promise<AsyncIterable<CompletionResponse> | CompletionResponse> {
|
||||||
|
const responseMessage = this.options.responseMessage;
|
||||||
|
const timeBetweenToken = this.options.timeBetweenToken;
|
||||||
|
|
||||||
|
if (params.stream) {
|
||||||
|
return (async function* () {
|
||||||
|
for (const char of responseMessage) {
|
||||||
|
yield { delta: char, text: char, raw: {} };
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, timeBetweenToken));
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
|
||||||
|
return { text: responseMessage, raw: {} };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,6 +7,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"vitest": "^2.1.4"
|
"vitest": "^2.1.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,4 +158,15 @@ describe("PromptTemplate", () => {
|
|||||||
const formatted = prompt.format({ text: "world", foo: "bar" });
|
const formatted = prompt.format({ text: "world", foo: "bar" });
|
||||||
expect(formatted).toBe("hello world bar\noutput_instruction");
|
expect(formatted).toBe("hello world bar\noutput_instruction");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("should return all unique template vars of a prompt", () => {
|
||||||
|
const prompt = new PromptTemplate({
|
||||||
|
template: "Hello {name}! Your age is {age}. Nice to meet you {name}!",
|
||||||
|
});
|
||||||
|
|
||||||
|
const vars = prompt.vars();
|
||||||
|
expect(vars).toHaveLength(2);
|
||||||
|
expect(vars).toContain("name");
|
||||||
|
expect(vars).toContain("age");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Vendored
+6
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/env
|
# @llamaindex/env
|
||||||
|
|
||||||
|
## 0.1.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
|
||||||
## 0.1.20
|
## 0.1.20
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
Vendored
+4
-4
@@ -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.20",
|
"version": "0.1.21",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
@@ -122,13 +122,13 @@
|
|||||||
"test": "vitest"
|
"test": "vitest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@huggingface/transformers": "^3.0.2",
|
||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"@types/readable-stream": "^4.0.15",
|
"@types/readable-stream": "^4.0.15",
|
||||||
"@huggingface/transformers": "^3.0.2",
|
|
||||||
"bunchee": "5.6.1",
|
"bunchee": "5.6.1",
|
||||||
"gpt-tokenizer": "^2.6.0",
|
"gpt-tokenizer": "^2.6.2",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"vitest": "^2.1.4"
|
"vitest": "^2.1.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@aws-crypto/sha256-js": "^5.2.0",
|
"@aws-crypto/sha256-js": "^5.2.0",
|
||||||
|
|||||||
@@ -1,5 +1,59 @@
|
|||||||
# @llamaindex/experimental
|
# @llamaindex/experimental
|
||||||
|
|
||||||
|
## 0.0.131
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- llamaindex@0.8.19
|
||||||
|
|
||||||
|
## 0.0.130
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [d17450f]
|
||||||
|
- llamaindex@0.8.18
|
||||||
|
|
||||||
|
## 0.0.129
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.17
|
||||||
|
|
||||||
|
## 0.0.128
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.16
|
||||||
|
|
||||||
|
## 0.0.127
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [3d503cb]
|
||||||
|
- Updated dependencies [5dae534]
|
||||||
|
- llamaindex@0.8.15
|
||||||
|
|
||||||
|
## 0.0.126
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [630b425]
|
||||||
|
- llamaindex@0.8.14
|
||||||
|
|
||||||
|
## 0.0.125
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.13
|
||||||
|
|
||||||
|
## 0.0.124
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.123
|
## 0.0.123
|
||||||
|
|
||||||
### 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.123",
|
"version": "0.0.131",
|
||||||
"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",
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@aws-crypto/sha256-js": "^5.2.0",
|
"@aws-crypto/sha256-js": "^5.2.0",
|
||||||
"@swc/cli": "^0.5.0",
|
"@swc/cli": "^0.5.0",
|
||||||
"@swc/core": "^1.7.22",
|
"@swc/core": "^1.9.2",
|
||||||
"@types/jsonpath": "^0.2.4",
|
"@types/jsonpath": "^0.2.4",
|
||||||
"concurrently": "^9.1.0",
|
"concurrently": "^9.1.0",
|
||||||
"pathe": "^1.1.2"
|
"pathe": "^1.1.2"
|
||||||
|
|||||||
@@ -1,5 +1,130 @@
|
|||||||
# llamaindex
|
# llamaindex
|
||||||
|
|
||||||
|
## 0.8.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/cloud@2.0.13
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
- @llamaindex/node-parser@0.0.14
|
||||||
|
- @llamaindex/readers@1.0.15
|
||||||
|
- @llamaindex/anthropic@0.0.22
|
||||||
|
- @llamaindex/groq@0.0.37
|
||||||
|
- @llamaindex/ollama@0.0.29
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
- @llamaindex/portkey-ai@0.0.22
|
||||||
|
- @llamaindex/clip@0.0.22
|
||||||
|
- @llamaindex/deepinfra@0.0.22
|
||||||
|
- @llamaindex/huggingface@0.0.22
|
||||||
|
- @llamaindex/replicate@0.0.22
|
||||||
|
- @llamaindex/vllm@0.0.8
|
||||||
|
|
||||||
|
## 0.8.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- d17450f: fix: rename from serverComponentsExternalPackages to serverExternalPackages
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
- @llamaindex/cloud@2.0.12
|
||||||
|
- @llamaindex/node-parser@0.0.13
|
||||||
|
- @llamaindex/anthropic@0.0.21
|
||||||
|
- @llamaindex/clip@0.0.21
|
||||||
|
- @llamaindex/deepinfra@0.0.21
|
||||||
|
- @llamaindex/huggingface@0.0.21
|
||||||
|
- @llamaindex/ollama@0.0.28
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
- @llamaindex/portkey-ai@0.0.21
|
||||||
|
- @llamaindex/replicate@0.0.21
|
||||||
|
- @llamaindex/readers@1.0.14
|
||||||
|
- @llamaindex/groq@0.0.36
|
||||||
|
- @llamaindex/vllm@0.0.7
|
||||||
|
|
||||||
|
## 0.8.17
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
- @llamaindex/cloud@2.0.11
|
||||||
|
- @llamaindex/node-parser@0.0.12
|
||||||
|
- @llamaindex/anthropic@0.0.20
|
||||||
|
- @llamaindex/clip@0.0.20
|
||||||
|
- @llamaindex/deepinfra@0.0.20
|
||||||
|
- @llamaindex/huggingface@0.0.20
|
||||||
|
- @llamaindex/ollama@0.0.27
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
- @llamaindex/portkey-ai@0.0.20
|
||||||
|
- @llamaindex/replicate@0.0.20
|
||||||
|
- @llamaindex/readers@1.0.13
|
||||||
|
- @llamaindex/groq@0.0.35
|
||||||
|
- @llamaindex/vllm@0.0.6
|
||||||
|
|
||||||
|
## 0.8.16
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [e60328b]
|
||||||
|
- @llamaindex/readers@1.0.12
|
||||||
|
|
||||||
|
## 0.8.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 3d503cb: Update azure cosmos db
|
||||||
|
- 5dae534: fix: propagate queryStr to concrete vectorStore
|
||||||
|
|
||||||
|
## 0.8.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 630b425: feat: add Azure CosmosDB NoSql Chat store
|
||||||
|
|
||||||
|
## 0.8.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/anthropic@0.0.19
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/cloud@2.0.10
|
||||||
|
- @llamaindex/node-parser@0.0.11
|
||||||
|
- @llamaindex/clip@0.0.19
|
||||||
|
- @llamaindex/deepinfra@0.0.19
|
||||||
|
- @llamaindex/huggingface@0.0.19
|
||||||
|
- @llamaindex/ollama@0.0.26
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
- @llamaindex/portkey-ai@0.0.19
|
||||||
|
- @llamaindex/replicate@0.0.19
|
||||||
|
- @llamaindex/readers@1.0.11
|
||||||
|
- @llamaindex/groq@0.0.34
|
||||||
|
- @llamaindex/vllm@0.0.5
|
||||||
|
|
||||||
|
## 0.8.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
- @llamaindex/node-parser@0.0.10
|
||||||
|
- @llamaindex/anthropic@0.0.18
|
||||||
|
- @llamaindex/clip@0.0.18
|
||||||
|
- @llamaindex/deepinfra@0.0.18
|
||||||
|
- @llamaindex/huggingface@0.0.18
|
||||||
|
- @llamaindex/ollama@0.0.25
|
||||||
|
- @llamaindex/portkey-ai@0.0.18
|
||||||
|
- @llamaindex/replicate@0.0.18
|
||||||
|
- @llamaindex/readers@1.0.10
|
||||||
|
- @llamaindex/groq@0.0.33
|
||||||
|
- @llamaindex/vllm@0.0.4
|
||||||
|
|
||||||
## 0.8.11
|
## 0.8.11
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "llamaindex",
|
"name": "llamaindex",
|
||||||
"version": "0.8.11",
|
"version": "0.8.19",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -20,15 +20,15 @@
|
|||||||
"llamaindex"
|
"llamaindex"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "0.27.1",
|
"@anthropic-ai/sdk": "0.32.1",
|
||||||
"@aws-crypto/sha256-js": "^5.2.0",
|
"@aws-crypto/sha256-js": "^5.2.0",
|
||||||
"@aws-sdk/client-sso-oidc": "^3.679.0",
|
"@aws-sdk/client-sso-oidc": "^3.693.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",
|
||||||
"@discoveryjs/json-ext": "^0.6.1",
|
"@discoveryjs/json-ext": "^0.6.1",
|
||||||
"@google-cloud/vertexai": "1.2.0",
|
"@google-cloud/vertexai": "1.9.0",
|
||||||
"@google/generative-ai": "0.12.0",
|
"@google/generative-ai": "0.21.0",
|
||||||
"@grpc/grpc-js": "^1.12.2",
|
"@grpc/grpc-js": "^1.12.2",
|
||||||
"@llamaindex/anthropic": "workspace:*",
|
"@llamaindex/anthropic": "workspace:*",
|
||||||
"@llamaindex/clip": "workspace:*",
|
"@llamaindex/clip": "workspace:*",
|
||||||
@@ -45,9 +45,9 @@
|
|||||||
"@llamaindex/readers": "workspace:*",
|
"@llamaindex/readers": "workspace:*",
|
||||||
"@llamaindex/replicate": "workspace:*",
|
"@llamaindex/replicate": "workspace:*",
|
||||||
"@llamaindex/vllm": "workspace:*",
|
"@llamaindex/vllm": "workspace:*",
|
||||||
"@mistralai/mistralai": "^1.0.4",
|
"@mistralai/mistralai": "^1.3.4",
|
||||||
"@mixedbread-ai/sdk": "^2.2.11",
|
"@mixedbread-ai/sdk": "^2.2.11",
|
||||||
"@pinecone-database/pinecone": "^3.0.2",
|
"@pinecone-database/pinecone": "^4.0.0",
|
||||||
"@qdrant/js-client-rest": "^1.11.0",
|
"@qdrant/js-client-rest": "^1.11.0",
|
||||||
"@types/lodash": "^4.17.7",
|
"@types/lodash": "^4.17.7",
|
||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
@@ -55,20 +55,20 @@
|
|||||||
"@upstash/vector": "^1.1.5",
|
"@upstash/vector": "^1.1.5",
|
||||||
"@zilliz/milvus2-sdk-node": "^2.4.6",
|
"@zilliz/milvus2-sdk-node": "^2.4.6",
|
||||||
"ajv": "^8.17.1",
|
"ajv": "^8.17.1",
|
||||||
"assemblyai": "^4.7.0",
|
"assemblyai": "^4.8.0",
|
||||||
"chromadb": "1.9.2",
|
"chromadb": "1.9.2",
|
||||||
"chromadb-default-embed": "^2.13.2",
|
"chromadb-default-embed": "^2.13.2",
|
||||||
"cohere-ai": "7.13.0",
|
"cohere-ai": "7.14.0",
|
||||||
"gpt-tokenizer": "^2.6.0",
|
"gpt-tokenizer": "^2.6.2",
|
||||||
"groq-sdk": "^0.6.1",
|
"groq-sdk": "^0.8.0",
|
||||||
"js-tiktoken": "^1.0.14",
|
"js-tiktoken": "^1.0.14",
|
||||||
"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.60.0",
|
"openai": "^4.72.0",
|
||||||
"pathe": "^1.1.2",
|
"pathe": "^1.1.2",
|
||||||
"rake-modified": "^1.0.8",
|
"rake-modified": "^1.0.8",
|
||||||
"weaviate-client": "^3.1.4",
|
"weaviate-client": "^3.2.3",
|
||||||
"wikipedia": "^2.1.2",
|
"wikipedia": "^2.1.2",
|
||||||
"wink-nlp": "^2.3.0",
|
"wink-nlp": "^2.3.0",
|
||||||
"zod": "^3.23.8"
|
"zod": "^3.23.8"
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@huggingface/transformers": "^3.0.2",
|
"@huggingface/transformers": "^3.0.2",
|
||||||
"@swc/cli": "^0.5.0",
|
"@swc/cli": "^0.5.0",
|
||||||
"@swc/core": "^1.7.22",
|
"@swc/core": "^1.9.2",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
"concurrently": "^9.1.0",
|
"concurrently": "^9.1.0",
|
||||||
"glob": "^11.0.0",
|
"glob": "^11.0.0",
|
||||||
@@ -125,6 +125,16 @@
|
|||||||
"default": "./dist/cjs/index.js"
|
"default": "./dist/cjs/index.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"./next": {
|
||||||
|
"import": {
|
||||||
|
"types": "./dist/type/next.d.ts",
|
||||||
|
"default": "./dist/next.js"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"types": "./dist/type/next.d.ts",
|
||||||
|
"default": "./dist/cjs/next.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
"./register": "./register.js",
|
"./register": "./register.js",
|
||||||
"./internal/*": {
|
"./internal/*": {
|
||||||
"import": "./dist/not-allow.js",
|
"import": "./dist/not-allow.js",
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import {
|
|||||||
type NodeWithScore,
|
type NodeWithScore,
|
||||||
} from "@llamaindex/core/schema";
|
} from "@llamaindex/core/schema";
|
||||||
import type { BaseIndexStore } from "@llamaindex/core/storage/index-store";
|
import type { BaseIndexStore } from "@llamaindex/core/storage/index-store";
|
||||||
|
import { extractText } from "@llamaindex/core/utils";
|
||||||
import type { ServiceContext } from "../../ServiceContext.js";
|
import type { ServiceContext } from "../../ServiceContext.js";
|
||||||
import { nodeParserFromSettingsOrContext } from "../../Settings.js";
|
import { nodeParserFromSettingsOrContext } from "../../Settings.js";
|
||||||
import { RetrieverQueryEngine } from "../../engines/query/RetrieverQueryEngine.js";
|
import { RetrieverQueryEngine } from "../../engines/query/RetrieverQueryEngine.js";
|
||||||
@@ -449,8 +450,13 @@ export class VectorIndexRetriever extends BaseRetriever {
|
|||||||
filters?: MetadataFilters,
|
filters?: MetadataFilters,
|
||||||
): Promise<NodeWithScore[]> {
|
): Promise<NodeWithScore[]> {
|
||||||
// convert string message to multi-modal format
|
// convert string message to multi-modal format
|
||||||
|
|
||||||
|
let queryStr = query;
|
||||||
if (typeof query === "string") {
|
if (typeof query === "string") {
|
||||||
query = [{ type: "text", text: query }];
|
queryStr = query;
|
||||||
|
query = [{ type: "text", text: queryStr }];
|
||||||
|
} else {
|
||||||
|
queryStr = extractText(query);
|
||||||
}
|
}
|
||||||
// overwrite embed model if specified, otherwise use the one from the vector store
|
// overwrite embed model if specified, otherwise use the one from the vector store
|
||||||
const embedModel = this.index.embedModel ?? vectorStore.embedModel;
|
const embedModel = this.index.embedModel ?? vectorStore.embedModel;
|
||||||
@@ -460,6 +466,7 @@ export class VectorIndexRetriever extends BaseRetriever {
|
|||||||
const queryEmbedding = await embedModel.getQueryEmbedding(item);
|
const queryEmbedding = await embedModel.getQueryEmbedding(item);
|
||||||
if (queryEmbedding) {
|
if (queryEmbedding) {
|
||||||
const result = await vectorStore.query({
|
const result = await vectorStore.query({
|
||||||
|
queryStr,
|
||||||
queryEmbedding,
|
queryEmbedding,
|
||||||
mode: VectorStoreQueryMode.DEFAULT,
|
mode: VectorStoreQueryMode.DEFAULT,
|
||||||
similarityTopK: this.topK[type]!,
|
similarityTopK: this.topK[type]!,
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import {
|
|||||||
HarmBlockThreshold,
|
HarmBlockThreshold,
|
||||||
HarmCategory,
|
HarmCategory,
|
||||||
type SafetySetting,
|
type SafetySetting,
|
||||||
|
SchemaType,
|
||||||
} from "@google/generative-ai";
|
} from "@google/generative-ai";
|
||||||
|
|
||||||
import { type GenerateContentResponse } from "@google-cloud/vertexai";
|
import { type GenerateContentResponse } from "@google-cloud/vertexai";
|
||||||
@@ -161,7 +162,7 @@ export const mapBaseToolToGeminiFunctionDeclaration = (
|
|||||||
tool: BaseTool,
|
tool: BaseTool,
|
||||||
): FunctionDeclaration => {
|
): FunctionDeclaration => {
|
||||||
const parameters: FunctionDeclarationSchema = {
|
const parameters: FunctionDeclarationSchema = {
|
||||||
type: tool.metadata.parameters?.type.toUpperCase(),
|
type: tool.metadata.parameters?.type.toLowerCase() as SchemaType,
|
||||||
properties: tool.metadata.parameters?.properties,
|
properties: tool.metadata.parameters?.properties,
|
||||||
description: tool.metadata.parameters?.description,
|
description: tool.metadata.parameters?.description,
|
||||||
required: tool.metadata.parameters?.required,
|
required: tool.metadata.parameters?.required,
|
||||||
|
|||||||
@@ -15,15 +15,28 @@
|
|||||||
*
|
*
|
||||||
* @module
|
* @module
|
||||||
*/
|
*/
|
||||||
|
import { createRequire } from "node:module";
|
||||||
|
|
||||||
|
const require = createRequire(import.meta.url);
|
||||||
|
|
||||||
|
const nextJsVersion: string = require("next/package.json").version;
|
||||||
|
const is14OrLower =
|
||||||
|
nextJsVersion.startsWith("14.") || nextJsVersion.startsWith("13.");
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
export default function withLlamaIndex(config: any) {
|
export default function withLlamaIndex(config: any) {
|
||||||
config.experimental = config.experimental ?? {};
|
|
||||||
// needed for transformers, see https://huggingface.co/docs/transformers.js/en/tutorials/next#step-2-install-and-configure-transformersjs
|
// needed for transformers, see https://huggingface.co/docs/transformers.js/en/tutorials/next#step-2-install-and-configure-transformersjs
|
||||||
config.experimental.serverComponentsExternalPackages =
|
if (is14OrLower) {
|
||||||
config.experimental.serverComponentsExternalPackages ?? [];
|
config.experimental.serverComponentsExternalPackages =
|
||||||
config.experimental.serverComponentsExternalPackages.push(
|
config.experimental.serverComponentsExternalPackages ?? [];
|
||||||
"@huggingface/transformers",
|
config.experimental.serverComponentsExternalPackages.push(
|
||||||
);
|
"@huggingface/transformers",
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
config.serverExternalPackages = config.serverExternalPackages ?? [];
|
||||||
|
config.serverExternalPackages.push("@huggingface/transformers");
|
||||||
|
}
|
||||||
|
|
||||||
const userWebpack = config.webpack;
|
const userWebpack = config.webpack;
|
||||||
// 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) {
|
||||||
|
|||||||
@@ -0,0 +1,345 @@
|
|||||||
|
import { CosmosClient, type Container, type Database } from "@azure/cosmos";
|
||||||
|
import { DefaultAzureCredential, type TokenCredential } from "@azure/identity";
|
||||||
|
import type {
|
||||||
|
ChatMessage,
|
||||||
|
MessageContent,
|
||||||
|
MessageType,
|
||||||
|
} from "@llamaindex/core/llms";
|
||||||
|
import { BaseChatStore } from "@llamaindex/core/storage/chat-store";
|
||||||
|
import { getEnv } from "@llamaindex/env";
|
||||||
|
|
||||||
|
const USER_AGENT_SUFFIX = "llamaindex-cdbnosql-chatstore-javascript";
|
||||||
|
const DEFAULT_CHAT_DATABASE = "ChatMessagesDB";
|
||||||
|
const DEFAULT_CHAT_CONTAINER = "ChatMessagesContainer";
|
||||||
|
const DEFAULT_OFFER_THROUGHPUT = 400;
|
||||||
|
|
||||||
|
function parseConnectionString(connectionString: string): {
|
||||||
|
endpoint: string;
|
||||||
|
key: string;
|
||||||
|
} {
|
||||||
|
const parts = connectionString.split(";");
|
||||||
|
let endpoint = "";
|
||||||
|
let accountKey = "";
|
||||||
|
|
||||||
|
parts.forEach((part) => {
|
||||||
|
const [key, value] = part.split("=");
|
||||||
|
if (key && key.trim() === "AccountEndpoint") {
|
||||||
|
endpoint = value?.trim() ?? "";
|
||||||
|
} else if ((key ?? "").trim() === "AccountKey") {
|
||||||
|
accountKey = value?.trim() ?? "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!endpoint || !accountKey) {
|
||||||
|
throw new Error(
|
||||||
|
"Invalid connection string: missing AccountEndpoint or AccountKey.",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return { endpoint, key: accountKey };
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AzureCosmosChatDatabaseProperties {
|
||||||
|
throughput?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AzureCosmosChatContainerProperties {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
[key: string]: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AzureCosmosNoSqlChatStoreConfig {
|
||||||
|
cosmosClient?: CosmosClient;
|
||||||
|
dbName?: string;
|
||||||
|
containerName?: string;
|
||||||
|
userId?: string;
|
||||||
|
sessionId?: string;
|
||||||
|
cosmosContainerProperties?: AzureCosmosChatContainerProperties;
|
||||||
|
cosmosDatabaseProperties?: AzureCosmosChatDatabaseProperties;
|
||||||
|
ttlInSeconds?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class AzureCosmosNoSqlChatStore<
|
||||||
|
AdditionalMessageOptions extends object = object,
|
||||||
|
> extends BaseChatStore<AdditionalMessageOptions> {
|
||||||
|
private userId: string;
|
||||||
|
private ttl: number;
|
||||||
|
private cosmosClient: CosmosClient;
|
||||||
|
private database!: Database;
|
||||||
|
private container!: Container;
|
||||||
|
private initPromise?: Promise<void>;
|
||||||
|
|
||||||
|
private dbName: string;
|
||||||
|
private containerName: string;
|
||||||
|
private cosmosContainerProperties: AzureCosmosChatContainerProperties;
|
||||||
|
private cosmosDatabaseProperties: AzureCosmosChatDatabaseProperties;
|
||||||
|
private initialize: () => Promise<void>;
|
||||||
|
|
||||||
|
constructor({
|
||||||
|
cosmosClient,
|
||||||
|
dbName = DEFAULT_CHAT_DATABASE,
|
||||||
|
containerName = DEFAULT_CHAT_CONTAINER,
|
||||||
|
cosmosContainerProperties = { partitionKey: "/userId" },
|
||||||
|
cosmosDatabaseProperties = {},
|
||||||
|
ttlInSeconds = -1,
|
||||||
|
}: AzureCosmosNoSqlChatStoreConfig) {
|
||||||
|
super();
|
||||||
|
if (!cosmosClient) {
|
||||||
|
throw new Error(
|
||||||
|
"CosmosClient is required for AzureCosmosDBNoSQLChatStore initialization",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
this.ttl = ttlInSeconds;
|
||||||
|
this.userId = cosmosContainerProperties.userId || "anonymous";
|
||||||
|
this.cosmosClient = cosmosClient;
|
||||||
|
this.dbName = dbName;
|
||||||
|
this.containerName = containerName;
|
||||||
|
this.cosmosContainerProperties = cosmosContainerProperties;
|
||||||
|
this.cosmosDatabaseProperties = cosmosDatabaseProperties;
|
||||||
|
|
||||||
|
this.initialize = () => {
|
||||||
|
if (this.initPromise === undefined) {
|
||||||
|
this.initPromise = this.init().catch((error) => {
|
||||||
|
console.error(
|
||||||
|
"Error during AzureCosmosDBNoSQLChatStore initialization",
|
||||||
|
error,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return this.initPromise;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
client(): CosmosClient {
|
||||||
|
return this.cosmosClient;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Asynchronous initialization method to create database and container
|
||||||
|
private async init(): Promise<void> {
|
||||||
|
// Set default throughput if not provided
|
||||||
|
const throughput =
|
||||||
|
this.cosmosDatabaseProperties?.throughput || DEFAULT_OFFER_THROUGHPUT;
|
||||||
|
|
||||||
|
// Create the database if it doesn't exist
|
||||||
|
const { database } = await this.cosmosClient.databases.createIfNotExists({
|
||||||
|
id: this.dbName,
|
||||||
|
throughput,
|
||||||
|
});
|
||||||
|
this.database = database;
|
||||||
|
|
||||||
|
// Create the container if it doesn't exist
|
||||||
|
const { container } = await this.database.containers.createIfNotExists({
|
||||||
|
id: this.containerName,
|
||||||
|
throughput: this.cosmosContainerProperties?.throughput,
|
||||||
|
partitionKey: "/userId",
|
||||||
|
indexingPolicy: this.cosmosContainerProperties?.indexingPolicy,
|
||||||
|
defaultTtl: this.ttl,
|
||||||
|
uniqueKeyPolicy: this.cosmosContainerProperties?.uniqueKeyPolicy,
|
||||||
|
conflictResolutionPolicy:
|
||||||
|
this.cosmosContainerProperties?.conflictResolutionPolicy,
|
||||||
|
computedProperties: this.cosmosContainerProperties?.computedProperties,
|
||||||
|
});
|
||||||
|
this.container = container;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Static method for creating an instance using a connection string.
|
||||||
|
* If no connection string is provided, it will attempt to use the env variable `AZURE_COSMOSDB_NOSQL_CONNECTION_STRING` as connection string.
|
||||||
|
* @returns Instance of AzureCosmosNoSqlKVStore
|
||||||
|
*/
|
||||||
|
static fromConnectionString(
|
||||||
|
config: {
|
||||||
|
connectionString?: string;
|
||||||
|
} & AzureCosmosNoSqlChatStoreConfig = {},
|
||||||
|
): AzureCosmosNoSqlChatStore {
|
||||||
|
const cosmosConnectionString =
|
||||||
|
config.connectionString ||
|
||||||
|
(getEnv("AZURE_COSMOSDB_NOSQL_CONNECTION_STRING") as string);
|
||||||
|
if (!cosmosConnectionString) {
|
||||||
|
throw new Error("Azure CosmosDB connection string must be provided");
|
||||||
|
}
|
||||||
|
const { endpoint, key } = parseConnectionString(cosmosConnectionString);
|
||||||
|
const cosmosClient = new CosmosClient({
|
||||||
|
endpoint,
|
||||||
|
key,
|
||||||
|
userAgentSuffix: USER_AGENT_SUFFIX,
|
||||||
|
});
|
||||||
|
return new AzureCosmosNoSqlChatStore({
|
||||||
|
...config,
|
||||||
|
cosmosClient,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Static method for creating an instance using a account endpoint and key.
|
||||||
|
* If no endpoint and key is provided, it will attempt to use the env variable `AZURE_COSMOSDB_NOSQL_ACCOUNT_ENDPOINT` as enpoint and `AZURE_COSMOSDB_NOSQL_ACCOUNT_KEY` as key.
|
||||||
|
* @returns Instance of AzureCosmosNoSqlKVStore
|
||||||
|
*/
|
||||||
|
static fromAccountAndKey(
|
||||||
|
config: {
|
||||||
|
endpoint?: string;
|
||||||
|
key?: string;
|
||||||
|
} & AzureCosmosNoSqlChatStoreConfig = {},
|
||||||
|
): AzureCosmosNoSqlChatStore {
|
||||||
|
const cosmosEndpoint =
|
||||||
|
config.endpoint ||
|
||||||
|
(getEnv("AZURE_COSMOSDB_NOSQL_ACCOUNT_ENDPOINT") as string);
|
||||||
|
const cosmosKey =
|
||||||
|
config.key || (getEnv("AZURE_COSMOSDB_NOSQL_ACCOUNT_KEY") as string);
|
||||||
|
|
||||||
|
if (!cosmosEndpoint || !cosmosKey) {
|
||||||
|
throw new Error(
|
||||||
|
"Azure CosmosDB account endpoint and key must be provided",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const cosmosClient = new CosmosClient({
|
||||||
|
endpoint: cosmosEndpoint,
|
||||||
|
key: cosmosKey,
|
||||||
|
userAgentSuffix: USER_AGENT_SUFFIX,
|
||||||
|
});
|
||||||
|
return new AzureCosmosNoSqlChatStore({
|
||||||
|
...config,
|
||||||
|
cosmosClient,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Static method for creating an instance using AAD token.
|
||||||
|
* If no endpoint and credentials are provided, it will attempt to use the env variable `AZURE_COSMOSDB_NOSQL_ACCOUNT_ENDPOINT` as endpoint and use DefaultAzureCredential() as credentials.
|
||||||
|
* @returns Instance of AzureCosmosNoSqlKVStore
|
||||||
|
*/
|
||||||
|
static fromAadToken(
|
||||||
|
config: {
|
||||||
|
endpoint?: string;
|
||||||
|
credential?: TokenCredential;
|
||||||
|
} & AzureCosmosNoSqlChatStoreConfig = {},
|
||||||
|
): AzureCosmosNoSqlChatStore {
|
||||||
|
const cosmosEndpoint =
|
||||||
|
config.endpoint ||
|
||||||
|
(getEnv("AZURE_COSMOSDB_NOSQL_CONNECTION_STRING") as string);
|
||||||
|
|
||||||
|
if (!cosmosEndpoint) {
|
||||||
|
throw new Error("Azure CosmosDB account endpoint must be provided");
|
||||||
|
}
|
||||||
|
const credentials = config.credential ?? new DefaultAzureCredential();
|
||||||
|
const cosmosClient = new CosmosClient({
|
||||||
|
endpoint: cosmosEndpoint,
|
||||||
|
aadCredentials: credentials,
|
||||||
|
userAgentSuffix: USER_AGENT_SUFFIX,
|
||||||
|
});
|
||||||
|
return new AzureCosmosNoSqlChatStore({
|
||||||
|
...config,
|
||||||
|
cosmosClient,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private convertToChatMessage(
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
message: any,
|
||||||
|
): ChatMessage<AdditionalMessageOptions> {
|
||||||
|
return {
|
||||||
|
content: message.content as MessageContent,
|
||||||
|
role: message.role as MessageType,
|
||||||
|
options: message.options as AdditionalMessageOptions,
|
||||||
|
} as ChatMessage<AdditionalMessageOptions>;
|
||||||
|
}
|
||||||
|
|
||||||
|
private convertToCosmosMessage(
|
||||||
|
message: ChatMessage<AdditionalMessageOptions>,
|
||||||
|
): // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
any {
|
||||||
|
return {
|
||||||
|
content: message.content,
|
||||||
|
role: message.role,
|
||||||
|
options: message.options,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set messages for a given key.
|
||||||
|
*/
|
||||||
|
async setMessages(
|
||||||
|
key: string,
|
||||||
|
messages: ChatMessage<AdditionalMessageOptions>[],
|
||||||
|
): Promise<void> {
|
||||||
|
await this.initialize();
|
||||||
|
const inputMessages = messages.map(this.convertToCosmosMessage);
|
||||||
|
await this.container.items.upsert({
|
||||||
|
id: key,
|
||||||
|
messages: inputMessages,
|
||||||
|
userId: this.userId,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get messages for a given key.
|
||||||
|
*/
|
||||||
|
async getMessages(
|
||||||
|
key: string,
|
||||||
|
): Promise<ChatMessage<AdditionalMessageOptions>[]> {
|
||||||
|
await this.initialize();
|
||||||
|
const res = await this.container.item(key, this.userId).read();
|
||||||
|
const messageHistory = res?.resource?.messages ?? [];
|
||||||
|
const result = messageHistory.map(this.convertToChatMessage);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a message for a given key.
|
||||||
|
*/
|
||||||
|
async addMessage(
|
||||||
|
key: string,
|
||||||
|
message: ChatMessage<AdditionalMessageOptions>,
|
||||||
|
idx?: number,
|
||||||
|
): Promise<void> {
|
||||||
|
await this.initialize();
|
||||||
|
const res = await this.container.item(key, this.userId).read();
|
||||||
|
const messageHistory = res?.resource?.messages ?? [];
|
||||||
|
if (idx === undefined) {
|
||||||
|
messageHistory.push(this.convertToCosmosMessage(message));
|
||||||
|
} else {
|
||||||
|
messageHistory.splice(idx, 0, this.convertToCosmosMessage(message));
|
||||||
|
}
|
||||||
|
await this.setMessages(key, messageHistory);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes all messages for a given key.
|
||||||
|
*/
|
||||||
|
async deleteMessages(key: string): Promise<void> {
|
||||||
|
await this.initialize();
|
||||||
|
try {
|
||||||
|
await this.container.item(key, this.userId).delete();
|
||||||
|
// eslint-disable-next-line no-empty
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes one message at idx index for a given key.
|
||||||
|
*/
|
||||||
|
async deleteMessage(key: string, idx: number): Promise<void> {
|
||||||
|
await this.initialize();
|
||||||
|
const res = await this.container.item(key, this.userId).read();
|
||||||
|
const messageHistory = res?.resource?.messages ?? [];
|
||||||
|
if (idx >= 0 && idx < messageHistory.length) {
|
||||||
|
messageHistory.splice(idx, 1);
|
||||||
|
await this.setMessages(key, messageHistory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all keys.
|
||||||
|
*/
|
||||||
|
async getKeys(): Promise<IterableIterator<string>> {
|
||||||
|
await this.initialize();
|
||||||
|
const result = await this.container.items
|
||||||
|
.query("Select c.id from c")
|
||||||
|
.fetchAll();
|
||||||
|
const keys = result.resources.map((res: { id: string }) => res.id);
|
||||||
|
|
||||||
|
function* keyGenerator(): IterableIterator<string> {
|
||||||
|
for (const key of keys) {
|
||||||
|
yield key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return keyGenerator();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ export * from "@llamaindex/core/storage/chat-store";
|
|||||||
export * from "@llamaindex/core/storage/doc-store";
|
export * from "@llamaindex/core/storage/doc-store";
|
||||||
export * from "@llamaindex/core/storage/index-store";
|
export * from "@llamaindex/core/storage/index-store";
|
||||||
export * from "@llamaindex/core/storage/kv-store";
|
export * from "@llamaindex/core/storage/kv-store";
|
||||||
|
export * from "./chatStore/AzureCosmosNoSqlChatStore.js";
|
||||||
export * from "./docStore/AzureCosmosNoSqlDocumentStore.js";
|
export * from "./docStore/AzureCosmosNoSqlDocumentStore.js";
|
||||||
export { PostgresDocumentStore } from "./docStore/PostgresDocumentStore.js";
|
export { PostgresDocumentStore } from "./docStore/PostgresDocumentStore.js";
|
||||||
export { SimpleDocumentStore } from "./docStore/SimpleDocumentStore.js";
|
export { SimpleDocumentStore } from "./docStore/SimpleDocumentStore.js";
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { Container, CosmosClient, Database } from "@azure/cosmos";
|
|||||||
import { DefaultAzureCredential, type TokenCredential } from "@azure/identity";
|
import { DefaultAzureCredential, type TokenCredential } from "@azure/identity";
|
||||||
import { BaseKVStore } from "@llamaindex/core/storage/kv-store";
|
import { BaseKVStore } from "@llamaindex/core/storage/kv-store";
|
||||||
import { getEnv } from "@llamaindex/env";
|
import { getEnv } from "@llamaindex/env";
|
||||||
const USER_AGENT_SUFFIX = "LlamaIndex-CDBNoSQL-KVStore-JavaScript";
|
const USER_AGENT_SUFFIX = "llamaindex-cdbnosql-kvstore-javascript";
|
||||||
const DEFAULT_CHAT_DATABASE = "KVStoreDB";
|
const DEFAULT_CHAT_DATABASE = "KVStoreDB";
|
||||||
const DEFAULT_CHAT_CONTAINER = "KVStoreContainer";
|
const DEFAULT_CHAT_CONTAINER = "KVStoreContainer";
|
||||||
const DEFAULT_OFFER_THROUGHPUT = 400;
|
const DEFAULT_OFFER_THROUGHPUT = 400;
|
||||||
@@ -82,7 +82,7 @@ export class AzureCosmosNoSqlKVStore extends BaseKVStore {
|
|||||||
super();
|
super();
|
||||||
if (!cosmosClient) {
|
if (!cosmosClient) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"CosmosClient is required for AzureCosmosDBNoSQLVectorStore initialization",
|
"CosmosClient is required for AzureCosmosDBNoSQLKVStore initialization",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
this.cosmosClient = cosmosClient;
|
this.cosmosClient = cosmosClient;
|
||||||
|
|||||||
@@ -55,8 +55,18 @@ export interface AzureCosmosDBNoSQLConfig
|
|||||||
readonly flatMetadata?: boolean;
|
readonly flatMetadata?: boolean;
|
||||||
readonly idKey?: string;
|
readonly idKey?: string;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Query options for the `AzureCosmosDBNoSQLVectorStore.query` method.
|
||||||
|
* @property includeEmbeddings - Whether to include the embeddings in the result. Default false
|
||||||
|
* @property includeVectorDistance - Whether to include the vector distance in the result. Default true
|
||||||
|
* @property whereClause - The where clause to use in the query. While writing this clause, use `c` as the alias for the container and do not include the `WHERE` keyword.
|
||||||
|
*/
|
||||||
|
export interface AzureCosmosQueryOptions {
|
||||||
|
includeVectorDistance?: boolean;
|
||||||
|
whereClause?: string;
|
||||||
|
}
|
||||||
|
|
||||||
const USER_AGENT_SUFFIX = "LlamaIndex-CDBNoSQL-VectorStore-JavaScript";
|
const USER_AGENT_SUFFIX = "llamaindex-cdbnosql-vectorstore-javascript";
|
||||||
|
|
||||||
const DEFAULT_VECTOR_EMBEDDING_POLICY = {
|
const DEFAULT_VECTOR_EMBEDDING_POLICY = {
|
||||||
vectorEmbeddings: [
|
vectorEmbeddings: [
|
||||||
@@ -98,6 +108,22 @@ function parseConnectionString(connectionString: string): {
|
|||||||
|
|
||||||
return { endpoint, key: accountKey };
|
return { endpoint, key: accountKey };
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* utility function to build the query string for the CosmosDB query
|
||||||
|
*/
|
||||||
|
function queryBuilder(options: AzureCosmosQueryOptions): string {
|
||||||
|
let initialQuery =
|
||||||
|
"SELECT TOP @k c[@id] as id, c[@text] as text, c[@metadata] as metadata";
|
||||||
|
if (options.includeVectorDistance !== false) {
|
||||||
|
initialQuery += `, VectorDistance(c[@embeddingKey],@embedding) AS SimilarityScore`;
|
||||||
|
}
|
||||||
|
initialQuery += ` FROM c`;
|
||||||
|
if (options.whereClause) {
|
||||||
|
initialQuery += ` WHERE ${options.whereClause}`;
|
||||||
|
}
|
||||||
|
initialQuery += ` ORDER BY VectorDistance(c[@embeddingKey],@embedding)`;
|
||||||
|
return initialQuery;
|
||||||
|
}
|
||||||
|
|
||||||
export class AzureCosmosDBNoSqlVectorStore extends BaseVectorStore {
|
export class AzureCosmosDBNoSqlVectorStore extends BaseVectorStore {
|
||||||
storesText: boolean = true;
|
storesText: boolean = true;
|
||||||
@@ -334,21 +360,25 @@ export class AzureCosmosDBNoSqlVectorStore extends BaseVectorStore {
|
|||||||
*/
|
*/
|
||||||
async query(
|
async query(
|
||||||
query: VectorStoreQuery,
|
query: VectorStoreQuery,
|
||||||
options?: object,
|
options: AzureCosmosQueryOptions = {},
|
||||||
): Promise<VectorStoreQueryResult> {
|
): Promise<VectorStoreQueryResult> {
|
||||||
await this.initialize();
|
await this.initialize();
|
||||||
|
if (!query.queryEmbedding || query.queryEmbedding.length === 0) {
|
||||||
|
throw new Error(
|
||||||
|
"queryEmbedding is required for AzureCosmosDBNoSqlVectorStore query",
|
||||||
|
);
|
||||||
|
}
|
||||||
const params = {
|
const params = {
|
||||||
vector: query.queryEmbedding!,
|
vector: query.queryEmbedding!,
|
||||||
k: query.similarityTopK,
|
k: query.similarityTopK,
|
||||||
};
|
};
|
||||||
|
const builtQuery = queryBuilder(options);
|
||||||
const nodes: BaseNode[] = [];
|
const nodes: BaseNode[] = [];
|
||||||
const ids: string[] = [];
|
const ids: string[] = [];
|
||||||
const similarities: number[] = [];
|
const similarities: number[] = [];
|
||||||
const queryResults = await this.container.items
|
const queryResults = await this.container.items
|
||||||
.query({
|
.query({
|
||||||
query:
|
query: builtQuery,
|
||||||
"SELECT TOP @k c[@id] as id, c[@text] as text, c[@metadata] as metadata, VectorDistance(c[@embeddingKey],@embedding) AS SimilarityScore FROM c ORDER BY VectorDistance(c[@embeddingKey],@embedding)",
|
|
||||||
parameters: [
|
parameters: [
|
||||||
{ name: "@k", value: params.k },
|
{ name: "@k", value: params.k },
|
||||||
{ name: "@id", value: this.idKey },
|
{ name: "@id", value: this.idKey },
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"@faker-js/faker": "^9.2.0",
|
"@faker-js/faker": "^9.2.0",
|
||||||
"dotenv": "^16.4.5",
|
"dotenv": "^16.4.5",
|
||||||
"llamaindex": "workspace:*",
|
"llamaindex": "workspace:*",
|
||||||
"msw": "^2.6.0",
|
"msw": "^2.6.5",
|
||||||
"vitest": "^2.1.4"
|
"vitest": "^2.1.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ import {
|
|||||||
Settings,
|
Settings,
|
||||||
VectorStoreQueryMode,
|
VectorStoreQueryMode,
|
||||||
type AzureCosmosDBNoSQLConfig,
|
type AzureCosmosDBNoSQLConfig,
|
||||||
|
type AzureCosmosQueryOptions,
|
||||||
type VectorStoreQueryResult,
|
type VectorStoreQueryResult,
|
||||||
} from "llamaindex";
|
} from "llamaindex";
|
||||||
import { beforeEach, describe, expect, it } from "vitest";
|
import { beforeAll, describe, expect, it } from "vitest";
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
/*
|
/*
|
||||||
* To run this test, you need have an Azure Cosmos DB for NoSQL instance
|
* To run this test, you need have an Azure Cosmos DB for NoSQL instance
|
||||||
@@ -64,7 +65,10 @@ Settings.llm = new OpenAI(llmInit);
|
|||||||
Settings.embedModel = new OpenAIEmbedding(embedModelInit);
|
Settings.embedModel = new OpenAIEmbedding(embedModelInit);
|
||||||
// This test is skipped because it requires an Azure Cosmos DB instance and OpenAI API keys
|
// This test is skipped because it requires an Azure Cosmos DB instance and OpenAI API keys
|
||||||
describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
||||||
beforeEach(async () => {
|
let vectorStore: AzureCosmosDBNoSqlVectorStore;
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
let embeddings: any = [];
|
||||||
|
beforeAll(async () => {
|
||||||
if (process.env.AZURE_COSMOSDB_NOSQL_CONNECTION_STRING) {
|
if (process.env.AZURE_COSMOSDB_NOSQL_CONNECTION_STRING) {
|
||||||
client = new CosmosClient(
|
client = new CosmosClient(
|
||||||
process.env.AZURE_COSMOSDB_NOSQL_CONNECTION_STRING,
|
process.env.AZURE_COSMOSDB_NOSQL_CONNECTION_STRING,
|
||||||
@@ -79,15 +83,12 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
|||||||
"Please set the environment variable AZURE_COSMOSDB_NOSQL_CONNECTION_STRING or AZURE_COSMOSDB_NOSQL_ENDPOINT",
|
"Please set the environment variable AZURE_COSMOSDB_NOSQL_CONNECTION_STRING or AZURE_COSMOSDB_NOSQL_ENDPOINT",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure the database does not exists
|
// Make sure the database does not exists
|
||||||
try {
|
try {
|
||||||
await client.database(DATABASE_NAME).delete();
|
await client.database(DATABASE_NAME).delete();
|
||||||
} catch {
|
} catch {
|
||||||
// Ignore error if the database does not exist
|
// Ignore error if the database does not exist
|
||||||
}
|
}
|
||||||
});
|
|
||||||
it("perform query", async () => {
|
|
||||||
const config: AzureCosmosDBNoSQLConfig = {
|
const config: AzureCosmosDBNoSQLConfig = {
|
||||||
idKey: "name",
|
idKey: "name",
|
||||||
textKey: "customText",
|
textKey: "customText",
|
||||||
@@ -134,9 +135,9 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const vectorStore = new AzureCosmosDBNoSqlVectorStore(config);
|
vectorStore = new AzureCosmosDBNoSqlVectorStore(config);
|
||||||
|
|
||||||
const embeddings = await Settings.embedModel.getTextEmbeddings([
|
embeddings = await Settings.embedModel.getTextEmbeddings([
|
||||||
"This book is about politics",
|
"This book is about politics",
|
||||||
"Cats sleeps a lot.",
|
"Cats sleeps a lot.",
|
||||||
"Sandwiches taste good.",
|
"Sandwiches taste good.",
|
||||||
@@ -150,28 +151,29 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
|||||||
id_: "1",
|
id_: "1",
|
||||||
text: "This book is about politics",
|
text: "This book is about politics",
|
||||||
embedding: embeddings[0],
|
embedding: embeddings[0],
|
||||||
metadata: { key: "politics" },
|
metadata: { key: "politics", number: 1 },
|
||||||
}),
|
}),
|
||||||
new Document({
|
new Document({
|
||||||
id_: "2",
|
id_: "2",
|
||||||
text: "Cats sleeps a lot.",
|
text: "Cats sleeps a lot.",
|
||||||
embedding: embeddings[1],
|
embedding: embeddings[1],
|
||||||
metadata: { key: "cats" },
|
metadata: { key: "cats", number: 2 },
|
||||||
}),
|
}),
|
||||||
new Document({
|
new Document({
|
||||||
id_: "3",
|
id_: "3",
|
||||||
text: "Sandwiches taste good.",
|
text: "Sandwiches taste good.",
|
||||||
embedding: embeddings[2],
|
embedding: embeddings[2],
|
||||||
metadata: { key: "sandwiches" },
|
metadata: { key: "sandwiches", number: 3 },
|
||||||
}),
|
}),
|
||||||
new Document({
|
new Document({
|
||||||
id_: "4",
|
id_: "4",
|
||||||
text: "The house is open",
|
text: "The house is open",
|
||||||
embedding: embeddings[3],
|
embedding: embeddings[3],
|
||||||
metadata: { key: "house" },
|
metadata: { key: "house", number: 4 },
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
|
});
|
||||||
|
it("perform query", async () => {
|
||||||
const results: VectorStoreQueryResult = await vectorStore.query({
|
const results: VectorStoreQueryResult = await vectorStore.query({
|
||||||
queryEmbedding: embeddings[4] || [],
|
queryEmbedding: embeddings[4] || [],
|
||||||
similarityTopK: 1,
|
similarityTopK: 1,
|
||||||
@@ -179,5 +181,62 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
|
|||||||
});
|
});
|
||||||
expect(results.ids.length).toEqual(1);
|
expect(results.ids.length).toEqual(1);
|
||||||
expect(results.ids[0]).toEqual("3");
|
expect(results.ids[0]).toEqual("3");
|
||||||
|
expect(results.similarities).toBeDefined();
|
||||||
|
expect(results.similarities[0]).toBeDefined();
|
||||||
|
}, 1000000);
|
||||||
|
|
||||||
|
it("perform query with where clause", async () => {
|
||||||
|
const options: AzureCosmosQueryOptions = {
|
||||||
|
whereClause: "c.customMetadata.number > 3",
|
||||||
|
};
|
||||||
|
const results: VectorStoreQueryResult = await vectorStore.query(
|
||||||
|
{
|
||||||
|
queryEmbedding: embeddings[4] || [],
|
||||||
|
similarityTopK: 1,
|
||||||
|
mode: VectorStoreQueryMode.DEFAULT,
|
||||||
|
},
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
expect(results.ids.length).toEqual(1);
|
||||||
|
expect(results.ids[0]).toEqual("4");
|
||||||
|
expect(results.similarities).toBeDefined();
|
||||||
|
expect(results.similarities[0]).toBeDefined();
|
||||||
|
}, 1000000);
|
||||||
|
|
||||||
|
it("perform query with includeVectorDistance false", async () => {
|
||||||
|
const options: AzureCosmosQueryOptions = {
|
||||||
|
includeVectorDistance: false,
|
||||||
|
};
|
||||||
|
const results: VectorStoreQueryResult = await vectorStore.query(
|
||||||
|
{
|
||||||
|
queryEmbedding: embeddings[4] || [],
|
||||||
|
similarityTopK: 1,
|
||||||
|
mode: VectorStoreQueryMode.DEFAULT,
|
||||||
|
},
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
expect(results.ids.length).toEqual(1);
|
||||||
|
expect(results.ids[0]).toEqual("3");
|
||||||
|
expect(results.similarities).toBeDefined();
|
||||||
|
expect(results.similarities[0]).toBeUndefined();
|
||||||
|
}, 1000000);
|
||||||
|
|
||||||
|
it("perform query with includeVectorDistance false and whereClause", async () => {
|
||||||
|
const options: AzureCosmosQueryOptions = {
|
||||||
|
includeVectorDistance: false,
|
||||||
|
whereClause: "c.customMetadata.number > 3",
|
||||||
|
};
|
||||||
|
const results: VectorStoreQueryResult = await vectorStore.query(
|
||||||
|
{
|
||||||
|
queryEmbedding: embeddings[4] || [],
|
||||||
|
similarityTopK: 1,
|
||||||
|
mode: VectorStoreQueryMode.DEFAULT,
|
||||||
|
},
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
expect(results.ids.length).toEqual(1);
|
||||||
|
expect(results.ids[0]).toEqual("4");
|
||||||
|
expect(results.similarities).toBeDefined();
|
||||||
|
expect(results.similarities[0]).toBeUndefined();
|
||||||
}, 1000000);
|
}, 1000000);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
import type { BaseNode } from "@llamaindex/core/schema";
|
import type { BaseNode } from "@llamaindex/core/schema";
|
||||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
|
import { VectorStoreQueryMode } from "../../src/vector-store.js";
|
||||||
import { TestableAzureCosmosDBNoSqlVectorStore } from "../mocks/TestableAzureCosmosDBNoSqlVectorStore.js";
|
import { TestableAzureCosmosDBNoSqlVectorStore } from "../mocks/TestableAzureCosmosDBNoSqlVectorStore.js";
|
||||||
import { createMockClient } from "../utility/mockCosmosClient.js"; // Import the mock client
|
import { createMockClient } from "../utility/mockCosmosClient.js"; // Import the mock client
|
||||||
|
|
||||||
@@ -95,4 +96,27 @@ describe("AzureCosmosDBNoSqlVectorStore Tests", () => {
|
|||||||
expect(client.databases.containers.items.create).toHaveBeenCalledTimes(2);
|
expect(client.databases.containers.items.create).toHaveBeenCalledTimes(2);
|
||||||
expect(result).toEqual(["node-0", "node-1"]);
|
expect(result).toEqual(["node-0", "node-1"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should throw error if no query embedding is provided", async () => {
|
||||||
|
const client = createMockClient();
|
||||||
|
const store = new TestableAzureCosmosDBNoSqlVectorStore({
|
||||||
|
client: client as any,
|
||||||
|
endpoint: "https://example.com",
|
||||||
|
idKey: "id",
|
||||||
|
textKey: "text",
|
||||||
|
metadataKey: "metadata",
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(store).toBeDefined();
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
store.query({
|
||||||
|
queryEmbedding: [],
|
||||||
|
similarityTopK: 4,
|
||||||
|
mode: VectorStoreQueryMode.DEFAULT,
|
||||||
|
}),
|
||||||
|
).rejects.toThrowError(
|
||||||
|
"queryEmbedding is required for AzureCosmosDBNoSqlVectorStore query",
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,43 @@
|
|||||||
# @llamaindex/node-parser
|
# @llamaindex/node-parser
|
||||||
|
|
||||||
|
## 0.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.13
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.11
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.9
|
## 0.0.9
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/node-parser",
|
"name": "@llamaindex/node-parser",
|
||||||
"version": "0.0.9",
|
"version": "0.0.14",
|
||||||
"description": "Node parser for LlamaIndex",
|
"description": "Node parser for LlamaIndex",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
"@types/html-to-text": "^9.0.4",
|
"@types/html-to-text": "^9.0.4",
|
||||||
"@types/node": "^22.9.0",
|
"@types/node": "^22.9.0",
|
||||||
"bunchee": "5.6.1",
|
"bunchee": "5.6.1",
|
||||||
"tree-sitter": "^0.22.0",
|
"tree-sitter": "^0.22.1",
|
||||||
"web-tree-sitter": "^0.24.3"
|
"web-tree-sitter": "^0.24.4"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
|
|||||||
@@ -1,5 +1,44 @@
|
|||||||
# @llamaindex/anthropic
|
# @llamaindex/anthropic
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- a7b0ac3: feat(anthropic): support prompt caching
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### 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.17",
|
"version": "0.0.22",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -33,9 +33,9 @@
|
|||||||
"bunchee": "5.6.1"
|
"bunchee": "5.6.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/sdk": "0.27.1",
|
"@anthropic-ai/sdk": "0.32.1",
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"remeda": "^2.12.0"
|
"remeda": "^2.17.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { Settings } from "@llamaindex/core/global";
|
|||||||
import type { EngineResponse } from "@llamaindex/core/schema";
|
import type { EngineResponse } from "@llamaindex/core/schema";
|
||||||
import { Anthropic } from "./llm.js";
|
import { Anthropic } from "./llm.js";
|
||||||
|
|
||||||
export type AnthropicAgentParams = LLMAgentParams;
|
export type AnthropicAgentParams = LLMAgentParams<Anthropic>;
|
||||||
|
|
||||||
export class AnthropicAgentWorker extends LLMAgentWorker {}
|
export class AnthropicAgentWorker extends LLMAgentWorker {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
import type { ClientOptions } from "@anthropic-ai/sdk";
|
import type { ClientOptions } from "@anthropic-ai/sdk";
|
||||||
import { Anthropic as SDKAnthropic } from "@anthropic-ai/sdk";
|
import { Anthropic as SDKAnthropic } from "@anthropic-ai/sdk";
|
||||||
|
import type {
|
||||||
|
BetaCacheControlEphemeral,
|
||||||
|
BetaTextBlockParam,
|
||||||
|
} from "@anthropic-ai/sdk/resources/beta/index";
|
||||||
import type {
|
import type {
|
||||||
TextBlock,
|
TextBlock,
|
||||||
TextBlockParam,
|
TextBlockParam,
|
||||||
@@ -8,6 +12,7 @@ import type {
|
|||||||
ImageBlockParam,
|
ImageBlockParam,
|
||||||
MessageCreateParamsNonStreaming,
|
MessageCreateParamsNonStreaming,
|
||||||
MessageParam,
|
MessageParam,
|
||||||
|
Model,
|
||||||
Tool,
|
Tool,
|
||||||
ToolResultBlockParam,
|
ToolResultBlockParam,
|
||||||
ToolUseBlock,
|
ToolUseBlock,
|
||||||
@@ -75,6 +80,9 @@ export const ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS = {
|
|||||||
"claude-2.1": {
|
"claude-2.1": {
|
||||||
contextWindow: 200000,
|
contextWindow: 200000,
|
||||||
},
|
},
|
||||||
|
"claude-2.0": {
|
||||||
|
contextWindow: 100000,
|
||||||
|
},
|
||||||
"claude-instant-1.2": {
|
"claude-instant-1.2": {
|
||||||
contextWindow: 100000,
|
contextWindow: 100000,
|
||||||
},
|
},
|
||||||
@@ -82,18 +90,30 @@ export const ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS = {
|
|||||||
|
|
||||||
export const ALL_AVAILABLE_V3_MODELS = {
|
export const ALL_AVAILABLE_V3_MODELS = {
|
||||||
"claude-3-opus": { contextWindow: 200000 },
|
"claude-3-opus": { contextWindow: 200000 },
|
||||||
|
"claude-3-opus-latest": { contextWindow: 200000 },
|
||||||
|
"claude-3-opus-20240229": { contextWindow: 200000 },
|
||||||
"claude-3-sonnet": { contextWindow: 200000 },
|
"claude-3-sonnet": { contextWindow: 200000 },
|
||||||
|
"claude-3-sonnet-20240229": { contextWindow: 200000 },
|
||||||
"claude-3-haiku": { contextWindow: 200000 },
|
"claude-3-haiku": { contextWindow: 200000 },
|
||||||
|
"claude-3-haiku-20240307": { contextWindow: 200000 },
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ALL_AVAILABLE_V3_5_MODELS = {
|
export const ALL_AVAILABLE_V3_5_MODELS = {
|
||||||
"claude-3-5-sonnet": { contextWindow: 200000 },
|
"claude-3-5-sonnet": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-sonnet-20241022": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-sonnet-20240620": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-sonnet-latest": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-haiku": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-haiku-latest": { contextWindow: 200000 },
|
||||||
|
"claude-3-5-haiku-20241022": { contextWindow: 200000 },
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ALL_AVAILABLE_ANTHROPIC_MODELS = {
|
export const ALL_AVAILABLE_ANTHROPIC_MODELS = {
|
||||||
...ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS,
|
...ALL_AVAILABLE_ANTHROPIC_LEGACY_MODELS,
|
||||||
...ALL_AVAILABLE_V3_MODELS,
|
...ALL_AVAILABLE_V3_MODELS,
|
||||||
...ALL_AVAILABLE_V3_5_MODELS,
|
...ALL_AVAILABLE_V3_5_MODELS,
|
||||||
|
} satisfies {
|
||||||
|
[key in Model]: { contextWindow: number };
|
||||||
};
|
};
|
||||||
|
|
||||||
const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = {
|
const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = {
|
||||||
@@ -104,10 +124,16 @@ const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = {
|
|||||||
} as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string };
|
} as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string };
|
||||||
|
|
||||||
export type AnthropicAdditionalChatOptions = object;
|
export type AnthropicAdditionalChatOptions = object;
|
||||||
|
export type AnthropicToolCallLLMMessageOptions = ToolCallLLMMessageOptions & {
|
||||||
|
cache_control?: BetaCacheControlEphemeral | null;
|
||||||
|
};
|
||||||
|
|
||||||
export class Anthropic extends ToolCallLLM<AnthropicAdditionalChatOptions> {
|
export class Anthropic extends ToolCallLLM<
|
||||||
|
AnthropicAdditionalChatOptions,
|
||||||
|
AnthropicToolCallLLMMessageOptions
|
||||||
|
> {
|
||||||
// Per completion Anthropic params
|
// Per completion Anthropic params
|
||||||
model: keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS;
|
model: keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS | ({} & string);
|
||||||
temperature: number;
|
temperature: number;
|
||||||
topP: number;
|
topP: number;
|
||||||
maxTokens?: number | undefined;
|
maxTokens?: number | undefined;
|
||||||
@@ -147,7 +173,12 @@ export class Anthropic extends ToolCallLLM<AnthropicAdditionalChatOptions> {
|
|||||||
temperature: this.temperature,
|
temperature: this.temperature,
|
||||||
topP: this.topP,
|
topP: this.topP,
|
||||||
maxTokens: this.maxTokens,
|
maxTokens: this.maxTokens,
|
||||||
contextWindow: ALL_AVAILABLE_ANTHROPIC_MODELS[this.model].contextWindow,
|
contextWindow:
|
||||||
|
this.model in ALL_AVAILABLE_ANTHROPIC_MODELS
|
||||||
|
? ALL_AVAILABLE_ANTHROPIC_MODELS[
|
||||||
|
this.model as keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS
|
||||||
|
].contextWindow
|
||||||
|
: 200000,
|
||||||
tokenizer: undefined,
|
tokenizer: undefined,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -291,56 +322,74 @@ export class Anthropic extends ToolCallLLM<AnthropicAdditionalChatOptions> {
|
|||||||
chat(
|
chat(
|
||||||
params: LLMChatParamsStreaming<
|
params: LLMChatParamsStreaming<
|
||||||
AnthropicAdditionalChatOptions,
|
AnthropicAdditionalChatOptions,
|
||||||
ToolCallLLMMessageOptions
|
AnthropicToolCallLLMMessageOptions
|
||||||
>,
|
>,
|
||||||
): Promise<AsyncIterable<ChatResponseChunk<ToolCallLLMMessageOptions>>>;
|
): Promise<
|
||||||
|
AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>>
|
||||||
|
>;
|
||||||
chat(
|
chat(
|
||||||
params: LLMChatParamsNonStreaming<
|
params: LLMChatParamsNonStreaming<
|
||||||
AnthropicAdditionalChatOptions,
|
AnthropicAdditionalChatOptions,
|
||||||
ToolCallLLMMessageOptions
|
AnthropicToolCallLLMMessageOptions
|
||||||
>,
|
>,
|
||||||
): Promise<ChatResponse<ToolCallLLMMessageOptions>>;
|
): Promise<ChatResponse<AnthropicToolCallLLMMessageOptions>>;
|
||||||
@wrapLLMEvent
|
@wrapLLMEvent
|
||||||
async chat(
|
async chat(
|
||||||
params:
|
params:
|
||||||
| LLMChatParamsNonStreaming<
|
| LLMChatParamsNonStreaming<
|
||||||
AnthropicAdditionalChatOptions,
|
AnthropicAdditionalChatOptions,
|
||||||
ToolCallLLMMessageOptions
|
AnthropicToolCallLLMMessageOptions
|
||||||
>
|
>
|
||||||
| LLMChatParamsStreaming<
|
| LLMChatParamsStreaming<
|
||||||
AnthropicAdditionalChatOptions,
|
AnthropicAdditionalChatOptions,
|
||||||
ToolCallLLMMessageOptions
|
AnthropicToolCallLLMMessageOptions
|
||||||
>,
|
>,
|
||||||
): Promise<
|
): Promise<
|
||||||
| ChatResponse<ToolCallLLMMessageOptions>
|
| ChatResponse<AnthropicToolCallLLMMessageOptions>
|
||||||
| AsyncIterable<ChatResponseChunk<ToolCallLLMMessageOptions>>
|
| AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>>
|
||||||
> {
|
> {
|
||||||
let { messages } = params;
|
let { messages } = params;
|
||||||
|
|
||||||
const { stream, tools } = params;
|
const { stream, tools } = params;
|
||||||
|
|
||||||
let systemPrompt: string | null = null;
|
let systemPrompt: string | Array<BetaTextBlockParam> | null = null;
|
||||||
|
|
||||||
const systemMessages = messages.filter(
|
const systemMessages = messages.filter(
|
||||||
(message) => message.role === "system",
|
(message) => message.role === "system",
|
||||||
);
|
);
|
||||||
|
|
||||||
if (systemMessages.length > 0) {
|
if (systemMessages.length > 0) {
|
||||||
systemPrompt = systemMessages
|
systemPrompt = systemMessages.map((message) =>
|
||||||
.map((message) => message.content)
|
message.options && "cache_control" in message.options
|
||||||
.join("\n");
|
? {
|
||||||
|
type: "text",
|
||||||
|
text: extractText(message.content),
|
||||||
|
cache_control: message.options.cache_control,
|
||||||
|
}
|
||||||
|
: {
|
||||||
|
type: "text",
|
||||||
|
text: extractText(message.content),
|
||||||
|
},
|
||||||
|
);
|
||||||
messages = messages.filter((message) => message.role !== "system");
|
messages = messages.filter((message) => message.role !== "system");
|
||||||
}
|
}
|
||||||
|
const beta =
|
||||||
|
systemPrompt?.find((message) => "cache_control" in message) !== undefined;
|
||||||
|
|
||||||
|
// case: Non-streaming
|
||||||
|
let anthropic = this.session.anthropic;
|
||||||
|
if (beta) {
|
||||||
|
// @ts-expect-error type casting
|
||||||
|
anthropic = anthropic.beta.promptCaching;
|
||||||
|
}
|
||||||
|
|
||||||
// case: Streaming
|
// case: Streaming
|
||||||
if (stream) {
|
if (stream) {
|
||||||
if (tools) {
|
if (tools) {
|
||||||
console.error("Tools are not supported in streaming mode");
|
console.error("Tools are not supported in streaming mode");
|
||||||
}
|
}
|
||||||
return this.streamChat(messages, systemPrompt);
|
return this.streamChat(messages, systemPrompt, anthropic);
|
||||||
}
|
}
|
||||||
// case: Non-streaming
|
|
||||||
const anthropic = this.session.anthropic;
|
|
||||||
|
|
||||||
if (tools) {
|
if (tools) {
|
||||||
const params: MessageCreateParamsNonStreaming = {
|
const params: MessageCreateParamsNonStreaming = {
|
||||||
@@ -378,7 +427,10 @@ export class Anthropic extends ToolCallLLM<AnthropicAdditionalChatOptions> {
|
|||||||
toolCall: toolUseBlock.map((block) => ({
|
toolCall: toolUseBlock.map((block) => ({
|
||||||
id: block.id,
|
id: block.id,
|
||||||
name: block.name,
|
name: block.name,
|
||||||
input: block.input,
|
input:
|
||||||
|
typeof block.input === "object"
|
||||||
|
? JSON.stringify(block.input)
|
||||||
|
: `${block.input}`,
|
||||||
})),
|
})),
|
||||||
}
|
}
|
||||||
: {},
|
: {},
|
||||||
@@ -411,10 +463,11 @@ export class Anthropic extends ToolCallLLM<AnthropicAdditionalChatOptions> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected async *streamChat(
|
protected async *streamChat(
|
||||||
messages: ChatMessage<ToolCallLLMMessageOptions>[],
|
messages: ChatMessage<AnthropicToolCallLLMMessageOptions>[],
|
||||||
systemPrompt?: string | null,
|
systemPrompt: string | Array<BetaTextBlockParam> | null,
|
||||||
): AsyncIterable<ChatResponseChunk<ToolCallLLMMessageOptions>> {
|
anthropic: SDKAnthropic,
|
||||||
const stream = await this.session.anthropic.messages.create({
|
): AsyncIterable<ChatResponseChunk<AnthropicToolCallLLMMessageOptions>> {
|
||||||
|
const stream = await anthropic.messages.create({
|
||||||
model: this.getModelName(this.model),
|
model: this.getModelName(this.model),
|
||||||
messages: this.formatMessages(messages),
|
messages: this.formatMessages(messages),
|
||||||
max_tokens: this.maxTokens ?? 4096,
|
max_tokens: this.maxTokens ?? 4096,
|
||||||
|
|||||||
@@ -1,5 +1,47 @@
|
|||||||
# @llamaindex/clip
|
# @llamaindex/clip
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### 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.17",
|
"version": "0.0.22",
|
||||||
"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,47 @@
|
|||||||
# @llamaindex/deepinfra
|
# @llamaindex/deepinfra
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### 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.17",
|
"version": "0.0.22",
|
||||||
"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/groq
|
# @llamaindex/groq
|
||||||
|
|
||||||
|
## 0.0.37
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
|
||||||
|
## 0.0.36
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
|
||||||
|
## 0.0.35
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
|
||||||
|
## 0.0.34
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
|
||||||
|
## 0.0.33
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.32
|
## 0.0.32
|
||||||
|
|
||||||
### 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.32",
|
"version": "0.0.37",
|
||||||
"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/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"@llamaindex/openai": "workspace:*",
|
"@llamaindex/openai": "workspace:*",
|
||||||
"groq-sdk": "0.6.1"
|
"groq-sdk": "0.8.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,47 @@
|
|||||||
# @llamaindex/huggingface
|
# @llamaindex/huggingface
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
- @llamaindex/openai@0.1.38
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
- @llamaindex/openai@0.1.37
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
- @llamaindex/openai@0.1.36
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
- @llamaindex/openai@0.1.35
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### 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.17",
|
"version": "0.0.22",
|
||||||
"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,43 @@
|
|||||||
# @llamaindex/ollama
|
# @llamaindex/ollama
|
||||||
|
|
||||||
|
## 0.0.29
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.28
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.27
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.26
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.24
|
## 0.0.24
|
||||||
|
|
||||||
### 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.24",
|
"version": "0.0.29",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"ollama": "^0.5.9",
|
"ollama": "^0.5.10",
|
||||||
"remeda": "^2.12.0"
|
"remeda": "^2.17.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { Ollama } from "./llm";
|
|||||||
|
|
||||||
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
||||||
|
|
||||||
export type OllamaAgentParams = LLMAgentParams & {
|
export type OllamaAgentParams = LLMAgentParams<Ollama> & {
|
||||||
model?: string;
|
model?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,44 @@
|
|||||||
# @llamaindex/openai
|
# @llamaindex/openai
|
||||||
|
|
||||||
|
## 0.1.38
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.1.37
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.1.36
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.1.35
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.1.34
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 7ae6eaa: feat: allow pass `additionalChatOptions` to agent
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.1.33
|
## 0.1.33
|
||||||
|
|
||||||
### 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.33",
|
"version": "0.1.38",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -35,7 +35,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"openai": "^4.68.1",
|
"openai": "^4.72.0"
|
||||||
"remeda": "^2.12.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,16 @@ import {
|
|||||||
type LLMAgentParams,
|
type LLMAgentParams,
|
||||||
} from "@llamaindex/core/agent";
|
} from "@llamaindex/core/agent";
|
||||||
import { Settings } from "@llamaindex/core/global";
|
import { Settings } from "@llamaindex/core/global";
|
||||||
import { OpenAI } from "./llm";
|
import type { ToolCallLLMMessageOptions } from "@llamaindex/core/llms";
|
||||||
|
import { OpenAI, type OpenAIAdditionalChatOptions } from "./llm";
|
||||||
|
|
||||||
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
// This is likely not necessary anymore but leaving it here just in case it's in use elsewhere
|
||||||
|
|
||||||
export type OpenAIAgentParams = LLMAgentParams;
|
export type OpenAIAgentParams = LLMAgentParams<
|
||||||
|
OpenAI,
|
||||||
|
ToolCallLLMMessageOptions,
|
||||||
|
OpenAIAdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
export class OpenAIAgentWorker extends LLMAgentWorker {}
|
export class OpenAIAgentWorker extends LLMAgentWorker {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,43 @@
|
|||||||
# @llamaindex/portkey-ai
|
# @llamaindex/portkey-ai
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 90d265c: chore: bump version
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### 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.17",
|
"version": "0.0.22",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -36,6 +36,6 @@
|
|||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"portkey-ai": "0.1.16",
|
"portkey-ai": "0.1.16",
|
||||||
"remeda": "^2.12.0"
|
"remeda": "^2.17.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
# @llamaindex/replicate
|
# @llamaindex/replicate
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [90d265c]
|
||||||
|
- @llamaindex/core@0.4.13
|
||||||
|
- @llamaindex/env@0.1.21
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ef4f63d]
|
||||||
|
- @llamaindex/core@0.4.12
|
||||||
|
|
||||||
|
## 0.0.20
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [6d22fa2]
|
||||||
|
- @llamaindex/core@0.4.11
|
||||||
|
|
||||||
|
## 0.0.19
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a7b0ac3]
|
||||||
|
- Updated dependencies [c69605f]
|
||||||
|
- @llamaindex/core@0.4.10
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user