Compare commits

...

18 Commits

Author SHA1 Message Date
github-actions[bot] 0aa61db547 Release 0.8.19 (#1507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-19 00:01:48 -08:00
Alex Yang 90d265cf47 chore: bump version (#1505) 2024-11-18 18:39:13 -08:00
github-actions[bot] fc2d5ea1cd Release 0.8.18 (#1506)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-18 13:08:32 -08:00
Thuc Pham ef4f63d9f4 refactor: move mockLLM to core (#1493)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-18 11:39:46 -08:00
Thuc Pham d17450fdfb fix: next.js 15 compatibility (#1474)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-18 11:34:05 -08:00
github-actions[bot] 805d2b0d55 Release 0.8.17 (#1504)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-18 10:28:15 -08:00
Marcus Schiesser 6d22fa2a50 feat: Get PromptTemplate template variables at run-time (#1502) 2024-11-18 09:34:26 -08:00
Aman Rao 16f0068175 chore: update azure cosmos db no sql vector store (#1503) 2024-11-18 09:33:20 -08:00
github-actions[bot] 1054c3382a Release 0.8.16 (#1499)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-17 22:28:02 -08:00
Alex Yang e60328b086 fix: import error in cjs (#1498) 2024-11-17 22:24:09 -08:00
Laurie Voss 3371dfb89f Syncing footer to match main site (#1496) 2024-11-16 00:43:44 -08:00
github-actions[bot] 2065a16a07 Release 0.8.15 (#1494)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-15 11:27:52 -08:00
Wassim Chegham 5dae534f8d fix: propagate queryStr to concrete vectorStore (#1495)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-15 11:16:32 -08:00
Aman Rao 3d503cb810 chore: update azure cosmos db (#1484)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-15 00:55:32 -08:00
Thuc Pham daf8522bec feat: use mock llm (#1492) 2024-11-15 14:50:49 +08:00
github-actions[bot] 223f3136b4 Release 0.8.14 (#1491)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-14 21:49:37 -08:00
Thuc Pham c6bad7d951 docs(next): chat UI with rsc example (#1481)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2024-11-14 21:33:30 -08:00
Aman Rao 630b425545 feat: add Azure CosmosDB NoSql Chat store (#1490)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-11-14 21:30:55 -08:00
93 changed files with 4910 additions and 3006 deletions
+41
View File
@@ -1,5 +1,46 @@
# 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
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.0.118",
"version": "0.0.124",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
@@ -15,23 +15,23 @@
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "3.6.0",
"@docusaurus/remark-plugin-npm2yarn": "3.6.0",
"@docusaurus/core": "3.6.1",
"@docusaurus/remark-plugin-npm2yarn": "3.6.1",
"@llamaindex/examples": "workspace:*",
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"llamaindex": "workspace:*",
"postcss": "^8.4.47",
"postcss": "^8.4.49",
"prism-react-renderer": "^2.4.0",
"raw-loader": "^4.0.2",
"react": "^18.3.1",
"react-dom": "18.3.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.6.0",
"@docusaurus/preset-classic": "3.6.0",
"@docusaurus/theme-classic": "3.6.0",
"@docusaurus/types": "3.6.0",
"@docusaurus/module-type-aliases": "3.6.1",
"@docusaurus/preset-classic": "3.6.1",
"@docusaurus/theme-classic": "3.6.1",
"@docusaurus/types": "3.6.1",
"@tsconfig/docusaurus": "2.0.3",
"@types/node": "^22.9.0",
"docusaurus-plugin-typedoc": "1.0.5",
+60
View File
@@ -1,5 +1,65 @@
# @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
+2
View File
@@ -6,6 +6,7 @@ const withMDX = createMDX();
const config = {
reactStrictMode: true,
transpilePackages: ["monaco-editor"],
serverExternalPackages: ["@huggingface/transformers"],
webpack: (config, { isServer }) => {
if (Array.isArray(config.target) && config.target.includes("web")) {
config.target = ["web", "es2020"];
@@ -26,6 +27,7 @@ const config = {
}),
);
}
config.resolve.alias["replicate"] = false;
return config;
},
};
+24 -24
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.0.16",
"version": "0.0.22",
"private": true,
"scripts": {
"build": "pnpm run build:docs && next build",
@@ -12,7 +12,7 @@
},
"dependencies": {
"@icons-pack/react-simple-icons": "^10.1.0",
"@llamaindex/chat-ui": "0.0.5",
"@llamaindex/chat-ui": "0.0.9",
"@llamaindex/cloud": "workspace:*",
"@llamaindex/core": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
@@ -20,31 +20,31 @@
"@llamaindex/readers": "workspace:*",
"@llamaindex/workflow": "workspace:*",
"@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-icons": "^1.3.1",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-slider": "^1.2.1",
"@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",
"ai": "^3.4.31",
"ai": "^3.4.33",
"class-variance-authority": "^0.7.0",
"clsx": "2.1.1",
"foxact": "^0.2.40",
"framer-motion": "^11.11.11",
"fumadocs-core": "14.2.0",
"fumadocs-docgen": "^1.3.1",
"foxact": "^0.2.41",
"framer-motion": "^11.11.17",
"fumadocs-core": "14.4.2",
"fumadocs-docgen": "^1.3.2",
"fumadocs-mdx": "^11.1.1",
"fumadocs-openapi": "^5.5.6",
"fumadocs-openapi": "^5.7.0",
"fumadocs-twoslash": "^2.0.1",
"fumadocs-typescript": "^3.0.1",
"fumadocs-ui": "14.2.0",
"fumadocs-typescript": "^3.0.2",
"fumadocs-ui": "14.4.2",
"hast-util-to-jsx-runtime": "^2.3.2",
"llamaindex": "workspace:*",
"lucide-react": "^0.454.0",
"next": "15.0.2",
"next-themes": "^0.3.0",
"lucide-react": "^0.460.0",
"next": "15.0.3",
"next-themes": "^0.4.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.3.0",
@@ -54,19 +54,19 @@
"rehype-katex": "^7.0.1",
"remark-math": "^6.0.0",
"rimraf": "^6.0.1",
"shiki": "^1.22.2",
"shiki": "^1.23.1",
"shiki-magic-move": "^0.5.0",
"swr": "^2.2.5",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"tree-sitter": "^0.22.0",
"tree-sitter-typescript": "^0.23.0",
"use-stick-to-bottom": "^1.0.41",
"web-tree-sitter": "^0.24.3",
"tree-sitter": "^0.22.1",
"tree-sitter-typescript": "^0.23.2",
"use-stick-to-bottom": "^1.0.42",
"web-tree-sitter": "^0.24.4",
"zod": "^3.23.8"
},
"devDependencies": {
"@next/env": "^15.0.2",
"@next/env": "^15.0.3",
"@types/mdx": "^2.0.13",
"@types/node": "22.9.0",
"@types/react": "^18.3.12",
@@ -75,12 +75,12 @@
"fast-glob": "^3.3.2",
"gray-matter": "^4.0.3",
"monaco-editor-webpack-plugin": "^7.1.0",
"postcss": "^8.4.47",
"postcss": "^8.4.49",
"remark": "^15.0.1",
"remark-gfm": "^4.0.0",
"remark-mdx": "^3.1.0",
"remark-stringify": "^11.0.0",
"tailwindcss": "^3.4.14",
"tailwindcss": "^3.4.15",
"tsx": "^4.19.2",
"typescript": "^5.6.3"
}
+4 -1
View File
@@ -1,7 +1,10 @@
import { MockLLM } from "@llamaindex/core/utils";
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";
Settings.llm = new MockLLM(); // config your LLM here
export async function POST(request: NextRequest) {
try {
const { messages } = (await request.json()) as { messages: Message[] };
-8
View File
@@ -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,
};
}
+27 -5
View File
@@ -85,6 +85,33 @@ const Footer = () => {
<Text as="span">SharePoint</Text>
</a>
</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>
</div>
<div>
@@ -171,11 +198,6 @@ const Footer = () => {
<Text as="span">SEC Insights</Text>
</a>
</li>
<li>
<a href="https://chat.llamaindex.ai/">
<Text as="span">Chat LlamaIndex</Text>
</a>
</li>
<li>
<a href="https://github.com/run-llama/llamabot">
<Text as="span">LlamaBot</Text>
@@ -1,8 +1,8 @@
---
title: Chat-UI
description: Use chat-ui to add a chat interface to your LlamaIndexTS application.
title: Using API Route
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/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
{
"file": "./src/components/demo/chat.tsx",
"file": "./src/components/demo/chat/api/demo.tsx",
"codeblock": true
}
```
@@ -37,6 +37,7 @@ Combining both, you're getting a fully functional chat interface:
<ChatDemo />
## Next Steps
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,46 @@
# @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
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.109",
"version": "0.0.115",
"type": "module",
"private": true,
"scripts": {
@@ -12,13 +12,13 @@
"cf-typegen": "wrangler types"
},
"devDependencies": {
"@cloudflare/vitest-pool-workers": "^0.5.8",
"@cloudflare/workers-types": "^4.20240924.0",
"@vitest/runner": "2.1.4",
"@vitest/snapshot": "2.1.4",
"@cloudflare/vitest-pool-workers": "^0.5.28",
"@cloudflare/workers-types": "^4.20241112.0",
"@vitest/runner": "2.1.5",
"@vitest/snapshot": "2.1.5",
"typescript": "^5.6.3",
"vitest": "2.1.4",
"wrangler": "^3.78.8"
"vitest": "2.1.5",
"wrangler": "^3.87.0"
},
"dependencies": {
"llamaindex": "workspace:*"
@@ -1,5 +1,24 @@
# @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
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.30",
"version": "0.0.33",
"type": "module",
"scripts": {
"dev": "vite",
@@ -10,7 +10,7 @@
},
"devDependencies": {
"typescript": "^5.6.3",
"vite": "^5.4.1",
"vite": "^5.4.11",
"vite-plugin-wasm": "^3.3.0"
},
"dependencies": {
+41
View File
@@ -1,5 +1,46 @@
# @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
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.109",
"version": "0.1.115",
"private": true,
"scripts": {
"dev": "next dev",
@@ -8,9 +8,9 @@
"start": "next start"
},
"dependencies": {
"ai": "^3.3.21",
"ai": "^4.0.0",
"llamaindex": "workspace:*",
"next": "15.0.2",
"next": "15.0.3",
"react": "18.3.1",
"react-dom": "18.3.1"
},
@@ -18,10 +18,10 @@
"@types/node": "^22.9.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"eslint": "9.14.0",
"eslint-config-next": "15.0.2",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"eslint": "9.15.0",
"eslint-config-next": "15.0.3",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.15",
"typescript": "^5.6.3"
}
}
@@ -1,5 +1,46 @@
# 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
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.108",
"version": "0.1.114",
"private": true,
"scripts": {
"dev": "next dev",
@@ -9,7 +9,7 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"next": "15.0.2",
"next": "15.0.3",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
@@ -1,5 +1,46 @@
# @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
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.0.90",
"version": "0.0.96",
"private": true,
"scripts": {
"dev": "next dev",
@@ -9,7 +9,7 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"next": "15.0.2",
"next": "15.0.3",
"react": "18.3.1",
"react-dom": "18.3.1"
},
@@ -17,10 +17,10 @@
"@types/node": "^22.9.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"eslint": "9.14.0",
"eslint-config-next": "15.0.2",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"eslint": "9.15.0",
"eslint-config-next": "15.0.3",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.15",
"typescript": "^5.6.3"
}
}
@@ -1,5 +1,46 @@
# @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
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.109",
"version": "0.0.115",
"type": "module",
"private": true,
"scripts": {
@@ -10,16 +10,16 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"react": "19.0.0-rc-bf7e210c-20241017",
"react-dom": "19.0.0-rc-bf7e210c-20241017",
"react-server-dom-webpack": "19.0.0-rc-bf7e210c-20241017",
"waku": "0.21.4"
"react": "19.0.0-rc-5c56b873-20241107",
"react-dom": "19.0.0-rc-5c56b873-20241107",
"react-server-dom-webpack": "19.0.0-rc-5c56b873-20241107",
"waku": "0.21.6"
},
"devDependencies": {
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
"autoprefixer": "^10.4.20",
"tailwindcss": "^3.4.14",
"tailwindcss": "^3.4.15",
"typescript": "5.6.3"
}
}
-8
View File
@@ -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
const { vectorStore, docStore, indexStore } = await initializeStores();
+1 -1
View File
@@ -11,7 +11,7 @@
"@llamaindex/readers": "^1.0.11",
"@llamaindex/workflow": "^0.0.6",
"@notionhq/client": "^2.2.15",
"@pinecone-database/pinecone": "^3.0.2",
"@pinecone-database/pinecone": "^4.0.0",
"@vercel/postgres": "^0.10.0",
"@zilliz/milvus2-sdk-node": "^2.4.6",
"chromadb": "^1.8.1",
+6 -6
View File
@@ -19,20 +19,20 @@
},
"devDependencies": {
"@changesets/cli": "^2.27.5",
"eslint": "9.14.0",
"eslint-config-next": "^15.0.2",
"eslint": "9.15.0",
"eslint-config-next": "^15.0.3",
"eslint-config-prettier": "^9.1.0",
"eslint-config-turbo": "^2.2.3",
"eslint-config-turbo": "^2.3.0",
"eslint-plugin-react": "7.37.2",
"globals": "^15.12.0",
"husky": "^9.1.6",
"husky": "^9.1.7",
"lint-staged": "^15.2.10",
"madge": "^8.0.0",
"prettier": "^3.3.3",
"prettier-plugin-organize-imports": "^4.1.0",
"turbo": "^2.2.3",
"turbo": "^2.3.0",
"typescript": "^5.6.3",
"typescript-eslint": "^8.13.0"
"typescript-eslint": "^8.15.0"
},
"packageManager": "pnpm@9.12.3",
"lint-staged": {
+42
View File
@@ -1,5 +1,47 @@
# @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
@@ -1,5 +1,52 @@
# @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
@@ -5,7 +5,7 @@
"dependencies": {
"@llamaindex/autotool": "workspace:*",
"llamaindex": "workspace:*",
"openai": "^4.57.0"
"openai": "^4.72.0"
},
"devDependencies": {
"tsx": "^4.19.0"
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.56"
"version": "0.0.62"
}
@@ -1,5 +1,52 @@
# @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
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool-02-next-example",
"private": true,
"version": "0.1.100",
"version": "0.1.106",
"scripts": {
"dev": "next dev",
"build": "next build",
@@ -10,17 +10,17 @@
"dependencies": {
"@llamaindex/autotool": "workspace:*",
"@radix-ui/react-slot": "^1.1.0",
"ai": "^3.3.21",
"ai": "^4.0.0",
"class-variance-authority": "^0.7.0",
"dotenv": "^16.3.1",
"llamaindex": "workspace:*",
"lucide-react": "^0.436.0",
"next": "15.0.2",
"lucide-react": "^0.460.0",
"next": "15.0.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-markdown": "^9.0.1",
"react-syntax-highlighter": "^15.5.0",
"sonner": "^1.5.0",
"sonner": "^1.7.0",
"tailwind-merge": "^2.5.2"
},
"devDependencies": {
@@ -30,8 +30,8 @@
"@types/react-syntax-highlighter": "^15.5.11",
"autoprefixer": "^10.4.20",
"cross-env": "^7.0.3",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.15",
"typescript": "^5.6.3"
}
}
+7 -7
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool",
"type": "module",
"version": "5.0.13",
"version": "5.0.19",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
@@ -45,10 +45,10 @@
"dev": "bunchee --watch"
},
"dependencies": {
"@swc/core": "^1.7.22",
"jotai": "2.8.4",
"@swc/core": "^1.9.2",
"jotai": "2.10.2",
"typedoc": "^0.26.11",
"unplugin": "^1.12.2"
"unplugin": "^1.16.0"
},
"peerDependencies": {
"llamaindex": "workspace:*",
@@ -72,11 +72,11 @@
"@types/node": "^22.9.0",
"bunchee": "5.6.1",
"llamaindex": "workspace:*",
"next": "15.0.2",
"rollup": "^4.24.4",
"next": "15.0.3",
"rollup": "^4.27.3",
"tsx": "^4.19.0",
"typescript": "^5.6.3",
"vitest": "^2.1.4",
"vitest": "^2.1.5",
"webpack": "^5.94.0"
}
}
+1 -1
View File
@@ -22,7 +22,7 @@ export type InfoString = {
parameterMapping: Record<string, number>;
};
export const store = createStore();
export const store: ReturnType<typeof createStore> = createStore();
export const toolMetadataAtom = atom<[ToolMetadata, Info][]>([]);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const toolsAtom = atom<Record<string, (...args: any[]) => any>>({});
+23
View File
@@ -1,5 +1,28 @@
# @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
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "2.0.10",
"version": "2.0.13",
"type": "module",
"license": "MIT",
"scripts": {
@@ -50,8 +50,8 @@
"directory": "packages/cloud"
},
"devDependencies": {
"@hey-api/client-fetch": "^0.4.2",
"@hey-api/openapi-ts": "^0.54.3",
"@hey-api/client-fetch": "^0.4.4",
"@hey-api/openapi-ts": "^0.56.0",
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"bunchee": "5.6.1"
+23
View File
@@ -1,5 +1,28 @@
# @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
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.68",
"version": "0.0.71",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -46,8 +46,8 @@
"bunchee": "5.6.1"
},
"dependencies": {
"@aws-sdk/client-bedrock-agent-runtime": "^3.642.0",
"@aws-sdk/client-bedrock-runtime": "^3.642.0",
"@aws-sdk/client-bedrock-agent-runtime": "^3.693.0",
"@aws-sdk/client-bedrock-runtime": "^3.693.0",
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*"
}
+20
View File
@@ -1,5 +1,25 @@
# @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
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.4.10",
"version": "0.4.13",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
@@ -389,10 +389,10 @@
"url": "https://github.com/run-llama/LlamaIndexTS.git"
},
"devDependencies": {
"@edge-runtime/vm": "^4.0.3",
"@edge-runtime/vm": "^4.0.4",
"ajv": "^8.17.1",
"bunchee": "5.6.1",
"happy-dom": "^15.11.0",
"happy-dom": "^15.11.6",
"natural": "^8.0.1"
},
"dependencies": {
+13
View File
@@ -32,6 +32,10 @@ export abstract class BasePromptTemplate<
const Vars extends readonly string[] = string[],
> {
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();
options: Partial<Record<TemplatesVar[number] | (string & {}), string>> = {};
outputParser: BaseOutputParser | undefined;
@@ -223,4 +227,13 @@ export class PromptTemplate<
get template(): 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)))];
}
}
+1
View File
@@ -76,6 +76,7 @@ export {
extractText,
imageToDataUrl,
messagesToHistory,
MockLLM,
toToolDescriptions,
} from "./llms";
+88
View File
@@ -2,6 +2,15 @@ import { fs } from "@llamaindex/env";
import { filetypemime } from "magic-bytes.js";
import type {
ChatMessage,
ChatResponse,
ChatResponseChunk,
CompletionResponse,
LLM,
LLMChatParamsNonStreaming,
LLMChatParamsStreaming,
LLMCompletionParamsNonStreaming,
LLMCompletionParamsStreaming,
LLMMetadata,
MessageContent,
MessageContentDetail,
MessageContentTextDetail,
@@ -143,3 +152,82 @@ export async function imageToDataUrl(
}
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: {} };
}
}
+1 -1
View File
@@ -7,6 +7,6 @@
},
"devDependencies": {
"@llamaindex/core": "workspace:*",
"vitest": "^2.1.4"
"vitest": "^2.1.5"
}
}
+11
View File
@@ -158,4 +158,15 @@ describe("PromptTemplate", () => {
const formatted = prompt.format({ text: "world", foo: "bar" });
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");
});
});
+6
View File
@@ -1,5 +1,11 @@
# @llamaindex/env
## 0.1.21
### Patch Changes
- 90d265c: chore: bump version
## 0.1.20
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/env",
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
"version": "0.1.20",
"version": "0.1.21",
"type": "module",
"types": "dist/index.d.ts",
"module": "dist/index.js",
@@ -122,13 +122,13 @@
"test": "vitest"
},
"devDependencies": {
"@huggingface/transformers": "^3.0.2",
"@types/node": "^22.9.0",
"@types/readable-stream": "^4.0.15",
"@huggingface/transformers": "^3.0.2",
"bunchee": "5.6.1",
"gpt-tokenizer": "^2.6.0",
"gpt-tokenizer": "^2.6.2",
"pathe": "^1.1.2",
"vitest": "^2.1.4"
"vitest": "^2.1.5"
},
"peerDependencies": {
"@aws-crypto/sha256-js": "^5.2.0",
+42
View File
@@ -1,5 +1,47 @@
# @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
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.125",
"version": "0.0.131",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -57,7 +57,7 @@
"devDependencies": {
"@aws-crypto/sha256-js": "^5.2.0",
"@swc/cli": "^0.5.0",
"@swc/core": "^1.7.22",
"@swc/core": "^1.9.2",
"@types/jsonpath": "^0.2.4",
"concurrently": "^9.1.0",
"pathe": "^1.1.2"
+83
View File
@@ -1,5 +1,88 @@
# 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
+24 -14
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.8.13",
"version": "0.8.19",
"license": "MIT",
"type": "module",
"keywords": [
@@ -20,15 +20,15 @@
"llamaindex"
],
"dependencies": {
"@anthropic-ai/sdk": "0.27.1",
"@anthropic-ai/sdk": "0.32.1",
"@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/identity": "^4.4.1",
"@datastax/astra-db-ts": "^1.4.1",
"@discoveryjs/json-ext": "^0.6.1",
"@google-cloud/vertexai": "1.2.0",
"@google/generative-ai": "0.12.0",
"@google-cloud/vertexai": "1.9.0",
"@google/generative-ai": "0.21.0",
"@grpc/grpc-js": "^1.12.2",
"@llamaindex/anthropic": "workspace:*",
"@llamaindex/clip": "workspace:*",
@@ -45,9 +45,9 @@
"@llamaindex/readers": "workspace:*",
"@llamaindex/replicate": "workspace:*",
"@llamaindex/vllm": "workspace:*",
"@mistralai/mistralai": "^1.0.4",
"@mistralai/mistralai": "^1.3.4",
"@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",
"@types/lodash": "^4.17.7",
"@types/node": "^22.9.0",
@@ -55,20 +55,20 @@
"@upstash/vector": "^1.1.5",
"@zilliz/milvus2-sdk-node": "^2.4.6",
"ajv": "^8.17.1",
"assemblyai": "^4.7.0",
"assemblyai": "^4.8.0",
"chromadb": "1.9.2",
"chromadb-default-embed": "^2.13.2",
"cohere-ai": "7.13.0",
"gpt-tokenizer": "^2.6.0",
"groq-sdk": "^0.6.1",
"cohere-ai": "7.14.0",
"gpt-tokenizer": "^2.6.2",
"groq-sdk": "^0.8.0",
"js-tiktoken": "^1.0.14",
"lodash": "^4.17.21",
"magic-bytes.js": "^1.10.0",
"mongodb": "^6.7.0",
"openai": "^4.60.0",
"openai": "^4.72.0",
"pathe": "^1.1.2",
"rake-modified": "^1.0.8",
"weaviate-client": "^3.1.4",
"weaviate-client": "^3.2.3",
"wikipedia": "^2.1.2",
"wink-nlp": "^2.3.0",
"zod": "^3.23.8"
@@ -88,7 +88,7 @@
"devDependencies": {
"@huggingface/transformers": "^3.0.2",
"@swc/cli": "^0.5.0",
"@swc/core": "^1.7.22",
"@swc/core": "^1.9.2",
"@vercel/postgres": "^0.10.0",
"concurrently": "^9.1.0",
"glob": "^11.0.0",
@@ -125,6 +125,16 @@
"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",
"./internal/*": {
"import": "./dist/not-allow.js",
@@ -18,6 +18,7 @@ import {
type NodeWithScore,
} from "@llamaindex/core/schema";
import type { BaseIndexStore } from "@llamaindex/core/storage/index-store";
import { extractText } from "@llamaindex/core/utils";
import type { ServiceContext } from "../../ServiceContext.js";
import { nodeParserFromSettingsOrContext } from "../../Settings.js";
import { RetrieverQueryEngine } from "../../engines/query/RetrieverQueryEngine.js";
@@ -449,8 +450,13 @@ export class VectorIndexRetriever extends BaseRetriever {
filters?: MetadataFilters,
): Promise<NodeWithScore[]> {
// convert string message to multi-modal format
let queryStr = query;
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
const embedModel = this.index.embedModel ?? vectorStore.embedModel;
@@ -460,6 +466,7 @@ export class VectorIndexRetriever extends BaseRetriever {
const queryEmbedding = await embedModel.getQueryEmbedding(item);
if (queryEmbedding) {
const result = await vectorStore.query({
queryStr,
queryEmbedding,
mode: VectorStoreQueryMode.DEFAULT,
similarityTopK: this.topK[type]!,
+2 -1
View File
@@ -4,6 +4,7 @@ import {
HarmBlockThreshold,
HarmCategory,
type SafetySetting,
SchemaType,
} from "@google/generative-ai";
import { type GenerateContentResponse } from "@google-cloud/vertexai";
@@ -161,7 +162,7 @@ export const mapBaseToolToGeminiFunctionDeclaration = (
tool: BaseTool,
): FunctionDeclaration => {
const parameters: FunctionDeclarationSchema = {
type: tool.metadata.parameters?.type.toUpperCase(),
type: tool.metadata.parameters?.type.toLowerCase() as SchemaType,
properties: tool.metadata.parameters?.properties,
description: tool.metadata.parameters?.description,
required: tool.metadata.parameters?.required,
+19 -6
View File
@@ -15,15 +15,28 @@
*
* @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
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
config.experimental.serverComponentsExternalPackages =
config.experimental.serverComponentsExternalPackages ?? [];
config.experimental.serverComponentsExternalPackages.push(
"@huggingface/transformers",
);
if (is14OrLower) {
config.experimental.serverComponentsExternalPackages =
config.experimental.serverComponentsExternalPackages ?? [];
config.experimental.serverComponentsExternalPackages.push(
"@huggingface/transformers",
);
} else {
config.serverExternalPackages = config.serverExternalPackages ?? [];
config.serverExternalPackages.push("@huggingface/transformers");
}
const userWebpack = config.webpack;
// eslint-disable-next-line @typescript-eslint/no-explicit-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();
}
}
+1
View File
@@ -2,6 +2,7 @@ export * from "@llamaindex/core/storage/chat-store";
export * from "@llamaindex/core/storage/doc-store";
export * from "@llamaindex/core/storage/index-store";
export * from "@llamaindex/core/storage/kv-store";
export * from "./chatStore/AzureCosmosNoSqlChatStore.js";
export * from "./docStore/AzureCosmosNoSqlDocumentStore.js";
export { PostgresDocumentStore } from "./docStore/PostgresDocumentStore.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 { BaseKVStore } from "@llamaindex/core/storage/kv-store";
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_CONTAINER = "KVStoreContainer";
const DEFAULT_OFFER_THROUGHPUT = 400;
@@ -82,7 +82,7 @@ export class AzureCosmosNoSqlKVStore extends BaseKVStore {
super();
if (!cosmosClient) {
throw new Error(
"CosmosClient is required for AzureCosmosDBNoSQLVectorStore initialization",
"CosmosClient is required for AzureCosmosDBNoSQLKVStore initialization",
);
}
this.cosmosClient = cosmosClient;
@@ -55,8 +55,18 @@ export interface AzureCosmosDBNoSQLConfig
readonly flatMetadata?: boolean;
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 = {
vectorEmbeddings: [
@@ -98,6 +108,22 @@ function parseConnectionString(connectionString: string): {
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 {
storesText: boolean = true;
@@ -334,21 +360,25 @@ export class AzureCosmosDBNoSqlVectorStore extends BaseVectorStore {
*/
async query(
query: VectorStoreQuery,
options?: object,
options: AzureCosmosQueryOptions = {},
): Promise<VectorStoreQueryResult> {
await this.initialize();
if (!query.queryEmbedding || query.queryEmbedding.length === 0) {
throw new Error(
"queryEmbedding is required for AzureCosmosDBNoSqlVectorStore query",
);
}
const params = {
vector: query.queryEmbedding!,
k: query.similarityTopK,
};
const builtQuery = queryBuilder(options);
const nodes: BaseNode[] = [];
const ids: string[] = [];
const similarities: number[] = [];
const queryResults = await this.container.items
.query({
query:
"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)",
query: builtQuery,
parameters: [
{ name: "@k", value: params.k },
{ name: "@id", value: this.idKey },
+2 -2
View File
@@ -10,7 +10,7 @@
"@faker-js/faker": "^9.2.0",
"dotenv": "^16.4.5",
"llamaindex": "workspace:*",
"msw": "^2.6.0",
"vitest": "^2.1.4"
"msw": "^2.6.5",
"vitest": "^2.1.5"
}
}
@@ -14,9 +14,10 @@ import {
Settings,
VectorStoreQueryMode,
type AzureCosmosDBNoSQLConfig,
type AzureCosmosQueryOptions,
type VectorStoreQueryResult,
} from "llamaindex";
import { beforeEach, describe, expect, it } from "vitest";
import { beforeAll, describe, expect, it } from "vitest";
dotenv.config();
/*
* 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);
// This test is skipped because it requires an Azure Cosmos DB instance and OpenAI API keys
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) {
client = new CosmosClient(
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",
);
}
// Make sure the database does not exists
try {
await client.database(DATABASE_NAME).delete();
} catch {
// Ignore error if the database does not exist
}
});
it("perform query", async () => {
const config: AzureCosmosDBNoSQLConfig = {
idKey: "name",
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",
"Cats sleeps a lot.",
"Sandwiches taste good.",
@@ -150,28 +151,29 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
id_: "1",
text: "This book is about politics",
embedding: embeddings[0],
metadata: { key: "politics" },
metadata: { key: "politics", number: 1 },
}),
new Document({
id_: "2",
text: "Cats sleeps a lot.",
embedding: embeddings[1],
metadata: { key: "cats" },
metadata: { key: "cats", number: 2 },
}),
new Document({
id_: "3",
text: "Sandwiches taste good.",
embedding: embeddings[2],
metadata: { key: "sandwiches" },
metadata: { key: "sandwiches", number: 3 },
}),
new Document({
id_: "4",
text: "The house is open",
embedding: embeddings[3],
metadata: { key: "house" },
metadata: { key: "house", number: 4 },
}),
]);
});
it("perform query", async () => {
const results: VectorStoreQueryResult = await vectorStore.query({
queryEmbedding: embeddings[4] || [],
similarityTopK: 1,
@@ -179,5 +181,62 @@ describe.skip("AzureCosmosDBNoSQLVectorStore", () => {
});
expect(results.ids.length).toEqual(1);
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);
});
@@ -1,6 +1,7 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import type { BaseNode } from "@llamaindex/core/schema";
import { beforeEach, describe, expect, it, vi } from "vitest";
import { VectorStoreQueryMode } from "../../src/vector-store.js";
import { TestableAzureCosmosDBNoSqlVectorStore } from "../mocks/TestableAzureCosmosDBNoSqlVectorStore.js";
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(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",
);
});
});
+23
View File
@@ -1,5 +1,28 @@
# @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
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/node-parser",
"version": "0.0.11",
"version": "0.0.14",
"description": "Node parser for LlamaIndex",
"type": "module",
"exports": {
@@ -44,8 +44,8 @@
"@types/html-to-text": "^9.0.4",
"@types/node": "^22.9.0",
"bunchee": "5.6.1",
"tree-sitter": "^0.22.0",
"web-tree-sitter": "^0.24.3"
"tree-sitter": "^0.22.1",
"web-tree-sitter": "^0.24.4"
},
"peerDependencies": {
"@llamaindex/core": "workspace:*",
+23
View File
@@ -1,5 +1,28 @@
# @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
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/anthropic",
"description": "Anthropic Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -36,6 +36,6 @@
"@anthropic-ai/sdk": "0.32.1",
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"remeda": "^2.12.0"
"remeda": "^2.17.3"
}
}
+25
View File
@@ -1,5 +1,30 @@
# @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
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/clip",
"description": "Clip Embedding Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+25
View File
@@ -1,5 +1,30 @@
# @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
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepinfra",
"description": "Deepinfra Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+21
View File
@@ -1,5 +1,26 @@
# @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
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/groq",
"description": "Groq Adapter for LlamaIndex",
"version": "0.0.34",
"version": "0.0.37",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -35,6 +35,6 @@
"dependencies": {
"@llamaindex/env": "workspace:*",
"@llamaindex/openai": "workspace:*",
"groq-sdk": "0.6.1"
"groq-sdk": "0.8.0"
}
}
@@ -1,5 +1,30 @@
# @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
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/huggingface",
"description": "Huggingface Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+23
View File
@@ -1,5 +1,28 @@
# @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
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/ollama",
"description": "Ollama Adapter for LlamaIndex",
"version": "0.0.26",
"version": "0.0.29",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -35,7 +35,7 @@
"dependencies": {
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"ollama": "^0.5.9",
"remeda": "^2.12.0"
"ollama": "^0.5.10",
"remeda": "^2.17.3"
}
}
+23
View File
@@ -1,5 +1,28 @@
# @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
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/openai",
"description": "OpenAI Adapter for LlamaIndex",
"version": "0.1.35",
"version": "0.1.38",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -35,6 +35,6 @@
"dependencies": {
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"openai": "^4.68.1"
"openai": "^4.72.0"
}
}
@@ -1,5 +1,28 @@
# @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
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/portkey-ai",
"description": "Portkey Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -36,6 +36,6 @@
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"portkey-ai": "0.1.16",
"remeda": "^2.12.0"
"remeda": "^2.17.3"
}
}
+22
View File
@@ -1,5 +1,27 @@
# @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
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/replicate",
"description": "Replicate Adapter for LlamaIndex",
"version": "0.0.19",
"version": "0.0.22",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+19
View File
@@ -1,5 +1,24 @@
# @llamaindex/vllm
## 0.0.8
### Patch Changes
- Updated dependencies [90d265c]
- @llamaindex/openai@0.1.38
## 0.0.7
### Patch Changes
- @llamaindex/openai@0.1.37
## 0.0.6
### Patch Changes
- @llamaindex/openai@0.1.36
## 0.0.5
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/vllm",
"description": "vLLM Adapter for LlamaIndex",
"version": "0.0.5",
"version": "0.0.8",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+29
View File
@@ -1,5 +1,34 @@
# @llamaindex/readers
## 1.0.15
### Patch Changes
- 90d265c: chore: bump version
- Updated dependencies [90d265c]
- @llamaindex/core@0.4.13
- @llamaindex/env@0.1.21
## 1.0.14
### Patch Changes
- Updated dependencies [ef4f63d]
- @llamaindex/core@0.4.12
## 1.0.13
### Patch Changes
- Updated dependencies [6d22fa2]
- @llamaindex/core@0.4.11
## 1.0.12
### Patch Changes
- e60328b: fix: import error in cjs
## 1.0.11
### Patch Changes
+4 -100
View File
@@ -1,20 +1,12 @@
{
"name": "@llamaindex/readers",
"description": "LlamaIndex Readers",
"version": "1.0.11",
"version": "1.0.15",
"type": "module",
"exports": {
"./node/hook": "./node/dist/hook.js",
"./node": "./node/dist/index.js",
"./assembly-ai": {
"edge-light": {
"types": "./assembly-ai/dist/index.edge-light.d.ts",
"default": "./assembly-ai/dist/index.edge-light.js"
},
"workerd": {
"types": "./assembly-ai/dist/index.workerd.d.ts",
"default": "./assembly-ai/dist/index.workerd.js"
},
"require": {
"types": "./assembly-ai/dist/index.d.cts",
"default": "./assembly-ai/dist/index.cjs"
@@ -25,14 +17,6 @@
}
},
"./cosmosdb": {
"edge-light": {
"types": "./cosmosdb/dist/index.edge-light.d.ts",
"default": "./cosmosdb/dist/index.edge-light.js"
},
"workerd": {
"types": "./cosmosdb/dist/index.workerd.d.ts",
"default": "./cosmosdb/dist/index.workerd.js"
},
"require": {
"types": "./cosmosdb/dist/index.d.cts",
"default": "./cosmosdb/dist/index.cjs"
@@ -79,14 +63,6 @@
}
},
"./discord": {
"edge-light": {
"types": "./discord/dist/index.edge-light.d.ts",
"default": "./discord/dist/index.edge-light.js"
},
"workerd": {
"types": "./discord/dist/index.workerd.d.ts",
"default": "./discord/dist/index.workerd.js"
},
"require": {
"types": "./discord/dist/index.d.cts",
"default": "./discord/dist/index.cjs"
@@ -97,14 +73,6 @@
}
},
"./docx": {
"edge-light": {
"types": "./docx/dist/index.edge-light.d.ts",
"default": "./docx/dist/index.edge-light.js"
},
"workerd": {
"types": "./docx/dist/index.workerd.d.ts",
"default": "./docx/dist/index.workerd.js"
},
"require": {
"types": "./docx/dist/index.d.cts",
"default": "./docx/dist/index.cjs"
@@ -115,14 +83,6 @@
}
},
"./html": {
"edge-light": {
"types": "./html/dist/index.edge-light.d.ts",
"default": "./html/dist/index.edge-light.js"
},
"workerd": {
"types": "./html/dist/index.workerd.d.ts",
"default": "./html/dist/index.workerd.js"
},
"require": {
"types": "./html/dist/index.d.cts",
"default": "./html/dist/index.cjs"
@@ -133,14 +93,6 @@
}
},
"./image": {
"edge-light": {
"types": "./image/dist/index.edge-light.d.ts",
"default": "./image/dist/index.edge-light.js"
},
"workerd": {
"types": "./image/dist/index.workerd.d.ts",
"default": "./image/dist/index.workerd.js"
},
"require": {
"types": "./image/dist/index.d.cts",
"default": "./image/dist/index.cjs"
@@ -151,14 +103,6 @@
}
},
"./json": {
"edge-light": {
"types": "./json/dist/index.edge-light.d.ts",
"default": "./json/dist/index.edge-light.js"
},
"workerd": {
"types": "./json/dist/index.workerd.d.ts",
"default": "./json/dist/index.workerd.js"
},
"require": {
"types": "./json/dist/index.d.cts",
"default": "./json/dist/index.cjs"
@@ -169,14 +113,6 @@
}
},
"./markdown": {
"edge-light": {
"types": "./markdown/dist/index.edge-light.d.ts",
"default": "./markdown/dist/index.edge-light.js"
},
"workerd": {
"types": "./markdown/dist/index.workerd.d.ts",
"default": "./markdown/dist/index.workerd.js"
},
"require": {
"types": "./markdown/dist/index.d.cts",
"default": "./markdown/dist/index.cjs"
@@ -187,14 +123,6 @@
}
},
"./mongo": {
"edge-light": {
"types": "./mongo/dist/index.edge-light.d.ts",
"default": "./mongo/dist/index.edge-light.js"
},
"workerd": {
"types": "./mongo/dist/index.workerd.d.ts",
"default": "./mongo/dist/index.workerd.js"
},
"require": {
"types": "./mongo/dist/index.d.cts",
"default": "./mongo/dist/index.cjs"
@@ -205,14 +133,6 @@
}
},
"./notion": {
"edge-light": {
"types": "./notion/dist/index.edge-light.d.ts",
"default": "./notion/dist/index.edge-light.js"
},
"workerd": {
"types": "./notion/dist/index.workerd.d.ts",
"default": "./notion/dist/index.workerd.js"
},
"require": {
"types": "./notion/dist/index.d.cts",
"default": "./notion/dist/index.cjs"
@@ -223,14 +143,6 @@
}
},
"./pdf": {
"edge-light": {
"types": "./pdf/dist/index.edge-light.d.ts",
"default": "./pdf/dist/index.edge-light.js"
},
"workerd": {
"types": "./pdf/dist/index.workerd.d.ts",
"default": "./pdf/dist/index.workerd.js"
},
"require": {
"types": "./pdf/dist/index.d.cts",
"default": "./pdf/dist/index.cjs"
@@ -241,14 +153,6 @@
}
},
"./text": {
"edge-light": {
"types": "./text/dist/index.edge-light.d.ts",
"default": "./text/dist/index.edge-light.js"
},
"workerd": {
"types": "./text/dist/index.workerd.d.ts",
"default": "./text/dist/index.workerd.js"
},
"require": {
"types": "./text/dist/index.d.cts",
"default": "./text/dist/index.cjs"
@@ -301,13 +205,13 @@
"@azure/cosmos": "^4.1.1",
"@discordjs/rest": "^2.3.0",
"@discoveryjs/json-ext": "^0.6.1",
"assemblyai": "^4.7.0",
"assemblyai": "^4.8.0",
"csv-parse": "^5.5.6",
"discord-api-types": "^0.37.98",
"discord-api-types": "^0.37.105",
"mammoth": "^1.7.2",
"mongodb": "^6.7.0",
"notion-md-crawler": "^1.0.0",
"papaparse": "^5.4.1",
"unpdf": "^0.11.0"
"unpdf": "^0.12.1"
}
}
+3 -3
View File
@@ -4,13 +4,13 @@
"license": "MIT",
"type": "module",
"dependencies": {
"@assemblyscript/loader": "^0.27.27",
"@assemblyscript/loader": "^0.27.31",
"@types/node": "^22.9.0"
},
"devDependencies": {
"@swc/cli": "^0.5.0",
"@swc/core": "^1.7.22",
"assemblyscript": "^0.27.27",
"@swc/core": "^1.9.2",
"assemblyscript": "^0.27.31",
"typescript": "^5.6.3"
},
"engines": {
+2864 -2707
View File
File diff suppressed because it is too large Load Diff
+60
View File
@@ -1,5 +1,65 @@
# @llamaindex/unit-test
## 0.0.29
### 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.28
### 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.27
### 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.26
### Patch Changes
- Updated dependencies [e60328b]
- @llamaindex/readers@1.0.12
- llamaindex@0.8.16
## 0.0.25
### Patch Changes
- Updated dependencies [3d503cb]
- Updated dependencies [5dae534]
- llamaindex@0.8.15
## 0.0.24
### Patch Changes
- Updated dependencies [630b425]
- llamaindex@0.8.14
## 0.0.23
### Patch Changes
+6 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/unit-test",
"private": true,
"version": "0.0.23",
"version": "0.0.29",
"type": "module",
"scripts": {
"test": "vitest run"
@@ -11,8 +11,8 @@
"@faker-js/faker": "^9.2.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"msw": "^2.6.0",
"vitest": "^2.1.4"
"msw": "^2.6.5",
"vitest": "^2.1.5"
},
"dependencies": {
"@llamaindex/cloud": "workspace:*",
@@ -24,9 +24,9 @@
"llamaindex": "workspace:*",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tree-sitter": "^0.22.0",
"tree-sitter-javascript": "^0.23.0",
"tree-sitter-typescript": "^0.23.0",
"tree-sitter": "^0.22.1",
"tree-sitter-javascript": "^0.23.1",
"tree-sitter-typescript": "^0.23.2",
"zod": "^3.23.8"
}
}