Compare commits

..

1 Commits

Author SHA1 Message Date
Logan Markewich c016f6ac4e update contributing instructions 2025-07-07 16:54:53 -06:00
177 changed files with 13325 additions and 5491 deletions
+1 -3
View File
@@ -143,7 +143,7 @@ Before sending a PR, make sure of the following:
3. If you have a new feature, add a new example in the `examples` folder.
4. You have a descriptive changeset for each PR:
### Bumping the versions of packages you've modified
### Changesets
We use [changesets](https://github.com/changesets/changesets) for managing versions and changelogs. To create a new
changeset, run in the root folder:
@@ -152,8 +152,6 @@ changeset, run in the root folder:
pnpm changeset
```
You will be prompted to choose what packages need their versions bumped, and what kind of bump (major, minor or patch) is needed. Once you carry out this operation, the bumping will be automatic after the PR is merged.
## Publishing (maintainers only)
The [Release Github Action](.github/workflows/release.yml) is automatically generating and updating a
-63
View File
@@ -1,68 +1,5 @@
# @llamaindex/doc
## 0.2.40
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- Updated dependencies [a1fdb07]
- @llamaindex/core@0.6.15
- @llamaindex/workflow@1.1.15
- @llamaindex/openai@0.4.9
- @llamaindex/cloud@4.0.24
- llamaindex@0.11.19
- @llamaindex/node-parser@2.0.15
- @llamaindex/readers@3.1.14
## 0.2.39
### Patch Changes
- Updated dependencies [a1b1598]
- @llamaindex/cloud@4.0.23
- llamaindex@0.11.18
## 0.2.38
### Patch Changes
- Updated dependencies [d2be868]
- @llamaindex/cloud@4.0.22
- llamaindex@0.11.17
## 0.2.37
### Patch Changes
- Updated dependencies [579ca0c]
- @llamaindex/cloud@4.0.21
- llamaindex@0.11.16
## 0.2.36
### Patch Changes
- Updated dependencies [48b0d88]
- Updated dependencies [f185772]
- @llamaindex/cloud@4.0.20
- llamaindex@0.11.15
## 0.2.35
### Patch Changes
- Updated dependencies [5a0ed1f]
- Updated dependencies [5a0ed1f]
- Updated dependencies [8eeac33]
- @llamaindex/cloud@4.0.19
- @llamaindex/core@0.6.14
- llamaindex@0.11.14
- @llamaindex/node-parser@2.0.14
- @llamaindex/openai@0.4.8
- @llamaindex/readers@3.1.13
- @llamaindex/workflow@1.1.14
## 0.2.34
### Patch Changes
+10 -10
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.2.40",
"version": "0.2.34",
"private": true,
"scripts": {
"postinstall": "fumadocs-mdx",
@@ -35,7 +35,7 @@
"@radix-ui/react-tooltip": "^1.1.4",
"@scalar/api-client-react": "^1.1.25",
"@vercel/functions": "^1.5.0",
"ai": "^4.3.17",
"ai": "^3.4.33",
"class-variance-authority": "^0.7.0",
"clsx": "2.1.1",
"foxact": "^0.2.41",
@@ -70,30 +70,30 @@
"twoslash": "^0.3.1",
"use-stick-to-bottom": "^1.0.42",
"web-tree-sitter": "^0.24.4",
"zod": "^3.25.76"
"zod": "^3.25.67"
},
"devDependencies": {
"@next/env": "^15.3.0",
"@tailwindcss/postcss": "^4.0.9",
"@types/mdx": "^2.0.13",
"@types/node": "24.0.13",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@types/node": "22.9.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"autoprefixer": "^10.4.20",
"cross-env": "^7.0.3",
"fast-glob": "^3.3.2",
"gray-matter": "^4.0.3",
"postcss": "^8.5.6",
"postcss": "^8.5.3",
"raw-loader": "^4.0.2",
"remark": "^15.0.1",
"remark-gfm": "^4.0.0",
"remark-mdx": "^3.1.0",
"remark-stringify": "^11.0.0",
"tailwindcss": "^4.1.11",
"tsx": "^4.20.3",
"tailwindcss": "^4.0.9",
"tsx": "^4.19.3",
"typedoc": "0.28.3",
"typedoc-plugin-markdown": "^4.6.2",
"typedoc-plugin-merge-modules": " ^7.0.0",
"typescript": "^5.8.3"
"typescript": "^5.7.3"
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
import { MockLLM } from "@llamaindex/core/llms/mock";
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";
+1 -1
View File
@@ -11,7 +11,7 @@
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20241112.0",
"typescript": "^5.8.3",
"typescript": "^5.7.3",
"wrangler": "^3.89.0"
},
"dependencies": {
@@ -1,41 +1,5 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.180
### Patch Changes
- llamaindex@0.11.19
## 0.0.179
### Patch Changes
- llamaindex@0.11.18
## 0.0.178
### Patch Changes
- llamaindex@0.11.17
## 0.0.177
### Patch Changes
- llamaindex@0.11.16
## 0.0.176
### Patch Changes
- llamaindex@0.11.15
## 0.0.175
### Patch Changes
- llamaindex@0.11.14
## 0.0.174
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.180",
"version": "0.0.174",
"type": "module",
"private": true,
"scripts": {
@@ -16,7 +16,7 @@
"@cloudflare/workers-types": "^4.20241112.0",
"@vitest/runner": "2.1.5",
"@vitest/snapshot": "2.1.5",
"typescript": "^5.8.3",
"typescript": "^5.7.3",
"vitest": "2.1.5",
"wrangler": "^3.87.0"
},
@@ -1,48 +1,5 @@
# @llamaindex/llama-parse-browser-test
## 0.0.79
### Patch Changes
- @llamaindex/cloud@4.0.24
## 0.0.78
### Patch Changes
- Updated dependencies [a1b1598]
- @llamaindex/cloud@4.0.23
## 0.0.77
### Patch Changes
- Updated dependencies [d2be868]
- @llamaindex/cloud@4.0.22
## 0.0.76
### Patch Changes
- Updated dependencies [579ca0c]
- @llamaindex/cloud@4.0.21
## 0.0.75
### Patch Changes
- Updated dependencies [48b0d88]
- Updated dependencies [f185772]
- @llamaindex/cloud@4.0.20
## 0.0.74
### Patch Changes
- Updated dependencies [5a0ed1f]
- Updated dependencies [5a0ed1f]
- @llamaindex/cloud@4.0.19
## 0.0.73
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.79",
"version": "0.0.73",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.8.3",
"typescript": "^5.7.3",
"vite": "^6.3.3",
"vite-plugin-wasm": "^3.4.1"
},
-36
View File
@@ -1,41 +1,5 @@
# @llamaindex/next-agent-test
## 0.1.180
### Patch Changes
- llamaindex@0.11.19
## 0.1.179
### Patch Changes
- llamaindex@0.11.18
## 0.1.178
### Patch Changes
- llamaindex@0.11.17
## 0.1.177
### Patch Changes
- llamaindex@0.11.16
## 0.1.176
### Patch Changes
- llamaindex@0.11.15
## 0.1.175
### Patch Changes
- llamaindex@0.11.14
## 0.1.174
### Patch Changes
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.180",
"version": "0.1.174",
"private": true,
"scripts": {
"dev": "next dev",
@@ -8,18 +8,18 @@
"start": "next start"
},
"dependencies": {
"ai": "^4.3.17",
"ai": "^4.0.0",
"llamaindex": "workspace:*",
"next": "^15.3.3",
"react": "19.0.0",
"react-dom": "19.0.0"
},
"devDependencies": {
"@types/node": "^24.0.13",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"eslint": "9.30.1",
"eslint-config-next": "15.3.5",
"typescript": "^5.8.3"
"@types/node": "^22.9.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"eslint": "9.16.0",
"eslint-config-next": "15.1.0",
"typescript": "^5.7.3"
}
}
@@ -1,41 +1,5 @@
# test-edge-runtime
## 0.1.179
### Patch Changes
- llamaindex@0.11.19
## 0.1.178
### Patch Changes
- llamaindex@0.11.18
## 0.1.177
### Patch Changes
- llamaindex@0.11.17
## 0.1.176
### Patch Changes
- llamaindex@0.11.16
## 0.1.175
### Patch Changes
- llamaindex@0.11.15
## 0.1.174
### Patch Changes
- llamaindex@0.11.14
## 0.1.173
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.179",
"version": "0.1.173",
"private": true,
"scripts": {
"dev": "next dev",
@@ -14,9 +14,9 @@
"react-dom": "^19.1.0"
},
"devDependencies": {
"@types/node": "^24.0.13",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"typescript": "^5.8.3"
"@types/node": "^22.9.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"typescript": "^5.7.3"
}
}
@@ -1,45 +1,5 @@
# @llamaindex/next-node-runtime
## 0.1.48
### Patch Changes
- llamaindex@0.11.19
- @llamaindex/huggingface@0.1.19
- @llamaindex/readers@3.1.14
## 0.1.47
### Patch Changes
- llamaindex@0.11.18
## 0.1.46
### Patch Changes
- llamaindex@0.11.17
## 0.1.45
### Patch Changes
- llamaindex@0.11.16
## 0.1.44
### Patch Changes
- llamaindex@0.11.15
## 0.1.43
### Patch Changes
- llamaindex@0.11.14
- @llamaindex/huggingface@0.1.18
- @llamaindex/readers@3.1.13
## 0.1.42
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.1.48",
"version": "0.1.42",
"private": true,
"scripts": {
"dev": "next dev",
@@ -16,11 +16,11 @@
"react-dom": "19.0.0"
},
"devDependencies": {
"@types/node": "^24.0.13",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"eslint": "9.30.1",
"eslint-config-next": "15.3.5",
"typescript": "^5.8.3"
"@types/node": "^22.9.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"eslint": "9.16.0",
"eslint-config-next": "15.1.0",
"typescript": "^5.7.3"
}
}
@@ -1,41 +1,5 @@
# vite-import-llamaindex
## 0.0.46
### Patch Changes
- llamaindex@0.11.19
## 0.0.45
### Patch Changes
- llamaindex@0.11.18
## 0.0.44
### Patch Changes
- llamaindex@0.11.17
## 0.0.43
### Patch Changes
- llamaindex@0.11.16
## 0.0.42
### Patch Changes
- llamaindex@0.11.15
## 0.0.41
### Patch Changes
- llamaindex@0.11.14
## 0.0.40
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "vite-import-llamaindex",
"private": true,
"version": "0.0.46",
"version": "0.0.40",
"type": "module",
"scripts": {
"build": "vite build",
@@ -15,7 +15,7 @@
"devDependencies": {
"@size-limit/preset-big-lib": "^11.1.6",
"size-limit": "^11.1.6",
"typescript": "^5.8.3",
"typescript": "^5.7.3",
"vite": "^6.3.3"
},
"dependencies": {
@@ -1,41 +1,5 @@
# @llamaindex/waku-query-engine-test
## 0.0.180
### Patch Changes
- llamaindex@0.11.19
## 0.0.179
### Patch Changes
- llamaindex@0.11.18
## 0.0.178
### Patch Changes
- llamaindex@0.11.17
## 0.0.177
### Patch Changes
- llamaindex@0.11.16
## 0.0.176
### Patch Changes
- llamaindex@0.11.15
## 0.0.175
### Patch Changes
- llamaindex@0.11.14
## 0.0.174
### Patch Changes
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.180",
"version": "0.0.174",
"type": "module",
"private": true,
"scripts": {
@@ -18,10 +18,10 @@
},
"devDependencies": {
"@tailwindcss/postcss": "^4.1.4",
"@types/react": "19.1.8",
"@types/react-dom": "19.1.6",
"@types/react": "19.0.10",
"@types/react-dom": "19.0.4",
"rollup": "4.38.0",
"tailwindcss": "^4.1.11",
"typescript": "5.8.3"
"tailwindcss": "^4.1.4",
"typescript": "5.7.3"
}
}
+4 -4
View File
@@ -19,14 +19,14 @@
"@llamaindex/openai": "workspace:*",
"@llamaindex/pinecone": "workspace:*",
"@llamaindex/postgres": "workspace:*",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"@types/pg": "^8.11.8",
"consola": "^3.2.3",
"dotenv": "^17.2.0",
"dotenv": "^16.4.5",
"llamaindex": "workspace:*",
"pg": "^8.12.0",
"pgvector": "0.2.0",
"tsx": "^4.20.3",
"zod": "^3.25.76"
"tsx": "^4.19.3",
"zod": "^3.25.67"
}
}
-118
View File
@@ -1,123 +1,5 @@
# examples
## 0.3.30
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- Updated dependencies [a1fdb07]
- Updated dependencies [ddc0eaf]
- @llamaindex/core@0.6.15
- @llamaindex/tools@0.1.5
- @llamaindex/workflow@1.1.15
- @llamaindex/openai@0.4.9
- @llamaindex/anthropic@0.3.17
- @llamaindex/cloud@4.0.24
- llamaindex@0.11.19
- @llamaindex/node-parser@2.0.15
- @llamaindex/assemblyai@0.1.14
- @llamaindex/clip@0.0.65
- @llamaindex/cohere@0.0.29
- @llamaindex/deepinfra@0.0.65
- @llamaindex/discord@0.1.14
- @llamaindex/google@0.3.14
- @llamaindex/huggingface@0.1.19
- @llamaindex/jinaai@0.0.25
- @llamaindex/mistral@0.1.15
- @llamaindex/mixedbread@0.0.29
- @llamaindex/notion@0.1.14
- @llamaindex/ollama@0.1.15
- @llamaindex/perplexity@0.0.22
- @llamaindex/portkey-ai@0.0.57
- @llamaindex/replicate@0.0.57
- @llamaindex/bm25-retriever@0.0.4
- @llamaindex/astra@0.0.29
- @llamaindex/azure@0.1.26
- @llamaindex/chroma@0.0.29
- @llamaindex/elastic-search@0.1.15
- @llamaindex/firestore@1.0.22
- @llamaindex/milvus@0.1.24
- @llamaindex/mongodb@0.0.30
- @llamaindex/pinecone@0.1.15
- @llamaindex/postgres@0.0.58
- @llamaindex/qdrant@0.1.25
- @llamaindex/supabase@0.1.15
- @llamaindex/upstash@0.0.29
- @llamaindex/weaviate@0.0.30
- @llamaindex/vercel@0.1.15
- @llamaindex/voyage-ai@1.0.21
- @llamaindex/readers@3.1.14
- @llamaindex/deepseek@0.0.26
- @llamaindex/fireworks@0.0.25
- @llamaindex/groq@0.0.81
- @llamaindex/together@0.0.25
- @llamaindex/vllm@0.0.51
- @llamaindex/xai@0.0.12
## 0.3.29
### Patch Changes
- Updated dependencies [af3f866]
- @llamaindex/deepseek@0.0.25
## 0.3.28
### Patch Changes
- 36773a8: Fixed start script, reverted some changes to imports
- 891562d: Fix xai dependency in the examples
- Updated dependencies [5a0ed1f]
- Updated dependencies [5a0ed1f]
- Updated dependencies [8eeac33]
- @llamaindex/cloud@4.0.19
- @llamaindex/core@0.6.14
- llamaindex@0.11.14
- @llamaindex/node-parser@2.0.14
- @llamaindex/anthropic@0.3.16
- @llamaindex/assemblyai@0.1.13
- @llamaindex/clip@0.0.64
- @llamaindex/cohere@0.0.28
- @llamaindex/deepinfra@0.0.64
- @llamaindex/discord@0.1.13
- @llamaindex/google@0.3.13
- @llamaindex/huggingface@0.1.18
- @llamaindex/jinaai@0.0.24
- @llamaindex/mistral@0.1.14
- @llamaindex/mixedbread@0.0.28
- @llamaindex/notion@0.1.13
- @llamaindex/ollama@0.1.14
- @llamaindex/openai@0.4.8
- @llamaindex/perplexity@0.0.21
- @llamaindex/portkey-ai@0.0.56
- @llamaindex/replicate@0.0.56
- @llamaindex/bm25-retriever@0.0.3
- @llamaindex/astra@0.0.28
- @llamaindex/azure@0.1.25
- @llamaindex/chroma@0.0.28
- @llamaindex/elastic-search@0.1.14
- @llamaindex/firestore@1.0.21
- @llamaindex/milvus@0.1.23
- @llamaindex/mongodb@0.0.29
- @llamaindex/pinecone@0.1.14
- @llamaindex/postgres@0.0.57
- @llamaindex/qdrant@0.1.24
- @llamaindex/supabase@0.1.14
- @llamaindex/upstash@0.0.28
- @llamaindex/weaviate@0.0.29
- @llamaindex/vercel@0.1.14
- @llamaindex/voyage-ai@1.0.20
- @llamaindex/readers@3.1.13
- @llamaindex/tools@0.1.4
- @llamaindex/workflow@1.1.14
- @llamaindex/deepseek@0.0.24
- @llamaindex/fireworks@0.0.24
- @llamaindex/groq@0.0.80
- @llamaindex/together@0.0.24
- @llamaindex/vllm@0.0.50
- @llamaindex/xai@0.0.11
## 0.3.27
### Patch Changes
+7 -31
View File
@@ -1,10 +1,9 @@
# LlamaIndexTS Examples
This package contains several examples of how to use LlamaIndexTS.
Before running any of the code examples,
make sure you have basic knowledge of the [LlamaIndexTS](https://ts.llamaindex.ai/).
Most examples will use OpenAI by default, so be sure to set your API key.
## Running Examples
## Usage
```shell
# export your API key
@@ -13,31 +12,8 @@ export OPENAI_API_KEY="sk-..."
npx tsx ./rag/chatEngine.ts
```
## Recommended Starter Examples
## Build your own RAG app
Agents:
- [Basic OpenAI Agent with Tools](./agents/agent/openai.ts)
- [Agent with MCP Tools](./agents/agent/mcp-tools.ts)
- [Customizing Memory](./agents/memory/agent-memory.ts)
Workflows:
- [Workflow basics](./agents/workflow/joke.ts)
- [Find more workflow examples in the `workflows-ts` repo!](https://github.com/run-llama/workflows-ts)
Indexing, Retrieval, and Querying:
- [Basic Vector Indexing + Query Engine](./index/vectorIndex.ts)
- [Agent + Query Engine Tool](./agents/agent/query-tool.ts)
Multimodal:
- [Multimodal RAG](./multimodal/rag.ts)
- [Multimodal Chat](./multimodal/context.ts)
Some more general folders that might be useful to explore:
- [storage](./storage/): Examples with various vector stores
- [readers](./readers/): Examples of how to use the various readers
- [models](./models/): Examples of how to use the various LLMs and embedding models from many providers
```shell
npx create llama
```
+1 -1
View File
@@ -3,7 +3,7 @@
*/
import { openai } from "@llamaindex/openai";
import { agent } from "@llamaindex/workflow";
import { getWeatherTool } from "../tools/tools";
import { getWeatherTool } from "../../deprecated/agents/utils/tools";
async function main() {
const weatherAgent = agent({
+1 -1
View File
@@ -1,6 +1,6 @@
import { ollama } from "@llamaindex/ollama";
import { agent } from "@llamaindex/workflow";
import { getWeatherTool } from "../tools/tools";
import { getWeatherTool } from "../../deprecated/agents/utils/tools";
async function main() {
const myAgent = agent({
-46
View File
@@ -1,46 +0,0 @@
import { openai } from "@llamaindex/openai";
import { tool } from "llamaindex";
import z from "zod";
import { ChatMessage } from "llamaindex";
async function main() {
const llm = openai({ model: "gpt-4.1-mini" });
const messages = [
{
content: `What's the weather like in San Francisco?`,
role: "user",
} as ChatMessage,
];
let exit = false;
do {
const { stream, newMessages, toolCalls } = await llm.exec({
messages,
tools: [
tool({
name: "get_weather",
description: "Get the current weather for a location",
parameters: z.object({
address: z.string().describe("The address"),
}),
execute: ({ address }) => {
return `It's sunny in ${address}!`;
},
}),
],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.delta);
}
messages.push(...newMessages());
// exit condition to stop the agent loop
// here we can also check for specific tool calls or limit the number of llm.exec calls
exit = toolCalls.length === 0;
} while (!exit);
}
(async function () {
await main();
})();
-43
View File
@@ -1,43 +0,0 @@
import { openai } from "@llamaindex/openai";
import { ChatMessage, tool } from "llamaindex";
import z from "zod";
async function main() {
const llm = openai({ model: "gpt-4.1-mini" });
const messages = [
{
content: `What's the weather like in San Francisco?`,
role: "user",
} as ChatMessage,
];
let exit = false;
do {
const { newMessages, toolCalls } = await llm.exec({
messages,
tools: [
tool({
name: "get_weather",
description: "Get the current weather for a location",
parameters: z.object({
address: z.string().describe("The address"),
}),
execute: ({ address }) => {
return `It's sunny in ${address}!`;
},
}),
],
});
console.log(newMessages);
messages.push(...newMessages);
// exit condition to stop the agent loop
// here we can also check for specific tool calls or limit the number of llm.exec calls
exit = toolCalls.length === 0;
} while (!exit);
}
(async function () {
console.log("Starting...");
await main();
console.log("Done");
})();
@@ -1,7 +1,7 @@
import { openai } from "@llamaindex/openai";
import { OpenAI } from "@llamaindex/openai";
async function main() {
const llm = openai({ model: "gpt-4.1-mini" });
const llm = new OpenAI({ model: "gpt-4-turbo" });
const args: Parameters<typeof llm.chat>[0] = {
additionalChatOptions: {
tool_choice: "auto",
+1 -1
View File
@@ -4,7 +4,7 @@ import {
getCurrentIDTool,
getUserInfoTool,
getWeatherTool,
} from "../../agents/tools/tools";
} from "./utils/tools";
async function main() {
// Create an OpenAIAgent with the function tools
+1 -1
View File
@@ -3,7 +3,7 @@ import {
getCurrentIDTool,
getUserInfoTool,
getWeatherTool,
} from "../../agents/tools/tools";
} from "./utils/tools";
async function main() {
// Create an OpenAIAgent with the function tools
@@ -15,15 +15,15 @@
},
"devDependencies": {
"@eslint/js": "^9.25.0",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@vitejs/plugin-react": "^4.5.2",
"eslint": "^9.30.1",
"eslint": "^9.25.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.19",
"globals": "^16.0.0",
"typescript": "~5.8.3",
"typescript-eslint": "^8.36.0",
"typescript-eslint": "^8.30.1",
"vite": "^6.3.5"
}
}
@@ -30,12 +30,6 @@ async function main() {
);
// and print out the text part
console.log(textPart?.text);
const imageId = response.message.options?.image_id;
if (imageId) {
console.log("Image ID for multi-turn generation:", imageId);
console.log("Use this image_id in subsequent requests to modify the image");
}
}
main().catch(console.error);
@@ -1,89 +0,0 @@
import { openaiResponses } from "@llamaindex/openai";
import fs from "fs";
import { MessageContentDetail } from "llamaindex";
async function main() {
const llm = openaiResponses({
model: "gpt-4.1-mini",
builtInTools: [{ type: "image_generation" }],
});
// First turn: Generate initial image
console.log("=== First Turn: Generate initial image ===");
const firstResponse = await llm.chat({
messages: [
{
role: "user",
content:
"Generate an image of a cute tiny llama wearing a hat playing with a cat on a meadow",
},
],
});
const firstContent = firstResponse.message.content as MessageContentDetail[];
const firstImagePart = firstContent.find((part) => part.type === "image");
const firstTextPart = firstContent.find((part) => part.type === "text");
// Save the first image
if (firstImagePart?.data) {
fs.writeFileSync(
"llama-initial.png",
Buffer.from(firstImagePart.data as string, "base64"),
);
console.log("First image saved as 'llama-initial.png'");
}
if (firstTextPart?.text) {
console.log("First response:", firstTextPart.text);
}
// Get the image_id from the response options for multi-turn
const imageId = firstResponse.message.options?.image_id;
console.log("Image ID for multi-turn:", imageId);
if (imageId) {
// Second turn: Modify the image using the image_id
console.log("\n=== Second Turn: Modify the image ===");
const secondResponse = await llm.chat({
messages: [
{
role: "user",
content:
"Generate an image of a cute tiny llama wearing a hat playing with a cat on a meadow",
},
{
role: "assistant",
content: firstContent,
options: { image_id: imageId },
},
{
role: "user",
content:
"Now add a rainbow in the background and make the llama's hat blue",
},
],
});
const secondContent = secondResponse.message
.content as MessageContentDetail[];
const secondImagePart = secondContent.find((part) => part.type === "image");
const secondTextPart = secondContent.find((part) => part.type === "text");
// Save the modified image
if (secondImagePart?.data) {
fs.writeFileSync(
"llama-modified.png",
Buffer.from(secondImagePart.data as string, "base64"),
);
console.log("Modified image saved as 'llama-modified.png'");
}
if (secondTextPart?.text) {
console.log("Second response:", secondTextPart.text);
}
} else {
console.log("No image_id received, cannot perform multi-turn generation");
}
}
main().catch(console.error);
+55 -55
View File
@@ -1,80 +1,80 @@
{
"name": "@llamaindex/examples",
"version": "0.3.30",
"version": "0.3.27",
"private": true,
"scripts": {
"lint": "eslint .",
"start": "echo 'To get started, run `npx tsx <path to example>`'"
"start": "tsx ./starter.ts"
},
"dependencies": {
"@ai-sdk/openai": "^1.0.5",
"@azure/cosmos": "^4.1.1",
"@azure/identity": "^4.4.1",
"@azure/search-documents": "^12.1.0",
"@llamaindex/anthropic": "^0.3.17",
"@llamaindex/assemblyai": "^0.1.14",
"@llamaindex/astra": "^0.0.29",
"@llamaindex/azure": "^0.1.26",
"@llamaindex/bm25-retriever": "^0.0.4",
"@llamaindex/chroma": "^0.0.29",
"@llamaindex/clip": "^0.0.65",
"@llamaindex/cloud": "^4.0.24",
"@llamaindex/cohere": "^0.0.29",
"@llamaindex/core": "^0.6.15",
"@llamaindex/deepinfra": "^0.0.65",
"@llamaindex/deepseek": "^0.0.26",
"@llamaindex/discord": "^0.1.14",
"@llamaindex/elastic-search": "^0.1.15",
"@llamaindex/anthropic": "^0.3.15",
"@llamaindex/assemblyai": "^0.1.12",
"@llamaindex/astra": "^0.0.27",
"@llamaindex/azure": "^0.1.24",
"@llamaindex/bm25-retriever": "^0.0.2",
"@llamaindex/chroma": "^0.0.27",
"@llamaindex/clip": "^0.0.63",
"@llamaindex/cloud": "^4.0.18",
"@llamaindex/cohere": "^0.0.27",
"@llamaindex/core": "^0.6.13",
"@llamaindex/deepinfra": "^0.0.63",
"@llamaindex/deepseek": "^0.0.23",
"@llamaindex/discord": "^0.1.12",
"@llamaindex/elastic-search": "^0.1.13",
"@llamaindex/env": "^0.1.30",
"@llamaindex/firestore": "^1.0.22",
"@llamaindex/fireworks": "^0.0.25",
"@llamaindex/google": "^0.3.14",
"@llamaindex/groq": "^0.0.81",
"@llamaindex/huggingface": "^0.1.19",
"@llamaindex/jinaai": "^0.0.25",
"@llamaindex/milvus": "^0.1.24",
"@llamaindex/mistral": "^0.1.15",
"@llamaindex/mixedbread": "^0.0.29",
"@llamaindex/mongodb": "^0.0.30",
"@llamaindex/node-parser": "^2.0.15",
"@llamaindex/notion": "^0.1.14",
"@llamaindex/ollama": "^0.1.15",
"@llamaindex/openai": "^0.4.9",
"@llamaindex/perplexity": "^0.0.22",
"@llamaindex/pinecone": "^0.1.15",
"@llamaindex/portkey-ai": "^0.0.57",
"@llamaindex/postgres": "^0.0.58",
"@llamaindex/qdrant": "^0.1.25",
"@llamaindex/readers": "^3.1.14",
"@llamaindex/replicate": "^0.0.57",
"@llamaindex/supabase": "^0.1.15",
"@llamaindex/together": "^0.0.25",
"@llamaindex/tools": "^0.1.5",
"@llamaindex/upstash": "^0.0.29",
"@llamaindex/vercel": "^0.1.15",
"@llamaindex/vllm": "^0.0.51",
"@llamaindex/voyage-ai": "^1.0.21",
"@llamaindex/weaviate": "^0.0.30",
"@llamaindex/workflow": "^1.1.15",
"@llamaindex/xai": "^0.0.12",
"@notionhq/client": "^4.0.0",
"@llamaindex/firestore": "^1.0.20",
"@llamaindex/fireworks": "^0.0.23",
"@llamaindex/google": "^0.3.12",
"@llamaindex/groq": "^0.0.79",
"@llamaindex/huggingface": "^0.1.17",
"@llamaindex/jinaai": "^0.0.23",
"@llamaindex/milvus": "^0.1.22",
"@llamaindex/mistral": "^0.1.13",
"@llamaindex/mixedbread": "^0.0.27",
"@llamaindex/mongodb": "^0.0.28",
"@llamaindex/node-parser": "^2.0.13",
"@llamaindex/notion": "^0.1.12",
"@llamaindex/ollama": "^0.1.13",
"@llamaindex/openai": "^0.4.7",
"@llamaindex/perplexity": "^0.0.20",
"@llamaindex/pinecone": "^0.1.13",
"@llamaindex/portkey-ai": "^0.0.55",
"@llamaindex/postgres": "^0.0.56",
"@llamaindex/qdrant": "^0.1.23",
"@llamaindex/readers": "^3.1.12",
"@llamaindex/replicate": "^0.0.55",
"@llamaindex/supabase": "^0.1.13",
"@llamaindex/together": "^0.0.23",
"@llamaindex/tools": "^0.1.3",
"@llamaindex/upstash": "^0.0.27",
"@llamaindex/vercel": "^0.1.13",
"@llamaindex/vllm": "^0.0.49",
"@llamaindex/voyage-ai": "^1.0.19",
"@llamaindex/weaviate": "^0.0.28",
"@llamaindex/workflow": "^1.1.13",
"@llamaindex/xai": "workspace:^0.0.10",
"@notionhq/client": "^2.2.15",
"@pinecone-database/pinecone": "^4.0.0",
"@vercel/postgres": "^0.10.0",
"ai": "^4.3.17",
"ai": "^4.0.0",
"ajv": "^8.17.1",
"commander": "^12.1.0",
"dotenv": "^17.2.0",
"dotenv": "^16.4.5",
"js-tiktoken": "^1.0.14",
"llamaindex": "^0.11.19",
"llamaindex": "^0.11.13",
"mongodb": "6.7.0",
"postgres": "^3.4.4",
"wikipedia": "^2.1.2",
"zod": "^3.25.76"
"zod": "^3.25.67"
},
"devDependencies": {
"@types/node": "^24.0.13",
"tsx": "^4.20.3",
"typescript": "^5.8.3"
"@types/node": "^22.9.0",
"tsx": "^4.19.3",
"typescript": "^5.7.3"
},
"stackblitz": {
"startCommand": "npm start"
-2
View File
@@ -1,2 +0,0 @@
packages:
- "**"
+4 -5
View File
@@ -21,14 +21,13 @@
},
"dependencies": {
"@llamaindex/cloud": "workspace:* || ^2.0.24",
"@llamaindex/excel": "workspace:*",
"@llamaindex/readers": "workspace:* || ^1.0.25",
"@notionhq/client": "^4.0.0",
"@llamaindex/excel": "workspace:*",
"llamaindex": "workspace:* || ^0.8.37"
},
"devDependencies": {
"@types/node": "^24.0.13",
"tsx": "^4.20.3",
"typescript": "^5.8.3"
"@types/node": "^22.9.0",
"tsx": "^4.19.3",
"typescript": "^5.7.3"
}
}
+10114
View File
File diff suppressed because it is too large Load Diff
+9 -15
View File
@@ -17,19 +17,18 @@
"release-snapshot": "pnpm run build && changeset publish --tag snapshot",
"new-version": "changeset version && pnpm format:write && pnpm run build",
"new-snapshot": "pnpm run build && changeset version --snapshot",
"lint-staged": "lint-staged",
"preinstall": "npx only-allow pnpm"
"lint-staged": "lint-staged"
},
"devDependencies": {
"@changesets/cli": "^2.27.5",
"@eslint/js": "^9.25.0",
"bunchee": "6.4.0",
"eslint": "9.30.1",
"eslint-config-next": "^15.3.5",
"eslint-config-prettier": "^10.1.5",
"eslint-config-turbo": "^2.5.4",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-turbo": "^2.5.4",
"eslint": "9.22.0",
"eslint-config-next": "^15.1.0",
"eslint-config-prettier": "^9.1.0",
"eslint-config-turbo": "^2.3.3",
"eslint-plugin-react": "7.37.2",
"eslint-plugin-turbo": "^2.5.0",
"globals": "^15.12.0",
"husky": "^9.1.7",
"lint-staged": "^15.2.11",
@@ -38,16 +37,11 @@
"prettier-plugin-organize-imports": "^4.1.0",
"prettier-plugin-tailwindcss": "^0.6.11",
"turbo": "^2.4.4",
"typescript": "^5.8.3",
"typescript-eslint": "^8.36.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.18.0",
"vitest": "^3.1.1"
},
"packageManager": "pnpm@10.8.1",
"pnpm": {
"overrides": {
"@notionhq/client": "4.0.0"
}
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix",
-36
View File
@@ -1,41 +1,5 @@
# @llamaindex/autotool
## 8.0.19
### Patch Changes
- llamaindex@0.11.19
## 8.0.18
### Patch Changes
- llamaindex@0.11.18
## 8.0.17
### Patch Changes
- llamaindex@0.11.17
## 8.0.16
### Patch Changes
- llamaindex@0.11.16
## 8.0.15
### Patch Changes
- llamaindex@0.11.15
## 8.0.14
### Patch Changes
- llamaindex@0.11.14
## 8.0.13
### Patch Changes
@@ -1,47 +1,5 @@
# @llamaindex/autotool-01-node-example
## 0.0.127
### Patch Changes
- llamaindex@0.11.19
- @llamaindex/autotool@8.0.19
## 0.0.126
### Patch Changes
- llamaindex@0.11.18
- @llamaindex/autotool@8.0.18
## 0.0.125
### Patch Changes
- llamaindex@0.11.17
- @llamaindex/autotool@8.0.17
## 0.0.124
### Patch Changes
- llamaindex@0.11.16
- @llamaindex/autotool@8.0.16
## 0.0.123
### Patch Changes
- llamaindex@0.11.15
- @llamaindex/autotool@8.0.15
## 0.0.122
### Patch Changes
- llamaindex@0.11.14
- @llamaindex/autotool@8.0.14
## 0.0.121
### Patch Changes
@@ -8,10 +8,10 @@
"openai": "^4.73.1"
},
"devDependencies": {
"tsx": "^4.20.3"
"tsx": "^4.19.3"
},
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.127"
"version": "0.0.121"
}
+4 -4
View File
@@ -6,7 +6,7 @@
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/autotool"
},
"version": "8.0.19",
"version": "8.0.13",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
@@ -74,12 +74,12 @@
"devDependencies": {
"@swc/types": "^0.1.12",
"@types/json-schema": "^7.0.15",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"llamaindex": "workspace:*",
"next": "^15.3.3",
"rollup": "^4.28.1",
"tsx": "^4.20.3",
"typescript": "^5.8.3",
"tsx": "^4.19.3",
"typescript": "^5.7.3",
"vitest": "^2.1.5",
"webpack": "^5.97.1"
}
-42
View File
@@ -1,47 +1,5 @@
# @llamaindex/cloud
## 4.0.24
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 4.0.23
### Patch Changes
- a1b1598: fix: add generic types into agent data responses
## 4.0.22
### Patch Changes
- d2be868: Bug fixes for new beta agent-data cloud API
## 4.0.21
### Patch Changes
- 579ca0c: chore: bump sdk version
## 4.0.20
### Patch Changes
- 48b0d88: fix: exports in `api` submodule
- f185772: fix(cloud): missing file
## 4.0.19
### Patch Changes
- 5a0ed1f: feat: init agent api on cloud sdk
- 5a0ed1f: feat: init agent api on cloud sdk
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 4.0.18
### Patch Changes
-8
View File
@@ -1,8 +0,0 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+183 -262
View File
@@ -2519,7 +2519,7 @@
"get": {
"tags": ["Organizations"],
"summary": "Get Organization Usage",
"description": "Get usage for a specific organization.",
"description": "Get usage for a project",
"operationId": "get_organization_usage_api_v1_organizations__organization_id__usage_get",
"security": [
{
@@ -2535,8 +2535,15 @@
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id"
}
},
@@ -11643,7 +11650,7 @@
},
"/api/v1/projects/{project_id}/agents": {
"get": {
"tags": ["Agent Deployments"],
"tags": ["Llama Apps"],
"summary": "List Deployments",
"description": "List all deployments for a project.",
"operationId": "list_deployments_api_v1_projects__project_id__agents_get",
@@ -11709,7 +11716,7 @@
},
"/api/v1/projects/{project_id}/agents:sync": {
"post": {
"tags": ["Agent Deployments"],
"tags": ["Llama Apps"],
"summary": "Sync Deployments",
"description": "Sync deployments for a project.",
"operationId": "sync_deployments_api_v1_projects__project_id__agents_sync_post",
@@ -11773,12 +11780,12 @@
}
}
},
"/api/v1/classifier/classify": {
"/api/v1/billing/checkout-session": {
"post": {
"tags": ["Classifier", "Beta", "Classifier"],
"summary": "Classify Documents",
"description": "**[BETA]** Classify documents based on provided rules - simplified classification system.\n\n**This is a Beta feature** - API may change based on user feedback.\n\nThis endpoint supports:\n- Classifying new uploaded files\n- Classifying existing files by ID\n- Both new files and existing file IDs in one request\n\n## v0 Features:\n- **Simplified Rules**: Only `type` and `description` fields needed\n- **Matching Threshold**: Confidence-based classification with configurable threshold\n- **Smart Classification**: Filename heuristics + LLM content analysis\n- **Document Type Filtering**: Automatically filters out non-document file types\n- **Fast Processing**: Uses LlamaParse fast mode + GPT-4.1-nano\n- **Optimized Performance**: Parses each file only once for all rules\n\n## Simplified Scoring Logic:\n1. **Evaluate All Rules**: Compare document against all classification rules\n2. **Best Match Selection**: Return the highest scoring rule above matching_threshold\n3. **Unknown Classification**: Return as \"unknown\" if no rules score above threshold\n\nThis ensures optimal classification by:\n- Finding the best possible match among all rules\n- Avoiding false positives with confidence thresholds\n- Maximizing performance with single-pass file parsing\n\n## Rule Format:\n```json\n[\n {\n \"type\": \"invoice\",\n \"description\": \"contains invoice number, line items, and total amount\"\n },\n {\n \"type\": \"receipt\",\n \"description\": \"purchase receipt with transaction details and payment info\"\n }\n]\n```\n\n## Classification Process:\n1. **Metadata Heuristics** (configurable via API):\n - **Document Type Filter**: Only process document file types (PDF, DOC, DOCX, RTF, TXT, ODT, Pages, HTML, XML, Markdown)\n - **Filename Heuristics**: Check if rule type appears in filename\n - **Content Analysis**: Parse document content once and use LLM for semantic matching against all rules\n2. **Result**: Returns type, confidence score, and matched rule information\n\n## API Parameters:\n- `matching_threshold` (0.1-0.99, default: 0.6): Minimum confidence threshold for acceptable matches\n- `enable_metadata_heuristic` (boolean, default: true): Enable metadata-based features\n\n## Supported Document Types:\n**Text Documents**: pdf, doc, docx, rtf, txt, odt, pages\n**Web Documents**: html, htm, xml\n**Markup**: md, markdown\n\n## Limits (Beta):\n- Maximum 100 files per request\n- Maximum 10 rules per request\n- Rule descriptions: 10-500 characters\n- Document types: 1-50 characters (alphanumeric, hyphens, underscores)\n\n**Beta Notice**: This API is subject to change. Please provide feedback!",
"operationId": "classify_documents_api_v1_classifier_classify_post",
"tags": ["Billing"],
"summary": "Create Checkout Session",
"description": "Create a new checkout session.",
"operationId": "create_checkout_session_api_v1_billing_checkout_session_post",
"security": [
{
"HTTPBearer": []
@@ -11788,23 +11795,6 @@
}
],
"parameters": [
{
"name": "project_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"name": "organization_id",
"in": "query",
@@ -11842,9 +11832,9 @@
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_classify_documents_api_v1_classifier_classify_post"
"$ref": "#/components/schemas/CheckoutSessionCreatePayload"
}
}
}
@@ -11855,7 +11845,8 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClassifyResponse"
"type": "string",
"title": "Response Create Checkout Session Api V1 Billing Checkout Session Post"
}
}
}
@@ -11957,6 +11948,55 @@
}
}
},
"/api/v1/billing/webhook": {
"post": {
"tags": ["Billing"],
"summary": "Stripe Webhook",
"description": "Stripe webhook endpoint.",
"operationId": "stripe_webhook_api_v1_billing_webhook_post",
"parameters": [
{
"name": "stripe-signature",
"in": "header",
"required": false,
"schema": {
"type": "string",
"title": "Stripe-Signature"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"const": "success",
"type": "string"
},
"propertyNames": {
"const": "status"
},
"title": "Response Stripe Webhook Api V1 Billing Webhook Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/billing/downgrade-plan": {
"post": {
"tags": ["Billing"],
@@ -12125,6 +12165,64 @@
}
}
},
"/api/v1/billing/metronome-webhook": {
"post": {
"tags": ["Billing"],
"summary": "Metronome Webhook",
"description": "Metronome webhook endpoint.",
"operationId": "metronome_webhook_api_v1_billing_metronome_webhook_post",
"parameters": [
{
"name": "Metronome-Webhook-Signature",
"in": "header",
"required": false,
"schema": {
"type": "string",
"title": "Metronome-Webhook-Signature"
}
},
{
"name": "Date",
"in": "header",
"required": false,
"schema": {
"type": "string",
"title": "Date"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"const": "success",
"type": "string"
},
"propertyNames": {
"const": "status"
},
"title": "Response Metronome Webhook Api V1 Billing Metronome Webhook Post"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/billing/metronome/dashboard": {
"get": {
"tags": ["Billing"],
@@ -15670,12 +15768,12 @@
}
}
},
"/api/v1/beta/agent-data": {
"/api/v1/beta/agent-data/": {
"post": {
"tags": ["Beta", "Agent Data"],
"summary": "Create Agent Data",
"description": "Create new agent data.",
"operationId": "create_agent_data_api_v1_beta_agent_data_post",
"operationId": "create_agent_data_api_v1_beta_agent_data__post",
"security": [
{
"HTTPBearer": []
@@ -18785,73 +18883,6 @@
"required": ["start_date", "end_date"],
"title": "BillingPeriod"
},
"Body_classify_documents_api_v1_classifier_classify_post": {
"properties": {
"rules_json": {
"type": "string",
"title": "Rules Json",
"description": "JSON string containing classifier rules"
},
"files": {
"anyOf": [
{
"items": {
"type": "string",
"format": "binary"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Files"
},
"file_ids": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Ids",
"description": "Comma-separated list of existing file IDs"
},
"matching_threshold": {
"anyOf": [
{
"type": "number",
"maximum": 0.99,
"minimum": 0.1
},
{
"type": "null"
}
],
"title": "Matching Threshold",
"description": "Minimum confidence threshold for acceptable matches (0.1-0.99, default: 0.6)",
"default": 0.6
},
"enable_metadata_heuristic": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enable Metadata Heuristic",
"description": "Enable metadata-based features (document filtering + content classification, default: true)",
"default": true
}
},
"type": "object",
"required": ["rules_json"],
"title": "Body_classify_documents_api_v1_classifier_classify_post"
},
"Body_create_report_api_v1_reports__post": {
"properties": {
"name": {
@@ -19345,11 +19376,6 @@
],
"title": "Max Pages"
},
"merge_tables_across_pages_in_markdown": {
"type": "boolean",
"title": "Merge Tables Across Pages In Markdown",
"default": false
},
"outlined_table_extraction": {
"type": "boolean",
"title": "Outlined Table Extraction",
@@ -19831,11 +19857,6 @@
],
"title": "Max Pages"
},
"merge_tables_across_pages_in_markdown": {
"type": "boolean",
"title": "Merge Tables Across Pages In Markdown",
"default": false
},
"outlined_table_extraction": {
"type": "boolean",
"title": "Outlined Table Extraction",
@@ -20409,101 +20430,30 @@
"type": "object",
"title": "ChatInputParams"
},
"CheckoutSessionCreatePayload": {
"properties": {
"success_url": {
"type": "string",
"minLength": 1,
"format": "uri",
"title": "Success Url"
},
"cancel_url": {
"type": "string",
"minLength": 1,
"format": "uri",
"title": "Cancel Url"
}
},
"type": "object",
"required": ["success_url", "cancel_url"],
"title": "CheckoutSessionCreatePayload"
},
"ChunkMode": {
"type": "string",
"enum": ["PAGE", "DOCUMENT", "SECTION", "GROUPED_PAGES"],
"title": "ChunkMode"
},
"ClassificationResult": {
"properties": {
"file_id": {
"type": "string",
"format": "uuid",
"title": "File Id",
"description": "The ID of the classified file"
},
"type": {
"type": "string",
"title": "Type",
"description": "The assigned document type ('unknown' if no rules matched)",
"examples": ["invoice", "receipt", "contract", "unknown"]
},
"confidence": {
"type": "number",
"maximum": 1.0,
"minimum": 0.0,
"title": "Confidence",
"description": "Confidence score of the classification (0.0-1.0)"
},
"matched_rule": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Matched Rule",
"description": "Description of the rule that matched, or method used (e.g., 'auto: filename contains invoice')",
"examples": [
"contains invoice number, line items, and total",
"auto: filename contains 'invoice'",
null
]
}
},
"type": "object",
"required": ["file_id", "type", "confidence", "matched_rule"],
"title": "ClassificationResult",
"description": "Result of classifying a single file.\n\nContains the classification outcome with confidence score and matched rule info."
},
"ClassifyResponse": {
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/ClassificationResult"
},
"type": "array",
"title": "Items",
"description": "The list of items."
},
"next_page_token": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Page Token",
"description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages."
},
"total_size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Size",
"description": "The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only."
},
"unknown_count": {
"type": "integer",
"minimum": 0.0,
"title": "Unknown Count",
"description": "Number of files that couldn't be classified"
}
},
"type": "object",
"required": ["items", "unknown_count"],
"title": "ClassifyResponse",
"description": "Response model for the classify endpoint following AIP-132 pagination standard.\n\nContains classification results with pagination support and summary statistics."
},
"CloudAzStorageBlobDataSource": {
"properties": {
"supports_access_control": {
@@ -21991,7 +21941,6 @@
},
"query": {
"type": "string",
"minLength": 1,
"title": "Query",
"description": "The query to retrieve against."
}
@@ -22508,12 +22457,14 @@
"version_metadata": {
"anyOf": [
{
"$ref": "#/components/schemas/DataSourceReaderVersionMetadata"
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Version Metadata",
"description": "Version metadata for the data source"
},
"project_id": {
@@ -22619,24 +22570,6 @@
"title": "DataSourceCreate",
"description": "Schema for creating a data source."
},
"DataSourceReaderVersionMetadata": {
"properties": {
"reader_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reader Version",
"description": "The version of the reader to use for this data source."
}
},
"type": "object",
"title": "DataSourceReaderVersionMetadata"
},
"DataSourceUpdate": {
"properties": {
"name": {
@@ -22908,7 +22841,6 @@
},
"query": {
"type": "string",
"minLength": 1,
"title": "Query",
"description": "The query to retrieve against."
},
@@ -23867,7 +23799,7 @@
},
"ExtractMode": {
"type": "string",
"enum": ["FAST", "BALANCED", "PREMIUM", "MULTIMODAL"],
"enum": ["FAST", "BALANCED", "PREMIUM", "MULTIMODAL", "ACCURATE"],
"title": "ExtractMode"
},
"ExtractModels": {
@@ -26278,19 +26210,6 @@
"description": "Whether to try to extract outlined tables",
"default": false
},
"mergeTablesAcrossPagesInMarkdown": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Mergetablesacrosspagesinmarkdown",
"description": "Whether to merge tables across pages in markdown",
"default": false
},
"saveImages": {
"anyOf": [
{
@@ -27151,7 +27070,6 @@
"disable_image_extraction": false,
"invalidate_cache": false,
"outlined_table_extraction": false,
"merge_tables_across_pages_in_markdown": false,
"output_pdf_of_document": false,
"do_not_cache": false,
"fast_mode": false,
@@ -27328,18 +27246,6 @@
"title": "Outlined Table Extraction",
"default": false
},
"merge_tables_across_pages_in_markdown": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Merge Tables Across Pages In Markdown",
"default": false
},
"output_pdf_of_document": {
"anyOf": [
{
@@ -29500,18 +29406,6 @@
"title": "Outlined Table Extraction",
"default": false
},
"merge_tables_across_pages_in_markdown": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Merge Tables Across Pages In Markdown",
"default": false
},
"output_pdf_of_document": {
"anyOf": [
{
@@ -31440,12 +31334,14 @@
"version_metadata": {
"anyOf": [
{
"$ref": "#/components/schemas/DataSourceReaderVersionMetadata"
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Version Metadata",
"description": "Version metadata for the data source"
},
"project_id": {
@@ -32233,6 +32129,12 @@
"title": "Data Source Project File Changed",
"description": "Whether the data source project file has changed",
"default": false
},
"should_migrate_pipeline_file_to_external_file_id": {
"type": "boolean",
"title": "Should Migrate Pipeline File To External File Id",
"description": "Whether to migrate the pipeline file to the external file id",
"default": false
}
},
"type": "object",
@@ -34337,6 +34239,19 @@
"title": "Name",
"description": "A name for the role."
},
"organization_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Organization Id",
"description": "The organization's ID."
},
"permissions": {
"items": {
"$ref": "#/components/schemas/Permission"
@@ -34347,7 +34262,7 @@
}
},
"type": "object",
"required": ["id", "name", "permissions"],
"required": ["id", "name", "organization_id", "permissions"],
"title": "Role",
"description": "Schema for a role."
},
@@ -35219,13 +35134,19 @@
"title": "Project Ids",
"description": "The project ID scope."
},
"role_id": {
"type": "string",
"format": "uuid",
"title": "Role Id",
"description": "The role's ID."
},
"role": {
"$ref": "#/components/schemas/Role",
"description": "The role."
}
},
"type": "object",
"required": ["id", "user_id", "organization_id", "role"],
"required": ["id", "user_id", "organization_id", "role_id", "role"],
"title": "UserOrganizationRole",
"description": "Schema for a user's role in an organization."
},
+3 -16
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "4.0.24",
"version": "4.0.18",
"type": "module",
"license": "MIT",
"scripts": {
@@ -11,23 +11,10 @@
"files": [
"openapi.json",
"./api",
"./reader",
"./parse",
"./beta/agent"
"./reader"
],
"exports": {
"./openapi.json": "./openapi.json",
"./beta/agent": {
"require": {
"types": "./beta/agent/dist/index.d.cts",
"default": "./beta/agent/dist/index.cjs"
},
"import": {
"types": "./beta/agent/dist/index.d.ts",
"default": "./beta/agent/dist/index.js"
},
"default": "./beta/agent/dist/index.js"
},
"./api": {
"require": {
"types": "./api/dist/index.d.cts",
@@ -92,6 +79,6 @@
},
"dependencies": {
"p-retry": "^6.2.1",
"zod": "^3.25.76"
"zod": "^3.25.67"
}
}
-314
View File
@@ -1,314 +0,0 @@
import { createClient, createConfig } from "@hey-api/client-fetch";
import { getEnv } from "@llamaindex/env";
import {
aggregateAgentDataApiV1BetaAgentDataAggregatePost,
createAgentDataApiV1BetaAgentDataPost,
deleteAgentDataApiV1BetaAgentDataItemIdDelete,
getAgentDataApiV1BetaAgentDataItemIdGet,
searchAgentDataApiV1BetaAgentDataSearchPost,
updateAgentDataApiV1BetaAgentDataItemIdPut,
type AgentData,
type AggregateGroup,
} from "../../client";
import type {
AggregateAgentDataOptions,
SearchAgentDataOptions,
TypedAgentData,
TypedAgentDataItems,
TypedAggregateGroup,
TypedAggregateGroupItems,
} from "./types";
/**
* Async client for agent data operations
*/
export class AgentClient<T = unknown> {
private client: ReturnType<typeof createClient>;
private baseUrl: string;
private headers: Record<string, string>;
private collection: string;
private agentUrlId: string;
constructor({
apiKey = getEnv("LLAMA_CLOUD_API_KEY"),
baseUrl = "https://api.cloud.llamaindex.ai/",
collection = "default",
agentUrlId = "default",
}: {
apiKey?: string;
baseUrl?: string;
collection?: string;
agentUrlId?: string;
}) {
this.baseUrl = baseUrl;
this.headers = {
"X-SDK-Name": "llamaindex-ts",
...(apiKey && { Authorization: `Bearer ${apiKey}` }),
};
this.client = createClient(
createConfig({
baseUrl: this.baseUrl,
headers: this.headers,
}),
);
this.collection = collection;
this.agentUrlId = agentUrlId;
}
/**
* Create new agent data
*/
async createItem(data: T): Promise<TypedAgentData<T>> {
const response = await createAgentDataApiV1BetaAgentDataPost({
throwOnError: true,
body: {
agent_slug: this.agentUrlId,
collection: this.collection,
data: data as Record<string, unknown>,
},
client: this.client,
});
return this.transformResponse(response.data);
}
/**
* Get agent data by ID
*/
async getItem(id: string): Promise<TypedAgentData<T> | null> {
try {
const response = await getAgentDataApiV1BetaAgentDataItemIdGet({
throwOnError: true,
path: { item_id: id },
client: this.client,
});
return this.transformResponse(response.data);
} catch (error) {
if (
error instanceof Error &&
"response" in error &&
(error as { response?: { status?: number } }).response?.status === 404
) {
return null;
}
throw error;
}
}
/**
* Update agent data
*/
async updateItem(id: string, data: T): Promise<TypedAgentData<T>> {
const response = await updateAgentDataApiV1BetaAgentDataItemIdPut({
throwOnError: true,
path: { item_id: id },
body: {
data: data as Record<string, unknown>,
},
client: this.client,
});
return this.transformResponse(response.data);
}
/**
* Delete agent data
*/
async deleteItem(id: string): Promise<void> {
await deleteAgentDataApiV1BetaAgentDataItemIdDelete({
throwOnError: true,
path: { item_id: id },
client: this.client,
});
}
/**
* List agent data
*/
async search(
options: SearchAgentDataOptions,
): Promise<TypedAgentDataItems<T>> {
const response = await searchAgentDataApiV1BetaAgentDataSearchPost({
throwOnError: true,
body: {
agent_slug: this.agentUrlId,
...(this.collection !== undefined && {
collection: this.collection,
}),
...(options.filter !== undefined && { filter: options.filter }),
...(options.orderBy !== undefined && { order_by: options.orderBy }),
...(options.pageSize !== undefined && { page_size: options.pageSize }),
...(options.offset !== undefined && { offset: options.offset }),
...(options.includeTotal !== undefined && {
include_total: options.includeTotal,
}),
},
client: this.client,
});
const result: TypedAgentDataItems<T> = {
items: response.data.items.map((item: AgentData) =>
this.transformResponse(item),
),
};
if (
response.data.total_size !== null &&
response.data.total_size !== undefined
) {
result.totalSize = response.data.total_size;
}
if (
response.data.next_page_token !== null &&
response.data.next_page_token !== undefined
) {
result.nextPageToken = response.data.next_page_token;
}
return result;
}
/**
* Aggregate agent data into groups
*/
async aggregate(
options: AggregateAgentDataOptions,
): Promise<TypedAggregateGroupItems<T>> {
const response = await aggregateAgentDataApiV1BetaAgentDataAggregatePost({
throwOnError: true,
body: {
agent_slug: this.agentUrlId,
...(this.collection !== undefined && {
collection: this.collection,
}),
...(options.filter !== undefined && { filter: options.filter }),
...(options.groupBy !== undefined && { group_by: options.groupBy }),
...(options.count !== undefined && { count: options.count }),
...(options.first !== undefined && { first: options.first }),
...(options.orderBy !== undefined && { order_by: options.orderBy }),
...(options.offset !== undefined && { offset: options.offset }),
...(options.pageSize !== undefined && { page_size: options.pageSize }),
},
client: this.client,
});
const result: TypedAggregateGroupItems<T> = {
items: response.data.items.map((item) =>
this.transformAggregateResponse(item),
),
};
if (
response.data.total_size !== null &&
response.data.total_size !== undefined
) {
result.totalSize = response.data.total_size;
}
if (
response.data.next_page_token !== null &&
response.data.next_page_token !== undefined
) {
result.nextPageToken = response.data.next_page_token;
}
return result;
}
/**
* Transform API response to typed data
*/
private transformResponse(data: AgentData): TypedAgentData<T> {
const result: TypedAgentData<T> = {
id: data.id!,
agentUrlId: data.agent_slug,
data: data.data as T,
createdAt: new Date(data.created_at!),
updatedAt: new Date(data.updated_at!),
};
if (data.collection !== undefined) {
result.collection = data.collection;
}
return result;
}
/**
* Transform API aggregate response to typed data
*/
private transformAggregateResponse(
data: AggregateGroup,
): TypedAggregateGroup<T> {
const result: TypedAggregateGroup<T> = {
groupKey: data.group_key,
};
if (data.count !== null && data.count !== undefined) {
result.count = data.count;
}
if (data.first_item !== null && data.first_item !== undefined) {
result.firstItem = data.first_item as T;
}
return result;
}
}
export interface AgentDataClientOptions<T = unknown> {
/** API key for the client */
apiKey?: string;
/** Base URL for the client */
/** Base URL of the llama cloud api */
baseUrl?: string;
/** If running in an agent runtime, optionally provide the window url to infer the agent url id */
windowUrl?: string;
/** Agent URL ID for the client, if not provided, it will be inferred from the window url, or fall back to "default" */
agentUrlId?: string;
/** Collection name for the client, defaults to "default" */
collection?: string;
}
/**
* Create a new AsyncAgentDataClient instance
* @param options - The options for the client
* @returns A new AgentClient instance
*/
export function createAgentDataClient<T = unknown>({
apiKey,
baseUrl,
windowUrl,
agentUrlId,
collection = "default",
}: {
apiKey?: string;
baseUrl?: string;
windowUrl?: string;
agentUrlId?: string;
collection?: string;
} = {}): AgentClient<T> {
if (windowUrl && !agentUrlId) {
try {
const path = new URL(windowUrl).pathname;
// /deployments/<agent-url-id>/ui/ -> ["", "deployments", "<agent-url-id>", "ui"]
agentUrlId = path.split("/")[2];
} catch (error) {
console.warn(
"Failed to infer agent url id from window url, falling back to default",
error,
);
}
}
return new AgentClient({
...(apiKey && { apiKey }),
...(baseUrl && { baseUrl }),
...(agentUrlId && { agentUrlId }),
collection,
});
}
-16
View File
@@ -1,16 +0,0 @@
export { AgentClient, createAgentDataClient } from "./client";
export type {
AggregateAgentDataOptions,
ComparisonOperator,
ExtractedData,
FilterOperation,
SearchAgentDataOptions,
StatusType,
TypedAgentData,
TypedAgentDataItems,
TypedAggregateGroup,
TypedAggregateGroupItems,
} from "./types";
export { StatusType as StatusTypeEnum } from "./types";
-138
View File
@@ -1,138 +0,0 @@
import type { FilterOperation as RawFilterOperation } from "../../client/types.gen";
/**
* Status types for agent data processing
*/
export const StatusType = {
ERROR: "error",
ACCEPTED: "accepted",
REJECTED: "rejected",
PENDING_REVIEW: "pending_review",
} as const;
export type StatusType = (typeof StatusType)[keyof typeof StatusType];
export const ComparisonOperator = {
GT: "gt",
GTE: "gte",
LT: "lt",
LTE: "lte",
EQ: "eq",
INCLUDES: "includes",
} as const;
export type ComparisonOperator =
(typeof ComparisonOperator)[keyof typeof ComparisonOperator];
/**
* Filter operation for searching/filtering agent data
*/
export type FilterOperation = RawFilterOperation;
/**
* Base extracted data interface
*/
export interface ExtractedData<T = unknown> {
/** The original data that was extracted from the document. For tracking changes. Should not be updated. */
original_data: T;
/** The latest state of the data. Will differ if data has been updated. */
data?: T;
/** The status of the extracted data. Prefer to use the StatusType values, but any string is allowed. */
status: StatusType | string;
/** Confidence scores, if any, for each primitive field in the original_data data. */
confidence?: Record<string, unknown>;
/** The ID of the file that was used to extract the data. */
file_id?: string;
/** The name of the file that was used to extract the data. */
file_name?: string;
/** The hash of the file that was used to extract the data. */
file_hash?: string;
/** Additional metadata about the extracted data, such as errors, tokens, etc. */
metadata?: Record<string, unknown>;
}
/**
* TypedAgentData interface for typed agent data
*/
export interface TypedAgentData<T = unknown> {
/** The unique ID of the agent data record. */
id: string;
/** The ID of the agent that created the data. */
agentUrlId: string;
/** The collection of the agent data. */
collection?: string;
/** The data of the agent data. Usually an ExtractedData&lt;SomeOtherType&gt; */
data: T;
/** The date and time the data was created. */
createdAt: Date;
/** The date and time the data was last updated. */
updatedAt: Date;
}
/**
* Paginated response of typed agent data items
*/
export interface TypedAgentDataItems<T = unknown> {
items: TypedAgentData<T>[];
totalSize?: number;
nextPageToken?: string;
}
/**
* Options for listing agent data
*/
export interface SearchAgentDataOptions {
/** Filter options for the list. */
filter?: Record<string, FilterOperation>;
/** Order by options for the list. */
orderBy?: string;
/** Page size for the list. */
pageSize?: number;
/** Offset for the list. */
offset?: number;
/**
* Whether to include the total number of items in the response.
* Should use only for first request to build total pagination, and not subsequent requests.
*/
includeTotal?: boolean;
}
/**
* Options for aggregating agent data
*/
export interface AggregateAgentDataOptions {
/** Filter options for the aggregation. */
filter?: Record<string, FilterOperation>;
/** Fields to group by. */
groupBy?: string[];
/** Whether to count the number of items in each group. */
count?: boolean;
/** Whether to return the first item in each group. */
first?: boolean;
/** Order by options for the aggregation. */
orderBy?: string;
/** Offset for the aggregation. */
offset?: number;
/** Page size for the aggregation. */
pageSize?: number;
}
/**
* Single aggregation group result
*/
export interface TypedAggregateGroup<T = unknown> {
/** The group key values */
groupKey: Record<string, unknown>;
/** Count of items in the group */
count?: number;
/** First item in the group */
firstItem?: T;
}
/**
* Paginated response of aggregated agent data
*/
export interface TypedAggregateGroupItems<T = unknown> {
items: TypedAggregateGroup<T>[];
totalSize?: number;
nextPageToken?: string;
}
-3
View File
@@ -179,7 +179,6 @@ export class LlamaParseReader extends FileReader {
page_header_suffix?: string | undefined;
page_footer_prefix?: string | undefined;
page_footer_suffix?: string | undefined;
merge_tables_across_pages_in_markdown?: boolean | undefined;
constructor(
params: Partial<Omit<LlamaParseReader, "language" | "apiKey">> & {
@@ -369,8 +368,6 @@ export class LlamaParseReader extends FileReader {
page_header_suffix: this.page_header_suffix,
page_footer_prefix: this.page_footer_prefix,
page_footer_suffix: this.page_footer_suffix,
merge_tables_across_pages_in_markdown:
this.merge_tables_across_pages_in_markdown,
} satisfies {
[Key in keyof BodyUploadFileApiParsingUploadPost]-?:
| BodyUploadFileApiParsingUploadPost[Key]
-13
View File
@@ -1,18 +1,5 @@
# @llamaindex/core
## 0.6.15
### Patch Changes
- 7ad3411: feat: add llm.exec
- 5da5b3c: add progress callback to embeddings
## 0.6.14
### Patch Changes
- 8eeac33: Fix createMemory factory when parsing options
## 0.6.13
### Patch Changes
+3 -14
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.6.15",
"version": "0.6.13",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
@@ -59,17 +59,6 @@
},
"default": "./llms/dist/index.js"
},
"./llms/mock": {
"require": {
"types": "./llms/mock/dist/index.d.cts",
"default": "./llms/mock/dist/index.cjs"
},
"import": {
"types": "./llms/mock/dist/index.d.ts",
"default": "./llms/mock/dist/index.js"
},
"default": "./llms/mock/dist/index.js"
},
"./decorator": {
"require": {
"types": "./decorator/dist/index.d.cts",
@@ -321,9 +310,9 @@
},
"dependencies": {
"@llamaindex/env": "workspace:*",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"magic-bytes.js": "^1.10.0",
"zod": "^3.25.76",
"zod": "^3.25.67",
"zod-to-json-schema": "^3.24.6"
}
}
+2 -5
View File
@@ -17,7 +17,6 @@ export type EmbeddingInfo = {
export type BaseEmbeddingOptions = {
logProgress?: boolean;
progressCallback?: (current: number, total: number) => void;
};
export abstract class BaseEmbedding extends TransformComponent<
@@ -139,11 +138,9 @@ export async function batchEmbeddings<T>(
const embeddings = await embedFunc(curBatch);
resultEmbeddings.push(...embeddings);
if (options?.progressCallback) {
options?.progressCallback?.(i + 1, queue.length);
}
if (options?.logProgress) {
console.log(`getting embedding progress: ${i + 1} / ${queue.length}`);
console.log(`getting embedding progress: ${i} / ${queue.length}`);
}
curBatch.length = 0;
+1 -173
View File
@@ -1,20 +1,15 @@
import { extractText } from "../utils/llms";
import { streamConverter } from "../utils/stream";
import { callTool, getToolCallsFromResponse } from "./tool-call";
import type {
ChatMessage,
ChatResponse,
ChatResponseChunk,
CompletionResponse,
ExecResponse,
ExecStreamResponse,
LLM,
LLMChatParamsNonStreaming,
LLMChatParamsStreaming,
LLMCompletionParamsNonStreaming,
LLMCompletionParamsStreaming,
LLMMetadata,
PartialToolCall,
ToolCallLLMMessageOptions,
} from "./type";
@@ -65,180 +60,13 @@ export abstract class BaseLLM<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<AsyncIterable<ChatResponseChunk<AdditionalMessageOptions>>>;
): Promise<AsyncIterable<ChatResponseChunk>>;
abstract chat(
params: LLMChatParamsNonStreaming<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<ChatResponse<AdditionalMessageOptions>>;
exec(
params: LLMChatParamsStreaming<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<ExecStreamResponse<AdditionalMessageOptions>>;
exec(
params: LLMChatParamsNonStreaming<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<ExecResponse<AdditionalMessageOptions>>;
async exec(
params:
| LLMChatParamsStreaming<AdditionalChatOptions, AdditionalMessageOptions>
| LLMChatParamsNonStreaming<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<
| ExecResponse<AdditionalMessageOptions>
| ExecStreamResponse<AdditionalMessageOptions>
> {
if (params.stream) {
return this.streamExec(params);
}
const newMessages: ChatMessage<AdditionalMessageOptions>[] = [];
const response = await this.chat(params);
newMessages.push(response.message);
const toolCalls = getToolCallsFromResponse(response);
if (params.tools && toolCalls.length > 0) {
for (const toolCall of toolCalls) {
const toolResultMessage = await callTool<AdditionalMessageOptions>(
params.tools,
toolCall,
);
if (toolResultMessage) {
newMessages.push(toolResultMessage);
}
}
}
return {
newMessages,
toolCalls,
};
}
async streamExec(
params: LLMChatParamsStreaming<
AdditionalChatOptions,
AdditionalMessageOptions
>,
): Promise<ExecStreamResponse<AdditionalMessageOptions>> {
const responseStream = await this.chat(params);
const iterator = responseStream[Symbol.asyncIterator]();
const first = await iterator.next();
// Set firstChunk to null if empty
const firstChunk = !first.done ? first.value : null;
const hasToolCallsInFirst =
firstChunk?.options && "toolCall" in firstChunk.options;
if (!hasToolCallsInFirst) {
let content = firstChunk?.delta ?? "";
let finished = false;
return {
stream: (async function* () {
if (firstChunk) {
yield firstChunk;
}
for await (const chunk of {
[Symbol.asyncIterator]: () => iterator,
}) {
content += chunk.delta;
yield chunk;
}
finished = true;
})(),
toolCalls: [],
newMessages() {
if (!finished) {
throw new Error(
"New messages are not ready yet. Call newMessages() after the stream is done.",
);
}
return content
? [
{
role: "assistant",
content,
} as ChatMessage<AdditionalMessageOptions>,
]
: [];
},
};
}
// Helper function to process a chunk
function processChunk(
chunk: ChatResponseChunk,
toolCallMap: Map<string, PartialToolCall>,
): ChatResponseChunk | null {
if (chunk.options && "toolCall" in chunk.options) {
// update tool call map
for (const toolCall of chunk.options.toolCall as PartialToolCall[]) {
if (toolCall.id) {
toolCallMap.set(toolCall.id, toolCall);
}
}
// return the current full response with the tool calls
const toolCalls = Array.from(toolCallMap.values());
return {
...chunk,
options: {
...chunk.options,
toolCall: toolCalls,
},
};
}
return null;
}
// Collect for tool call
let fullResponse: ChatResponseChunk | null = null;
const toolCallMap = new Map<string, PartialToolCall>();
// Process first chunk
fullResponse = processChunk(firstChunk, toolCallMap);
// Process remaining chunks
while (true) {
const next = await iterator.next();
if (next.done) break;
const chunk = next.value;
const potentialFull = processChunk(chunk, toolCallMap);
if (potentialFull) {
fullResponse = potentialFull;
}
}
if (params.tools && fullResponse) {
const toolCalls = getToolCallsFromResponse(fullResponse);
const messages: ChatMessage<AdditionalMessageOptions>[] = [];
messages.push({
role: "assistant",
content: "",
options: {
toolCall: toolCalls,
} as AdditionalMessageOptions,
});
for (const toolCall of toolCalls) {
const toolResultMessage = await callTool<AdditionalMessageOptions>(
params.tools,
toolCall,
);
if (toolResultMessage) {
messages.push(toolResultMessage);
}
}
return {
stream: (async function* () {})(),
newMessages() {
return messages;
},
toolCalls,
};
} else {
throw new Error("Cannot get tool calls from response");
}
}
}
export abstract class ToolCallLLM<
-61
View File
@@ -1,61 +0,0 @@
import { stringifyJSONToMessageContent } from "../utils";
import type {
BaseTool,
ChatMessage,
ChatResponse,
ChatResponseChunk,
ToolCall,
ToolCallLLMMessageOptions,
} from "./type";
export const getToolCallsFromResponse = (
response:
| ChatResponse<ToolCallLLMMessageOptions>
| ChatResponseChunk<ToolCallLLMMessageOptions>,
): ToolCall[] => {
let options;
if ("message" in response) {
options = response.message.options;
} else {
options = response.options;
}
if (options && "toolCall" in options) {
return (options.toolCall as ToolCall[]).map((toolCall) => ({
...toolCall,
input:
// XXX: this is a hack openai returns parsed object for streaming, but not for
// non-streaming
typeof toolCall.input === "string"
? JSON.parse(toolCall.input)
: toolCall.input,
}));
}
return [];
};
export const callTool = async <
AdditionalMessageOptions extends object = object,
>(
tools: BaseTool[],
toolCall: ToolCall,
): Promise<ChatMessage<AdditionalMessageOptions> | null> => {
const tool = tools?.find((t) => t.metadata.name === toolCall.name);
// TODO: consider using BaseToolWithCall instead of BaseTool to avoid checking for tool.call
if (tool && tool.call) {
const result = await tool.call(toolCall.input);
const toolResultMessage: ChatMessage<AdditionalMessageOptions> = {
role: "user",
content: stringifyJSONToMessageContent(result),
options: {
toolResult: {
id: toolCall.id,
result,
},
} as AdditionalMessageOptions,
};
return toolResultMessage;
}
return null;
};
+3 -19
View File
@@ -95,22 +95,6 @@ export type ChatResponseChunk<
options?: undefined | AdditionalMessageOptions;
};
export interface ExecResponse<
AdditionalMessageOptions extends object = object,
> {
newMessages: ChatMessage<AdditionalMessageOptions>[];
toolCalls: ToolCall[];
}
export interface ExecStreamResponse<
AdditionalMessageOptions extends object = object,
> {
stream: AsyncIterable<ChatResponseChunk<AdditionalMessageOptions>>;
// this is a function as while streaming, the assistant message is not ready yet - can be called after the stream is done
newMessages(): ChatMessage<AdditionalMessageOptions>[];
toolCalls: ToolCall[];
}
export interface CompletionResponse {
text: string;
/**
@@ -136,9 +120,9 @@ export interface LLMChatParamsBase<
AdditionalMessageOptions extends object = object,
> {
messages: ChatMessage<AdditionalMessageOptions>[];
additionalChatOptions?: AdditionalChatOptions | undefined;
tools?: BaseTool[] | undefined;
responseFormat?: z.ZodType | object | undefined;
additionalChatOptions?: AdditionalChatOptions;
tools?: BaseTool[];
responseFormat?: z.ZodType | object;
}
export interface LLMChatParamsStreaming<
+1 -12
View File
@@ -79,18 +79,7 @@ export function createMemory<TMessageOptions extends object = object>(
}
}
}
// Determine the correct options to pass to Memory
const resolvedOptions: MemoryOptions<TMessageOptions> = Array.isArray(
messagesOrOptions,
)
? options
: (messagesOrOptions as MemoryOptions<TMessageOptions>);
return new Memory<Record<string, never>, TMessageOptions>(
messages,
resolvedOptions,
);
return new Memory<Record<string, never>, TMessageOptions>(messages, options);
}
/**
+2
View File
@@ -70,6 +70,8 @@ export {
toToolDescriptions,
} from "./llms";
export { MockLLM } from "./mock";
export * from "./encoding";
export { objectEntries } from "./object-entries";
export * from "./stream";
@@ -1,4 +1,5 @@
import { ToolCallLLM } from "./base";
// TODO: move to a test package
import { ToolCallLLM } from "../llms/base";
import type {
ChatResponse,
ChatResponseChunk,
@@ -8,7 +9,7 @@ import type {
LLMCompletionParamsNonStreaming,
LLMCompletionParamsStreaming,
LLMMetadata,
} from "./type";
} from "../llms/type";
export class MockLLM extends ToolCallLLM {
metadata: LLMMetadata;
+1 -1
View File
@@ -1,5 +1,5 @@
import { LLMAgent, validateAgentParams } from "@llamaindex/core/agent";
import { MockLLM } from "@llamaindex/core/llms/mock";
import { MockLLM } from "@llamaindex/core/utils";
import { expect, test } from "vitest";
import { ZodError } from "zod";
+1 -80
View File
@@ -1,9 +1,4 @@
import {
BaseEmbedding,
batchEmbeddings,
truncateMaxTokens,
type BaseEmbeddingOptions,
} from "@llamaindex/core/embeddings";
import { truncateMaxTokens } from "@llamaindex/core/embeddings";
import { Tokenizers, tokenizers } from "@llamaindex/env/tokenizers";
import { describe, expect, test } from "vitest";
@@ -32,77 +27,3 @@ describe("truncateMaxTokens", () => {
expect(t.includes("")).toBe(false);
});
});
describe("BaseEmbedding progressCallback", () => {
const mockEmbedFunc = async (text: string): Promise<number[]> => {
return Array.from({ length: 10 }, () => Math.random());
};
const mockBatchEmbedFunc = async (
texts: string[],
): Promise<Array<number[]>> => {
return await Promise.all(texts.map(mockEmbedFunc));
};
const mockProgressCallback = (current: number, total: number) => {
console.log(`Progress: ${current}/${total}`);
};
const mockLogProgress = true;
const mockOptions = {
logProgress: mockLogProgress,
progressCallback: mockProgressCallback,
};
class MockEmbedding extends BaseEmbedding {
constructor(options: BaseEmbeddingOptions) {
super();
this.options = options;
}
private options: BaseEmbeddingOptions;
async getTextEmbedding(text: string): Promise<number[]> {
return await mockEmbedFunc(text);
}
getTextEmbeddings = async (texts: string[]): Promise<Array<number[]>> => {
return await mockBatchEmbedFunc(texts);
};
async getTextEmbeddingsBatch(
texts: string[],
options?: BaseEmbeddingOptions,
): Promise<Array<number[]>> {
const mergedOptions = { ...this.options, ...options };
expect(mergedOptions.progressCallback).toBeDefined();
return await batchEmbeddings(
texts,
this.getTextEmbeddings,
this.embedBatchSize,
mergedOptions,
);
}
}
test("should call progressCallback with correct values", async () => {
// Import and use a real embedding class instead
const progressCalls: Array<{ current: number; total: number }> = [];
const progressCallback = (current: number, total: number) => {
progressCalls.push({ current, total });
};
const texts = ["text1", "text2", "text3"];
const embedding = new MockEmbedding({ progressCallback: progressCallback });
embedding.embedBatchSize = 1; // Set batch size to 1 for testing
// so that progressCallback is called for each item
// (otherwise, we'd only get a callback for 3/3, which is fine but less clear)
await embedding.getTextEmbeddingsBatch(texts);
expect(progressCalls).toEqual([
{ current: 1, total: 3 },
{ current: 2, total: 3 },
{ current: 3, total: 3 },
]);
});
});
-43
View File
@@ -1,43 +0,0 @@
import { MockLLM } from "@llamaindex/core/llms/mock";
import { describe, expect, it } from "vitest";
// TODO: add tests for tool calls
describe("BaseLLM exec", () => {
it("should stream text response when no tool call is made", async () => {
const responseMessage = "This is a response message while streaming";
const llm = new MockLLM({ responseMessage });
const { stream, newMessages, toolCalls } = await llm.exec({
messages: [{ content: "Hi", role: "user" }],
stream: true,
});
expect(() => newMessages()).toThrowError();
const chunks = [];
for await (const chunk of stream) {
chunks.push(chunk);
}
expect(chunks.map((c) => c.delta).join("")).toBe(responseMessage);
expect(toolCalls).toEqual([]);
expect(newMessages()).toEqual([
{ content: responseMessage, role: "assistant" },
]);
});
it("should return text response when no tool call is made", async () => {
const responseMessage = "This is a response message";
const llm = new MockLLM({ responseMessage });
const { newMessages, toolCalls } = await llm.exec({
messages: [{ content: "Hi", role: "user" }],
});
expect(newMessages).toEqual([
{ content: responseMessage, role: "assistant" },
]);
expect(toolCalls).toEqual([]);
});
});
+2 -45
View File
@@ -1,7 +1,7 @@
import { Settings } from "@llamaindex/core/global";
import type { ChatMessage, LLM } from "@llamaindex/core/llms";
import { MockLLM } from "@llamaindex/core/llms/mock";
import { createMemory, Memory, staticBlock } from "@llamaindex/core/memory";
import { createMemory, Memory } from "@llamaindex/core/memory";
import { MockLLM } from "@llamaindex/core/utils";
import type { Tokenizer } from "@llamaindex/env/tokenizers";
import {
afterAll,
@@ -392,47 +392,4 @@ describe("Memory", () => {
expect(messages[0]?.role).toBe("user"); // data role should be mapped to user
});
});
describe("memoryBlocks initialization", () => {
test("should include static block content in getLLM result", async () => {
const STATIC_CONTENT = "You are speaking with a helpful assistant.";
const block = staticBlock({
content: STATIC_CONTENT,
messageRole: "system",
});
const memoryWithBlock = createMemory({ memoryBlocks: [block] });
// Fetch messages via getLLM static block (priority 0) should always be present
const messages = await memoryWithBlock.getLLM();
// There should be exactly one message (the static block) when no other messages are added
expect(messages).toHaveLength(1);
expect(messages[0]?.content).toBe(STATIC_CONTENT);
expect(messages[0]?.role).toBe("system");
});
test("should retain static block alongside dynamic messages", async () => {
const STATIC_CONTENT = "Always respond in pirate speak.";
const block = staticBlock({
content: STATIC_CONTENT,
messageRole: "system",
});
const memoryWithBlock = createMemory({ memoryBlocks: [block] });
// Add a regular user message
await memoryWithBlock.add({ role: "user", content: "Hello there!" });
const messages = await memoryWithBlock.getLLM();
// Static block + user message
expect(messages).toHaveLength(2);
const contents = messages.map((m) => m.content);
expect(contents).toEqual(
expect.arrayContaining([STATIC_CONTENT, "Hello there!"]),
);
});
});
});
@@ -1,6 +1,6 @@
import { SimpleChatEngine } from "@llamaindex/core/chat-engine";
import { MockLLM } from "@llamaindex/core/llms/mock";
import { Memory } from "@llamaindex/core/memory";
import { MockLLM } from "@llamaindex/core/utils";
import { describe, expect, test } from "vitest";
describe("SimpleChatEngine", () => {
+3 -3
View File
@@ -117,14 +117,14 @@
},
"devDependencies": {
"@huggingface/transformers": "^3.5.0",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"@types/readable-stream": "^4.0.15",
"vitest": "^2.1.5"
},
"dependencies": {
"pathe": "^1.1.2",
"@aws-crypto/sha256-js": "^5.2.0",
"js-tiktoken": "^1.0.12",
"pathe": "^1.1.2"
"js-tiktoken": "^1.0.12"
},
"peerDependencies": {
"@huggingface/transformers": "^3.5.0",
-36
View File
@@ -1,41 +1,5 @@
# @llamaindex/experimental
## 0.0.196
### Patch Changes
- llamaindex@0.11.19
## 0.0.195
### Patch Changes
- llamaindex@0.11.18
## 0.0.194
### Patch Changes
- llamaindex@0.11.17
## 0.0.193
### Patch Changes
- llamaindex@0.11.16
## 0.0.192
### Patch Changes
- llamaindex@0.11.15
## 0.0.191
### Patch Changes
- llamaindex@0.11.14
## 0.0.190
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.196",
"version": "0.0.190",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -62,7 +62,7 @@
},
"dependencies": {
"@types/lodash": "^4.17.7",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"jsonpath": "^1.1.1",
"llamaindex": "workspace:*",
"lodash": "^4.17.21"
-52
View File
@@ -1,57 +1,5 @@
# llamaindex
## 0.11.19
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
- @llamaindex/workflow@1.1.15
- @llamaindex/cloud@4.0.24
- @llamaindex/node-parser@2.0.15
## 0.11.18
### Patch Changes
- Updated dependencies [a1b1598]
- @llamaindex/cloud@4.0.23
## 0.11.17
### Patch Changes
- Updated dependencies [d2be868]
- @llamaindex/cloud@4.0.22
## 0.11.16
### Patch Changes
- Updated dependencies [579ca0c]
- @llamaindex/cloud@4.0.21
## 0.11.15
### Patch Changes
- Updated dependencies [48b0d88]
- Updated dependencies [f185772]
- @llamaindex/cloud@4.0.20
## 0.11.14
### Patch Changes
- Updated dependencies [5a0ed1f]
- Updated dependencies [5a0ed1f]
- Updated dependencies [8eeac33]
- @llamaindex/cloud@4.0.19
- @llamaindex/core@0.6.14
- @llamaindex/node-parser@2.0.14
- @llamaindex/workflow@1.1.14
## 0.11.13
### Patch Changes
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.11.19",
"version": "0.11.13",
"license": "MIT",
"type": "module",
"keywords": [
@@ -26,13 +26,13 @@
"@llamaindex/node-parser": "workspace:*",
"@llamaindex/workflow": "workspace:*",
"@types/lodash": "^4.17.7",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"lodash": "^4.17.21",
"magic-bytes.js": "^1.10.0"
},
"devDependencies": {
"@types/node": "^22.9.0",
"ajv": "^8.17.1"
"ajv": "^8.17.1",
"@types/node": "^22.9.0"
},
"engines": {
"node": ">=18.0.0"
-13
View File
@@ -1,18 +1,5 @@
# @llamaindex/core-test
## 0.1.10
### Patch Changes
- Updated dependencies [a1fdb07]
- @llamaindex/openai@0.4.9
## 0.1.9
### Patch Changes
- @llamaindex/openai@0.4.8
## 0.1.8
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llamaindex-test",
"private": true,
"version": "0.1.10",
"version": "0.1.8",
"type": "module",
"scripts": {
"test": "vitest run"
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/node-parser
## 2.0.15
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 2.0.14
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 2.0.13
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/node-parser",
"version": "2.0.15",
"version": "2.0.13",
"description": "Node parser for LlamaIndex",
"type": "module",
"exports": {
@@ -42,7 +42,7 @@
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"@types/html-to-text": "^9.0.4",
"@types/node": "^24.0.13",
"@types/node": "^22.9.0",
"tree-sitter": "^0.22.1",
"web-tree-sitter": "^0.24.4"
},
-16
View File
@@ -1,21 +1,5 @@
# @llamaindex/anthropic
## 0.3.17
### Patch Changes
- ddc0eaf: anthropic: stream partial tool calls
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.3.16
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.3.15
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/anthropic",
"description": "Anthropic Adapter for LlamaIndex",
"version": "0.3.17",
"version": "0.3.15",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+10 -16
View File
@@ -578,6 +578,7 @@ export class Anthropic extends ToolCallLLM<
});
let currentToolCall: PartialToolCall | null = null;
let accumulatedToolInput = "";
for await (const part of stream) {
const textContent =
@@ -606,13 +607,7 @@ export class Anthropic extends ToolCallLLM<
name: part.content_block.name,
input: "",
};
yield {
raw: part,
delta: "",
options: {
toolCall: [currentToolCall],
},
};
accumulatedToolInput = "";
continue;
}
@@ -621,14 +616,7 @@ export class Anthropic extends ToolCallLLM<
part.delta.type === "input_json_delta" &&
currentToolCall
) {
currentToolCall.input += part.delta.partial_json;
yield {
raw: part,
delta: "",
options: {
toolCall: [currentToolCall],
},
};
accumulatedToolInput += part.delta.partial_json;
continue;
}
@@ -637,7 +625,13 @@ export class Anthropic extends ToolCallLLM<
raw: part,
delta: "",
options: {
toolCall: [currentToolCall],
toolCall: [
{
id: currentToolCall.id,
name: currentToolCall.name,
input: accumulatedToolInput,
},
],
},
};
currentToolCall = null;
@@ -1,20 +1,5 @@
# @llamaindex/assemblyai
## 0.1.14
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.1.13
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.1.12
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/assemblyai",
"description": "AssemblyAI Reader for LlamaIndex",
"version": "0.1.14",
"version": "0.1.12",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/community
## 0.0.110
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.0.109
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.0.108
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/aws",
"description": "AWS package for LlamaIndexTS",
"version": "0.0.110",
"version": "0.0.108",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -44,7 +44,7 @@
"devDependencies": {
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"@types/node": "^24.0.13"
"@types/node": "^22.9.0"
},
"dependencies": {
"@aws-sdk/client-bedrock-agent-runtime": "^3.706.0",
-18
View File
@@ -1,23 +1,5 @@
# @llamaindex/clip
## 0.0.65
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- Updated dependencies [a1fdb07]
- @llamaindex/core@0.6.15
- @llamaindex/openai@0.4.9
## 0.0.64
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
- @llamaindex/openai@0.4.8
## 0.0.63
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/clip",
"description": "Clip Embedding Adapter for LlamaIndex",
"version": "0.0.65",
"version": "0.0.63",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/cohere
## 0.0.29
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.0.28
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.0.27
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/cohere",
"description": "Cohere Adapter for LlamaIndex",
"version": "0.0.29",
"version": "0.0.27",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-18
View File
@@ -1,23 +1,5 @@
# @llamaindex/deepinfra
## 0.0.65
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- Updated dependencies [a1fdb07]
- @llamaindex/core@0.6.15
- @llamaindex/openai@0.4.9
## 0.0.64
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
- @llamaindex/openai@0.4.8
## 0.0.63
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepinfra",
"description": "Deepinfra Adapter for LlamaIndex",
"version": "0.0.65",
"version": "0.0.63",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-19
View File
@@ -1,24 +1,5 @@
# @llamaindex/deepseek
## 0.0.26
### Patch Changes
- Updated dependencies [a1fdb07]
- @llamaindex/openai@0.4.9
## 0.0.25
### Patch Changes
- af3f866: feat: add supportToolCall getter to DeepSeekLLM class
## 0.0.24
### Patch Changes
- @llamaindex/openai@0.4.8
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepseek",
"description": "DeepSeek Adapter for LlamaIndex",
"version": "0.0.26",
"version": "0.0.23",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-4
View File
@@ -34,10 +34,6 @@ export class DeepSeekLLM extends OpenAI {
...rest,
});
}
get supportToolCall() {
return true;
}
}
/**
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/discord
## 0.1.14
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.1.13
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.1.12
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/discord",
"description": "Discord Reader for LlamaIndex",
"version": "0.1.14",
"version": "0.1.12",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/excel
## 0.1.15
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.1.14
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.1.13
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/excel",
"description": "Excel Reader for LlamaIndex",
"version": "0.1.15",
"version": "0.1.13",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
-13
View File
@@ -1,18 +1,5 @@
# @llamaindex/fireworks
## 0.0.25
### Patch Changes
- Updated dependencies [a1fdb07]
- @llamaindex/openai@0.4.9
## 0.0.24
### Patch Changes
- @llamaindex/openai@0.4.8
## 0.0.23
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/fireworks",
"description": "Fireworks Adapter for LlamaIndex",
"version": "0.0.25",
"version": "0.0.23",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-15
View File
@@ -1,20 +1,5 @@
# @llamaindex/google
## 0.3.14
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- @llamaindex/core@0.6.15
## 0.3.13
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
## 0.3.12
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/google",
"description": "Google Adapter for LlamaIndex",
"version": "0.3.14",
"version": "0.3.12",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-13
View File
@@ -1,18 +1,5 @@
# @llamaindex/groq
## 0.0.81
### Patch Changes
- Updated dependencies [a1fdb07]
- @llamaindex/openai@0.4.9
## 0.0.80
### Patch Changes
- @llamaindex/openai@0.4.8
## 0.0.79
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/groq",
"description": "Groq Adapter for LlamaIndex",
"version": "0.0.81",
"version": "0.0.79",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -1,23 +1,5 @@
# @llamaindex/huggingface
## 0.1.19
### Patch Changes
- Updated dependencies [7ad3411]
- Updated dependencies [5da5b3c]
- Updated dependencies [a1fdb07]
- @llamaindex/core@0.6.15
- @llamaindex/openai@0.4.9
## 0.1.18
### Patch Changes
- Updated dependencies [8eeac33]
- @llamaindex/core@0.6.14
- @llamaindex/openai@0.4.8
## 0.1.17
### Patch Changes

Some files were not shown because too many files have changed in this diff Show More