mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-01 22:14:03 -04:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a2bbd62399 | |||
| 969365ca0a | |||
| 819af453d6 | |||
| 9db36f7384 | |||
| efa221116f | |||
| 83c3897539 | |||
| e1cbce1f80 | |||
| 02b22da384 | |||
| 0aa61db547 | |||
| 90d265cf47 | |||
| fc2d5ea1cd | |||
| ef4f63d9f4 | |||
| d17450fdfb | |||
| 805d2b0d55 | |||
| 6d22fa2a50 | |||
| 16f0068175 | |||
| 1054c3382a | |||
| e60328b086 | |||
| 3371dfb89f | |||
| 2065a16a07 | |||
| 5dae534f8d | |||
| 3d503cb810 | |||
| daf8522bec |
@@ -1,5 +1,61 @@
|
||||
# docs
|
||||
|
||||
## 0.0.127
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.0.126
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.125
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "0.0.119",
|
||||
"version": "0.0.127",
|
||||
"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",
|
||||
|
||||
@@ -1,5 +1,85 @@
|
||||
# @llamaindex/doc
|
||||
|
||||
## 0.0.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
- @llamaindex/cloud@2.0.14
|
||||
- @llamaindex/core@0.4.14
|
||||
- @llamaindex/node-parser@0.0.15
|
||||
- @llamaindex/openai@0.1.39
|
||||
- @llamaindex/readers@1.0.16
|
||||
|
||||
## 0.0.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -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
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/doc",
|
||||
"version": "0.0.17",
|
||||
"version": "0.0.25",
|
||||
"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.8",
|
||||
"@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"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { Message } from "ai";
|
||||
import { simulateReadableStream } from "ai/test";
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { MockLLM } from "@llamaindex/core/utils";
|
||||
import { LlamaIndexAdapter, type Message } from "ai";
|
||||
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 {
|
||||
@@ -12,19 +15,16 @@ export async function POST(request: NextRequest) {
|
||||
{ status: 400 },
|
||||
);
|
||||
}
|
||||
const mockResponse = `Hello! This is a mock response to: ${userMessage.content}`;
|
||||
return new Response(
|
||||
simulateReadableStream({
|
||||
chunkDelayInMs: 20,
|
||||
values: mockResponse.split(" ").map((t) => `0:"${t} "\n`),
|
||||
}).pipeThrough(new TextEncoderStream()),
|
||||
{
|
||||
status: 200,
|
||||
headers: {
|
||||
"X-Vercel-AI-Data-Stream": "v1",
|
||||
"Content-Type": "text/plain; charset=utf-8",
|
||||
},
|
||||
},
|
||||
|
||||
const chatEngine = new SimpleChatEngine();
|
||||
|
||||
return LlamaIndexAdapter.toDataStreamResponse(
|
||||
await chatEngine.chat({
|
||||
message: userMessage.content,
|
||||
chatHistory: messages as ChatMessage[],
|
||||
stream: true,
|
||||
}),
|
||||
{},
|
||||
);
|
||||
} catch (error) {
|
||||
const detail = (error as Error).message;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Markdown } from "@llamaindex/chat-ui/widgets";
|
||||
import { generateId, Message, parseStreamPart } from "ai";
|
||||
import { MockLLM } from "@llamaindex/core/utils";
|
||||
import { generateId, Message } from "ai";
|
||||
import { createAI, createStreamableUI, getMutableAIState } from "ai/rsc";
|
||||
import { simulateReadableStream } from "ai/test";
|
||||
import { type ChatMessage, Settings, SimpleChatEngine } from "llamaindex";
|
||||
import { ReactNode } from "react";
|
||||
|
||||
type ServerState = Message[];
|
||||
@@ -10,6 +11,8 @@ 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: [],
|
||||
@@ -20,31 +23,30 @@ export const AI = createAI<ServerState, FrontendState, Actions>({
|
||||
const aiState = getMutableAIState<typeof AI>();
|
||||
aiState.update((prev) => [...prev, message]);
|
||||
|
||||
const mockResponse = `Hello! This is a mock response to: ${message.content}`;
|
||||
const responseStream = simulateReadableStream({
|
||||
chunkDelayInMs: 20,
|
||||
values: mockResponse.split(" ").map((t) => `0:"${t} "\n`),
|
||||
});
|
||||
|
||||
const uiStream = createStreamableUI();
|
||||
const chatEngine = new SimpleChatEngine();
|
||||
const assistantMessage: Message = {
|
||||
id: generateId(),
|
||||
role: "assistant",
|
||||
content: "",
|
||||
};
|
||||
|
||||
responseStream.pipeTo(
|
||||
new WritableStream({
|
||||
write: async (message) => {
|
||||
assistantMessage.content += parseStreamPart(message).value;
|
||||
uiStream.update(<Markdown content={assistantMessage.content} />);
|
||||
},
|
||||
close: () => {
|
||||
aiState.done([...aiState.get(), assistantMessage]);
|
||||
uiStream.done();
|
||||
},
|
||||
}),
|
||||
);
|
||||
// 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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -37,6 +37,33 @@ Then, you need create `.dev.vars` and add LLM api keys for the local development
|
||||
|
||||
<Callout type="warn">Do not commit the api key to git repository.</Callout>
|
||||
|
||||
## Integrating with Hono
|
||||
|
||||
```ts
|
||||
import { Hono } from "hono";
|
||||
|
||||
type Bindings = {
|
||||
OPENAI_API_KEY: string;
|
||||
};
|
||||
|
||||
const app = new Hono<{
|
||||
Bindings: Bindings;
|
||||
}>();
|
||||
|
||||
app.post("/llm", async (c) => {
|
||||
const { setEnvs } = await import("@llamaindex/env");
|
||||
setEnvs(c.env);
|
||||
|
||||
// ...
|
||||
|
||||
return new Response('Hello, world!');
|
||||
})
|
||||
|
||||
export default {
|
||||
fetch: app.fetch,
|
||||
};
|
||||
```
|
||||
|
||||
## Difference between Node.js and Cloudflare Worker
|
||||
|
||||
In Cloudflare Worker and similar serverless JS environment, you need to be aware of the following differences:
|
||||
@@ -46,3 +73,7 @@ In Cloudflare Worker and similar serverless JS environment, you need to be aware
|
||||
- Some of LlamaIndex.TS modules are not available in Cloudflare Worker, for example `SimpleDirectoryReader` (requires `node:fs`), Some multimodal API that relies on [`onnxruntime-node`](https://www.npmjs.com/package/onnxruntime-node)(we might port to HTTP based module in the future).
|
||||
- `@llamaindex/core` is designed to work in all JavaScript environment, including Cloudflare Worker. If you find any issue, please report to us.
|
||||
- `@llamaindex/env` is a JS environment binding module, which polyfill some Node.js/Modern Web API (for example, we have a memory based `fs` module, and Crypto API polyfill). It is designed to work in all JavaScript environment, including Cloudflare Worker.
|
||||
|
||||
## Known issues
|
||||
|
||||
- `llamaindex` not work perfectly in Cloudflare Worker, bundle size will be larger than 1MB, which is the limit of Cloudflare Worker. You will need import submodule instead of the whole `llamaindex` module.
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
POSTGRES_USER=runner
|
||||
PINECONE_API_KEY=
|
||||
PINECONE_INDEX_NAME=
|
||||
PINECONE_NAMESPACE=
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
# Logs
|
||||
|
||||
logs
|
||||
_.log
|
||||
npm-debug.log_
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
|
||||
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||
|
||||
# Runtime data
|
||||
|
||||
pids
|
||||
_.pid
|
||||
_.seed
|
||||
\*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
|
||||
coverage
|
||||
\*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
|
||||
\*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
|
||||
.stylelintcache
|
||||
|
||||
# Microbundle cache
|
||||
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
|
||||
\*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
|
||||
.cache/
|
||||
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
|
||||
.vuepress/dist
|
||||
|
||||
# vuepress v2.x temp and cache directory
|
||||
|
||||
.temp
|
||||
.cache
|
||||
|
||||
# Docusaurus cache and generated files
|
||||
|
||||
.docusaurus
|
||||
|
||||
# Serverless directories
|
||||
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.\*
|
||||
|
||||
# wrangler project
|
||||
|
||||
.dev.vars
|
||||
.wrangler/
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "@llamaindex/cloudflare-hono",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"deploy": "wrangler deploy",
|
||||
"build": "wrangler deploy --dry-run --outdir dist",
|
||||
"dev": "wrangler dev",
|
||||
"start": "wrangler dev",
|
||||
"cf-typegen": "wrangler types"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20241112.0",
|
||||
"typescript": "^5.5.2",
|
||||
"wrangler": "^3.89.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"hono": "^4.6.11"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
import { Hono } from "hono";
|
||||
|
||||
type Bindings = {
|
||||
OPENAI_API_KEY: string;
|
||||
PINECONE_API_KEY: string;
|
||||
};
|
||||
|
||||
const app = new Hono<{
|
||||
Bindings: Bindings;
|
||||
}>();
|
||||
|
||||
app.post("/llm", async (c) => {
|
||||
//#region init envs
|
||||
const { setEnvs } = await import("@llamaindex/env");
|
||||
setEnvs(c.env);
|
||||
//#endregion
|
||||
|
||||
const { message } = await c.req.json();
|
||||
|
||||
const { extractText } = await import("@llamaindex/core/utils");
|
||||
|
||||
const {
|
||||
QueryEngineTool,
|
||||
serviceContextFromDefaults,
|
||||
VectorStoreIndex,
|
||||
OpenAIAgent,
|
||||
Settings,
|
||||
OpenAI,
|
||||
OpenAIEmbedding,
|
||||
} = await import("llamaindex");
|
||||
|
||||
const { PineconeVectorStore } = await import(
|
||||
"llamaindex/vector-store/PineconeVectorStore"
|
||||
);
|
||||
|
||||
const llm = new OpenAI({
|
||||
model: "gpt-4o-mini",
|
||||
apiKey: c.env.OPENAI_API_KEY,
|
||||
});
|
||||
|
||||
Settings.embedModel = new OpenAIEmbedding({
|
||||
model: "text-embedding-3-small",
|
||||
apiKey: c.env.OPENAI_API_KEY,
|
||||
});
|
||||
|
||||
const serviceContext = serviceContextFromDefaults({
|
||||
llm,
|
||||
chunkSize: 8191,
|
||||
chunkOverlap: 0,
|
||||
});
|
||||
|
||||
const store = new PineconeVectorStore({
|
||||
namespace: "8xolsn4ulEQGdhnhP76yCzfLHdOZ",
|
||||
});
|
||||
|
||||
const index = await VectorStoreIndex.fromVectorStore(store, serviceContext);
|
||||
|
||||
const retriever = index.asRetriever({
|
||||
similarityTopK: 3,
|
||||
});
|
||||
|
||||
// Create a query engine
|
||||
const queryEngine = index.asQueryEngine({
|
||||
retriever,
|
||||
});
|
||||
|
||||
const tools = [
|
||||
new QueryEngineTool({
|
||||
queryEngine: queryEngine,
|
||||
metadata: {
|
||||
name: "business_info_tool",
|
||||
description:
|
||||
"This tool can answer questions based " +
|
||||
"on business information. Return not found if you" +
|
||||
" can't find the answer in the documents.",
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
||||
const agent = new OpenAIAgent({ tools });
|
||||
|
||||
const response = await agent.chat({
|
||||
message: message,
|
||||
});
|
||||
|
||||
return new Response(extractText(response.message.content));
|
||||
});
|
||||
|
||||
export default {
|
||||
fetch: app.fetch,
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
||||
|
||||
/* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
||||
"target": "es2021",
|
||||
/* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
||||
"lib": ["es2021", "DOM.AsyncIterable"],
|
||||
/* Specify what JSX code is generated. */
|
||||
"jsx": "react-jsx",
|
||||
/* Specify what module code is generated. */
|
||||
"module": "es2022",
|
||||
/* Specify how TypeScript looks up a file from a given module specifier. */
|
||||
"moduleResolution": "Bundler",
|
||||
/* Specify type package names to be included without being referenced in a source file. */
|
||||
"types": ["@cloudflare/workers-types/2023-07-01"],
|
||||
/* Enable importing .json files */
|
||||
"resolveJsonModule": true,
|
||||
/* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */
|
||||
"allowJs": true,
|
||||
/* Enable error reporting in type-checked JavaScript files. */
|
||||
"checkJs": false,
|
||||
/* Disable emitting files from a compilation. */
|
||||
"noEmit": true,
|
||||
/* Ensure that each file can be safely transpiled without relying on other imports. */
|
||||
"isolatedModules": true,
|
||||
/* Allow 'import x from y' when a module doesn't have a default export. */
|
||||
"allowSyntheticDefaultImports": true,
|
||||
/* Ensure that casing is correct in imports. */
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
/* Enable all strict type-checking options. */
|
||||
"strict": true,
|
||||
/* Skip type checking all .d.ts files. */
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"exclude": ["test"],
|
||||
"include": ["vitest.config.mts", "worker-configuration.d.ts", "src/**/*.ts"]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// Generated by Wrangler by running `wrangler types`
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
||||
interface Env {}
|
||||
@@ -0,0 +1,7 @@
|
||||
name = "llamaindex-cloudflare-hono-example"
|
||||
main = "src/index.ts"
|
||||
compatibility_date = "2024-11-12"
|
||||
compatibility_flags = ["nodejs_als"]
|
||||
|
||||
[observability]
|
||||
enabled = true
|
||||
@@ -1,5 +1,61 @@
|
||||
# @llamaindex/cloudflare-worker-agent-test
|
||||
|
||||
## 0.0.118
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.0.117
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.116
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||
"version": "0.0.110",
|
||||
"version": "0.0.118",
|
||||
"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,30 @@
|
||||
# @llamaindex/llama-parse-browser-test
|
||||
|
||||
## 0.0.34
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/cloud@2.0.14
|
||||
|
||||
## 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.34",
|
||||
"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": {
|
||||
|
||||
@@ -1,5 +1,61 @@
|
||||
# @llamaindex/next-agent-test
|
||||
|
||||
## 0.1.118
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.1.117
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.1.116
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-agent-test",
|
||||
"version": "0.1.110",
|
||||
"version": "0.1.118",
|
||||
"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,61 @@
|
||||
# test-edge-runtime
|
||||
|
||||
## 0.1.117
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.1.116
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.1.115
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||
"version": "0.1.109",
|
||||
"version": "0.1.117",
|
||||
"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,61 @@
|
||||
# @llamaindex/next-node-runtime
|
||||
|
||||
## 0.0.99
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.0.98
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.97
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-node-runtime-test",
|
||||
"version": "0.0.91",
|
||||
"version": "0.0.99",
|
||||
"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,61 @@
|
||||
# @llamaindex/waku-query-engine-test
|
||||
|
||||
## 0.0.118
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.0.117
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.116
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/waku-query-engine-test",
|
||||
"version": "0.0.110",
|
||||
"version": "0.0.118",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
import { Document, MetadataMode } from "@llamaindex/core/schema";
|
||||
import { config } from "dotenv";
|
||||
import {
|
||||
OpenAIEmbedding,
|
||||
PineconeVectorStore,
|
||||
VectorStoreIndex,
|
||||
} from "llamaindex";
|
||||
import assert from "node:assert";
|
||||
import { test } from "node:test";
|
||||
|
||||
config({ path: [".env.local", ".env", ".env.ci"] });
|
||||
|
||||
await test("pinecone", async (t) => {
|
||||
if (
|
||||
!process.env.PINECONE_API_KEY ||
|
||||
!process.env.PINECONE_NAMESPACE ||
|
||||
!process.env.PINECONE_INDEX_NAME
|
||||
) {
|
||||
return t.skip(
|
||||
"PINECONE_API_KEY, PINECONE_NAMESPACE, and PINECONE_INDEX_NAME must be set to run this test",
|
||||
);
|
||||
}
|
||||
const openaiEmbedding = new OpenAIEmbedding({
|
||||
model: "text-embedding-3-large",
|
||||
});
|
||||
|
||||
const vectorStore = new PineconeVectorStore({
|
||||
embeddingModel: openaiEmbedding,
|
||||
});
|
||||
|
||||
t.after(async () => {
|
||||
await vectorStore.clearIndex();
|
||||
});
|
||||
|
||||
const index = await VectorStoreIndex.fromVectorStore(vectorStore);
|
||||
|
||||
const retriever = index.asRetriever({
|
||||
similarityTopK: 3,
|
||||
});
|
||||
const text = "We are open from 9am to 5pm";
|
||||
|
||||
await vectorStore.add([
|
||||
new Document({
|
||||
text,
|
||||
embedding: await openaiEmbedding.getTextEmbedding(text),
|
||||
}),
|
||||
]);
|
||||
|
||||
const results = await retriever.retrieve({
|
||||
query: "When are you open?",
|
||||
});
|
||||
results.every((result) => {
|
||||
assert.ok(result.node.embedding instanceof Array);
|
||||
result.node.embedding.every((embedding, idx) =>
|
||||
assert.ok(
|
||||
typeof embedding === "number",
|
||||
`Embedding at index ${idx} should be a number`,
|
||||
),
|
||||
);
|
||||
assert.ok(typeof result.score === "number", "Score should be a number");
|
||||
assert.ok(
|
||||
result.node.getContent(MetadataMode.NONE).length > 0,
|
||||
"Content should not be empty",
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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
@@ -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": {
|
||||
|
||||
@@ -1,5 +1,62 @@
|
||||
# @llamaindex/autotool
|
||||
|
||||
## 5.0.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 5.0.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 5.0.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,5 +1,69 @@
|
||||
# @llamaindex/autotool-01-node-example
|
||||
|
||||
## 0.0.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
- @llamaindex/autotool@5.0.22
|
||||
|
||||
## 0.0.64
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
- @llamaindex/autotool@5.0.21
|
||||
|
||||
## 0.0.63
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
- @llamaindex/autotool@5.0.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -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.57"
|
||||
"version": "0.0.65"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,69 @@
|
||||
# @llamaindex/autotool-02-next-example
|
||||
|
||||
## 0.1.109
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
- @llamaindex/autotool@5.0.22
|
||||
|
||||
## 0.1.108
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
- @llamaindex/autotool@5.0.21
|
||||
|
||||
## 0.1.107
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
- @llamaindex/autotool@5.0.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/autotool-02-next-example",
|
||||
"private": true,
|
||||
"version": "0.1.101",
|
||||
"version": "0.1.109",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/autotool",
|
||||
"type": "module",
|
||||
"version": "5.0.14",
|
||||
"version": "5.0.22",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>>({});
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/cloud
|
||||
|
||||
## 2.0.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloud",
|
||||
"version": "2.0.10",
|
||||
"version": "2.0.14",
|
||||
"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"
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/community
|
||||
|
||||
## 0.0.72
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/community",
|
||||
"description": "Community package for LlamaIndexTS",
|
||||
"version": "0.0.68",
|
||||
"version": "0.0.72",
|
||||
"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:*"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
# @llamaindex/core
|
||||
|
||||
## 0.4.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/core",
|
||||
"type": "module",
|
||||
"version": "0.4.10",
|
||||
"version": "0.4.14",
|
||||
"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": {
|
||||
|
||||
@@ -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)))];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ export {
|
||||
extractText,
|
||||
imageToDataUrl,
|
||||
messagesToHistory,
|
||||
MockLLM,
|
||||
toToolDescriptions,
|
||||
} from "./llms";
|
||||
|
||||
|
||||
@@ -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: {} };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@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" });
|
||||
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
+12
@@ -1,5 +1,17 @@
|
||||
# @llamaindex/env
|
||||
|
||||
## 0.1.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 969365c: fix: async local storage on cloudflare worker
|
||||
|
||||
## 0.1.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 90d265c: chore: bump version
|
||||
|
||||
## 0.1.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Vendored
+4
-4
@@ -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.22",
|
||||
"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",
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
export { AsyncLocalStorage } from "node:async_hooks";
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
import { INTERNAL_ENV } from "./utils/index.js";
|
||||
|
||||
export * from "./als/index.non-node.js";
|
||||
export * from "./als/index.workerd.js";
|
||||
export { NotSupportCurrentRuntimeClass } from "./utils/shared.js";
|
||||
|
||||
export * from "./node-polyfill.js";
|
||||
|
||||
@@ -1,5 +1,62 @@
|
||||
# @llamaindex/experimental
|
||||
|
||||
## 0.0.134
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [819af45]
|
||||
- llamaindex@0.8.22
|
||||
|
||||
## 0.0.133
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83c3897]
|
||||
- Updated dependencies [efa2211]
|
||||
- llamaindex@0.8.21
|
||||
|
||||
## 0.0.132
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [02b22da]
|
||||
- llamaindex@0.8.20
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/experimental",
|
||||
"description": "Experimental package for LlamaIndexTS",
|
||||
"version": "0.0.126",
|
||||
"version": "0.0.134",
|
||||
"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"
|
||||
|
||||
@@ -1,5 +1,117 @@
|
||||
# llamaindex
|
||||
|
||||
## 0.8.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 819af45: feat: add Azure Cosmos DB Mongo vCore ChatStore
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/cloud@2.0.14
|
||||
- @llamaindex/core@0.4.14
|
||||
- @llamaindex/node-parser@0.0.15
|
||||
- @llamaindex/anthropic@0.0.23
|
||||
- @llamaindex/clip@0.0.23
|
||||
- @llamaindex/deepinfra@0.0.23
|
||||
- @llamaindex/groq@0.0.38
|
||||
- @llamaindex/huggingface@0.0.23
|
||||
- @llamaindex/ollama@0.0.30
|
||||
- @llamaindex/openai@0.1.39
|
||||
- @llamaindex/portkey-ai@0.0.23
|
||||
- @llamaindex/replicate@0.0.23
|
||||
- @llamaindex/readers@1.0.16
|
||||
- @llamaindex/vllm@0.0.9
|
||||
|
||||
## 0.8.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 83c3897: fix: pinecone vector store search
|
||||
- efa2211: feat: add Azure Cosmos DB mongo vCore DocumentStore, IndexStore, KVStore
|
||||
|
||||
## 0.8.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 02b22da: fix: supports Vercel bundling
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "llamaindex",
|
||||
"version": "0.8.14",
|
||||
"version": "0.8.22",
|
||||
"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]!,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,186 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import type {
|
||||
ChatMessage,
|
||||
MessageContent,
|
||||
MessageType,
|
||||
} from "@llamaindex/core/llms";
|
||||
import { BaseChatStore } from "@llamaindex/core/storage/chat-store";
|
||||
import type { Collection } from "mongodb";
|
||||
import { MongoClient } from "mongodb";
|
||||
const DEFAULT_CHAT_DATABASE = "ChatStoreDB";
|
||||
const DEFAULT_CHAT_Collection = "ChatStoreCollection";
|
||||
|
||||
export interface AzureCosmosVCoreChatStoreConfig {
|
||||
mongoClient?: MongoClient;
|
||||
dbName?: string;
|
||||
collectionName?: string;
|
||||
}
|
||||
|
||||
export class AzureCosmosVCoreChatStore<
|
||||
AdditionalMessageOptions extends object = object,
|
||||
> extends BaseChatStore<AdditionalMessageOptions> {
|
||||
private mongoClient: MongoClient;
|
||||
|
||||
private dbName: string;
|
||||
private collectionName: string;
|
||||
|
||||
private collection?: Collection;
|
||||
|
||||
/**
|
||||
* Create a new AzureCosmosVCoreChatStore instance.
|
||||
*/
|
||||
constructor({
|
||||
mongoClient,
|
||||
dbName = DEFAULT_CHAT_DATABASE,
|
||||
collectionName = DEFAULT_CHAT_Collection,
|
||||
}: AzureCosmosVCoreChatStoreConfig) {
|
||||
super();
|
||||
if (!mongoClient) {
|
||||
throw new Error(
|
||||
"MongoClient is required for AzureCosmosVCoreChatStore initialization",
|
||||
);
|
||||
}
|
||||
this.mongoClient = mongoClient;
|
||||
this.dbName = dbName;
|
||||
this.collectionName = collectionName;
|
||||
}
|
||||
|
||||
static fromMongoClient(
|
||||
mongoClient: MongoClient,
|
||||
dbName: string = DEFAULT_CHAT_DATABASE,
|
||||
collectionName: string = DEFAULT_CHAT_Collection,
|
||||
) {
|
||||
return new AzureCosmosVCoreChatStore({
|
||||
mongoClient,
|
||||
dbName,
|
||||
collectionName,
|
||||
});
|
||||
}
|
||||
|
||||
client(): MongoClient {
|
||||
return this.mongoClient;
|
||||
}
|
||||
|
||||
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 convertTovCoreMessage(
|
||||
message: ChatMessage<AdditionalMessageOptions>,
|
||||
): // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
any {
|
||||
return {
|
||||
content: message.content,
|
||||
role: message.role,
|
||||
options: message.options,
|
||||
};
|
||||
}
|
||||
|
||||
private async ensureCollection(): Promise<Collection> {
|
||||
if (!this.collection) {
|
||||
this.collection = this.mongoClient
|
||||
.db(this.dbName)
|
||||
.collection(this.collectionName);
|
||||
}
|
||||
return this.collection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set messages for a given key.
|
||||
*/
|
||||
async setMessages(
|
||||
key: string,
|
||||
messages: ChatMessage<AdditionalMessageOptions>[],
|
||||
): Promise<void> {
|
||||
const collection = await this.ensureCollection();
|
||||
const inputMessages = messages.map(this.convertTovCoreMessage);
|
||||
await collection.updateOne(
|
||||
{ id: key },
|
||||
{ $set: { messages: inputMessages } },
|
||||
{ upsert: true },
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get messages for a given key.
|
||||
*/
|
||||
async getMessages(
|
||||
key: string,
|
||||
): Promise<ChatMessage<AdditionalMessageOptions>[]> {
|
||||
const collection = await this.ensureCollection();
|
||||
const res = await collection.findOne({
|
||||
id: key,
|
||||
});
|
||||
const messageHistory = res?.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> {
|
||||
const collection = await this.ensureCollection();
|
||||
const res = await this.getMessages(key);
|
||||
const messageHistory = res.map(this.convertTovCoreMessage) ?? [];
|
||||
messageHistory.splice(
|
||||
idx ?? messageHistory.length,
|
||||
0,
|
||||
this.convertTovCoreMessage(message),
|
||||
);
|
||||
await collection.updateOne(
|
||||
{ id: key },
|
||||
{ $set: { messages: messageHistory } },
|
||||
{ upsert: true },
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all messages for a given key.
|
||||
*/
|
||||
async deleteMessages(key: string): Promise<void> {
|
||||
const collection = await this.ensureCollection();
|
||||
try {
|
||||
await collection.deleteOne({ id: key });
|
||||
// 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> {
|
||||
// const collection = await this.ensureCollection();
|
||||
const messageHistory = await this.getMessages(key);
|
||||
if (idx >= 0 && idx < messageHistory.length) {
|
||||
messageHistory.splice(idx, 1);
|
||||
await this.setMessages(key, messageHistory);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all keys.
|
||||
*/
|
||||
async getKeys(): Promise<IterableIterator<string>> {
|
||||
const collection = await this.ensureCollection();
|
||||
const keys = await collection.distinct("id");
|
||||
|
||||
function* keyGenerator(): IterableIterator<string> {
|
||||
for (const key of keys) {
|
||||
yield key;
|
||||
}
|
||||
}
|
||||
return keyGenerator();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
import { MongoClient } from "mongodb";
|
||||
import { AzureCosmosVCoreKVStore } from "../kvStore/AzureCosmosMongovCoreKVStore.js";
|
||||
import { KVDocumentStore } from "./KVDocumentStore.js";
|
||||
|
||||
const DEFAULT_DATABASE = "DocumentStoreDB";
|
||||
const DEFAULT_COLLECTION = "DocumentStoreCollection";
|
||||
|
||||
export interface AzureCosmosVCoreDocumentStoreArgs {
|
||||
azureCosmosVCoreKVStore: AzureCosmosVCoreKVStore;
|
||||
namespace?: string;
|
||||
}
|
||||
|
||||
export class AzureCosmosVCoreDocumentStore extends KVDocumentStore {
|
||||
constructor({
|
||||
azureCosmosVCoreKVStore,
|
||||
namespace,
|
||||
}: AzureCosmosVCoreDocumentStoreArgs) {
|
||||
super(azureCosmosVCoreKVStore, namespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* Static method for creating an instance using a MongoClient.
|
||||
* @returns Instance of AzureCosmosVCoreDocumentStore
|
||||
* @param mongoClient - MongoClient instance
|
||||
* @param dbName - Database name
|
||||
* @param collectionName - Collection name
|
||||
* @example
|
||||
* ```ts
|
||||
* const mongoClient = new MongoClient("mongodb://localhost:27017");
|
||||
* const indexStore = AzureCosmosVCoreDocumentStore.fromMongoClient(mongoClient, "my_db", "my_collection");
|
||||
* ```
|
||||
*/
|
||||
static fromMongoClient(
|
||||
mongoClient: MongoClient,
|
||||
dbName: string = DEFAULT_DATABASE,
|
||||
collectionName: string = DEFAULT_COLLECTION,
|
||||
) {
|
||||
const azureCosmosVCoreKVStore = new AzureCosmosVCoreKVStore({
|
||||
mongoClient,
|
||||
dbName,
|
||||
collectionName,
|
||||
});
|
||||
const namespace = `${dbName}.${collectionName}`;
|
||||
return new AzureCosmosVCoreDocumentStore({
|
||||
azureCosmosVCoreKVStore,
|
||||
namespace,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,17 @@ 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/AzureCosmosMongovCoreChatStore.js";
|
||||
export * from "./chatStore/AzureCosmosNoSqlChatStore.js";
|
||||
export * from "./docStore/AzureCosmosMongovCoreDocumentStore.js";
|
||||
export * from "./docStore/AzureCosmosNoSqlDocumentStore.js";
|
||||
export { PostgresDocumentStore } from "./docStore/PostgresDocumentStore.js";
|
||||
export { SimpleDocumentStore } from "./docStore/SimpleDocumentStore.js";
|
||||
export * from "./FileSystem.js";
|
||||
export * from "./indexStore/AzureCosmosMongovCoreIndexStore.js";
|
||||
export * from "./indexStore/AzureCosmosNoSqlIndexStore.js";
|
||||
export { PostgresIndexStore } from "./indexStore/PostgresIndexStore.js";
|
||||
export * from "./kvStore/AzureCosmosMongovCoreKVStore.js";
|
||||
export * from "./kvStore/AzureCosmosNoSqlKVStore.js";
|
||||
export { PostgresKVStore } from "./kvStore/PostgresKVStore.js";
|
||||
export * from "./StorageContext.js";
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
import { MongoClient } from "mongodb";
|
||||
import { AzureCosmosVCoreKVStore } from "../kvStore/AzureCosmosMongovCoreKVStore.js";
|
||||
import { KVIndexStore } from "./KVIndexStore.js";
|
||||
|
||||
const DEFAULT_DATABASE = "IndexStoreDB";
|
||||
const DEFAULT_COLLECTION = "IndexStoreCollection";
|
||||
|
||||
export interface AzureCosmosVCoreIndexStoreArgs {
|
||||
azureCosmosVCoreKVStore: AzureCosmosVCoreKVStore;
|
||||
namespace?: string;
|
||||
}
|
||||
|
||||
export class AzureCosmosVCoreIndexStore extends KVIndexStore {
|
||||
constructor({
|
||||
azureCosmosVCoreKVStore,
|
||||
namespace,
|
||||
}: AzureCosmosVCoreIndexStoreArgs) {
|
||||
super(azureCosmosVCoreKVStore, namespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* Static method for creating an instance using a MongoClient.
|
||||
* @returns Instance of AzureCosmosVCoreIndexStore
|
||||
* @param mongoClient - MongoClient instance
|
||||
* @param dbName - Database name
|
||||
* @param collectionName - Collection name
|
||||
* @example
|
||||
* ```ts
|
||||
* const mongoClient = new MongoClient("mongodb://localhost:27017");
|
||||
* const indexStore = AzureCosmosVCoreIndexStore.fromMongoClient(mongoClient, "my_db", "my_collection");
|
||||
* ```
|
||||
*/
|
||||
static fromMongoClient(
|
||||
mongoClient: MongoClient,
|
||||
dbName: string = DEFAULT_DATABASE,
|
||||
collectionName: string = DEFAULT_COLLECTION,
|
||||
) {
|
||||
const azureCosmosVCoreKVStore = new AzureCosmosVCoreKVStore({
|
||||
mongoClient,
|
||||
dbName,
|
||||
collectionName,
|
||||
});
|
||||
const namespace = `${dbName}.${collectionName}`;
|
||||
return new AzureCosmosVCoreIndexStore({
|
||||
azureCosmosVCoreKVStore,
|
||||
namespace,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import { BaseKVStore } from "@llamaindex/core/storage/kv-store";
|
||||
import type { Collection } from "mongodb";
|
||||
import { MongoClient } from "mongodb";
|
||||
const DEFAULT_CHAT_DATABASE = "KVStoreDB";
|
||||
const DEFAULT_CHAT_Collection = "KVStoreCollection";
|
||||
|
||||
export interface VcoreConnectionStringOptions
|
||||
extends AzureCosmosVCoreKVStoreConfig {
|
||||
connectionString?: string;
|
||||
}
|
||||
|
||||
export interface AzureCosmosVCoreKVStoreConfig {
|
||||
mongoClient?: MongoClient;
|
||||
dbName?: string;
|
||||
collectionName?: string;
|
||||
}
|
||||
|
||||
export class AzureCosmosVCoreKVStore extends BaseKVStore {
|
||||
private mongoClient: MongoClient;
|
||||
|
||||
private dbName: string;
|
||||
private collectionName: string;
|
||||
|
||||
private collection?: Collection;
|
||||
|
||||
/**
|
||||
* Create a new AzureCosmosDBNoSQLVectorStore instance.
|
||||
*/
|
||||
constructor({
|
||||
mongoClient,
|
||||
dbName = DEFAULT_CHAT_DATABASE,
|
||||
collectionName = DEFAULT_CHAT_Collection,
|
||||
}: AzureCosmosVCoreKVStoreConfig) {
|
||||
super();
|
||||
if (!mongoClient) {
|
||||
throw new Error(
|
||||
"MongoClient is required for AzureCosmosDBNoSQLVectorStore initialization",
|
||||
);
|
||||
}
|
||||
this.mongoClient = mongoClient;
|
||||
this.dbName = dbName;
|
||||
this.collectionName = collectionName;
|
||||
}
|
||||
|
||||
client(): MongoClient {
|
||||
return this.mongoClient;
|
||||
}
|
||||
|
||||
private async ensureCollection(): Promise<Collection> {
|
||||
if (!this.collection) {
|
||||
this.collection = this.mongoClient
|
||||
.db(this.dbName)
|
||||
.collection(this.collectionName);
|
||||
}
|
||||
return this.collection;
|
||||
}
|
||||
|
||||
async put(key: string, val: Record<string, any>): Promise<void> {
|
||||
const collection = await this.ensureCollection();
|
||||
const insertResult = await collection.insertOne({
|
||||
id: key,
|
||||
messages: val,
|
||||
});
|
||||
}
|
||||
|
||||
async get(key: string): Promise<Record<string, any> | null> {
|
||||
const collection = await this.ensureCollection();
|
||||
const result = await collection.findOne({ id: key });
|
||||
return result || null;
|
||||
}
|
||||
|
||||
async getAll(): Promise<Record<string, Record<string, any>>> {
|
||||
const collection = await this.ensureCollection();
|
||||
const cursor = collection.find();
|
||||
const output: Record<string, Record<string, any>> = {};
|
||||
await cursor.forEach((item) => {
|
||||
output[item.id] = item.messages;
|
||||
});
|
||||
return output;
|
||||
}
|
||||
|
||||
async delete(key: string): Promise<boolean> {
|
||||
const collection = await this.ensureCollection();
|
||||
await collection.deleteOne({ id: key });
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -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 },
|
||||
|
||||
@@ -176,7 +176,12 @@ export class PGVectorStore extends BaseVectorStore {
|
||||
if ("clientConfig" in config) {
|
||||
this.clientConfig = config.clientConfig;
|
||||
} else {
|
||||
if (config.client.constructor.name.includes("Vercel")) {
|
||||
if (
|
||||
config.client.constructor.name.includes("Vercel") ||
|
||||
(!!(config.client as VercelPool).connect &&
|
||||
!!(config.client as VercelPool).query &&
|
||||
!(config.client as Sql).unsafe)
|
||||
) {
|
||||
this.isDBConnected = true;
|
||||
this.db = fromVercelPool(config.client as unknown as VercelPool);
|
||||
} else if (typeof config.client === "function") {
|
||||
|
||||
@@ -26,6 +26,7 @@ type PineconeParams = {
|
||||
chunkSize?: number;
|
||||
namespace?: string;
|
||||
textKey?: string;
|
||||
apiKey?: string;
|
||||
} & VectorStoreBaseParams;
|
||||
|
||||
/**
|
||||
@@ -48,6 +49,8 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
chunkSize: number;
|
||||
textKey: string;
|
||||
|
||||
apiKey: string;
|
||||
|
||||
constructor(params?: PineconeParams) {
|
||||
super(params);
|
||||
this.indexName =
|
||||
@@ -57,12 +60,19 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
params?.chunkSize ??
|
||||
Number.parseInt(getEnv("PINECONE_CHUNK_SIZE") ?? "100");
|
||||
this.textKey = params?.textKey ?? "text";
|
||||
const apiKey = params?.apiKey ?? getEnv("PINECONE_API_KEY");
|
||||
if (!apiKey) {
|
||||
throw new Error("PINECONE_API_KEY is required");
|
||||
}
|
||||
this.apiKey = apiKey;
|
||||
}
|
||||
|
||||
private async getDb(): Promise<Pinecone> {
|
||||
if (!this.db) {
|
||||
const { Pinecone } = await import("@pinecone-database/pinecone");
|
||||
this.db = await new Pinecone();
|
||||
this.db = new Pinecone({
|
||||
apiKey: this.apiKey,
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve(this.db);
|
||||
@@ -100,7 +110,7 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
*/
|
||||
async add(embeddingResults: BaseNode<Metadata>[]): Promise<string[]> {
|
||||
if (embeddingResults.length == 0) {
|
||||
return Promise.resolve([]);
|
||||
return [];
|
||||
}
|
||||
|
||||
const idx: Index = await this.index();
|
||||
@@ -110,10 +120,10 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
const chunk = nodes.slice(i, i + this.chunkSize);
|
||||
const result = await this.saveChunk(idx, chunk);
|
||||
if (!result) {
|
||||
return Promise.reject(new Error("Failed to save chunk"));
|
||||
throw new Error("Failed to save chunk");
|
||||
}
|
||||
}
|
||||
return Promise.resolve([]);
|
||||
return [];
|
||||
}
|
||||
|
||||
protected async saveChunk(idx: Index, chunk: PineconeRecord[]) {
|
||||
@@ -157,13 +167,19 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
topK: query.similarityTopK,
|
||||
includeValues: true,
|
||||
includeMetadata: true,
|
||||
filter: filter,
|
||||
};
|
||||
|
||||
if (filter) {
|
||||
defaultOptions.filter = filter;
|
||||
}
|
||||
|
||||
const idx = await this.index();
|
||||
const results = await idx.query(defaultOptions);
|
||||
|
||||
const idList = results.matches.map((row) => row.id);
|
||||
if (idList.length == 0) {
|
||||
return { nodes: [], similarities: [], ids: [] };
|
||||
}
|
||||
const records: FetchResponse = await idx.fetch(idList);
|
||||
const rows = Object.values(records.records);
|
||||
|
||||
@@ -179,13 +195,11 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
return node;
|
||||
});
|
||||
|
||||
const ret = {
|
||||
return {
|
||||
nodes: nodes,
|
||||
similarities: results.matches.map((row) => row.score || 999),
|
||||
ids: results.matches.map((row) => row.id),
|
||||
};
|
||||
|
||||
return Promise.resolve(ret);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -197,8 +211,8 @@ export class PineconeVectorStore extends BaseVectorStore {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
toPineconeFilter(stdFilters?: MetadataFilters): object {
|
||||
if (!stdFilters) return {};
|
||||
toPineconeFilter(stdFilters?: MetadataFilters): object | undefined {
|
||||
if (stdFilters == null) return undefined;
|
||||
|
||||
const transformCondition = (
|
||||
condition: `${FilterCondition}` = "and",
|
||||
|
||||
@@ -65,7 +65,19 @@ export function metadataDictToNode(
|
||||
}
|
||||
} else {
|
||||
nodeObj = JSON.parse(nodeContent);
|
||||
nodeObj.metadata = rest;
|
||||
nodeObj = {
|
||||
...rest,
|
||||
...options?.fallback,
|
||||
...nodeObj,
|
||||
};
|
||||
nodeObj.metadata = {
|
||||
...(options?.fallback &&
|
||||
"metadata" in options.fallback &&
|
||||
typeof options.fallback.metadata === "object"
|
||||
? options?.fallback.metadata
|
||||
: {}),
|
||||
...rest,
|
||||
};
|
||||
}
|
||||
|
||||
// Note: we're using the name of the class stored in `_node_type`
|
||||
|
||||
@@ -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",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/node-parser
|
||||
|
||||
## 0.0.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/node-parser",
|
||||
"version": "0.0.11",
|
||||
"version": "0.0.15",
|
||||
"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:*",
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/anthropic
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/anthropic",
|
||||
"description": "Anthropic Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,39 @@
|
||||
# @llamaindex/clip
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
- @llamaindex/openai@0.1.39
|
||||
|
||||
## 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/clip",
|
||||
"description": "Clip Embedding Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,39 @@
|
||||
# @llamaindex/deepinfra
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
- @llamaindex/openai@0.1.39
|
||||
|
||||
## 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/deepinfra",
|
||||
"description": "Deepinfra Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,34 @@
|
||||
# @llamaindex/groq
|
||||
|
||||
## 0.0.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/openai@0.1.39
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/groq",
|
||||
"description": "Groq Adapter for LlamaIndex",
|
||||
"version": "0.0.34",
|
||||
"version": "0.0.38",
|
||||
"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,39 @@
|
||||
# @llamaindex/huggingface
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
- @llamaindex/openai@0.1.39
|
||||
|
||||
## 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/huggingface",
|
||||
"description": "Huggingface Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/ollama
|
||||
|
||||
## 0.0.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/ollama",
|
||||
"description": "Ollama Adapter for LlamaIndex",
|
||||
"version": "0.0.26",
|
||||
"version": "0.0.30",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @llamaindex/openai
|
||||
|
||||
## 0.1.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/openai",
|
||||
"description": "OpenAI Adapter for LlamaIndex",
|
||||
"version": "0.1.35",
|
||||
"version": "0.1.39",
|
||||
"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,36 @@
|
||||
# @llamaindex/portkey-ai
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/portkey-ai",
|
||||
"description": "Portkey Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,35 @@
|
||||
# @llamaindex/replicate
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/replicate",
|
||||
"description": "Replicate Adapter for LlamaIndex",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.23",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
# @llamaindex/vllm
|
||||
|
||||
## 0.0.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.1.39
|
||||
|
||||
## 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/vllm",
|
||||
"description": "vLLM Adapter for LlamaIndex",
|
||||
"version": "0.0.5",
|
||||
"version": "0.0.9",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,42 @@
|
||||
# @llamaindex/readers
|
||||
|
||||
## 1.0.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [969365c]
|
||||
- @llamaindex/env@0.1.22
|
||||
- @llamaindex/core@0.4.14
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
{
|
||||
"name": "@llamaindex/readers",
|
||||
"description": "LlamaIndex Readers",
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.16",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Generated
+2951
-2737
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user