Compare commits

...

27 Commits

Author SHA1 Message Date
github-actions[bot] af0b79f1cd Release 0.11.28 (#2174)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-08-28 17:28:15 +08:00
Thuc Pham 1995b38660 chore: bump @llamaindex/workflow-core in @llamaindex/workflow package (#2181) 2025-08-27 17:30:09 +08:00
Raj Shrestha 001a5159cf chore: add minimal reasoning effort for gpt5 (#2177)
Co-authored-by: Raj Shrestha <raj.shrestha@carelon.com>
2025-08-27 11:52:58 +08:00
Zhanghao 9d7d2052e7 fix: fix the problem that the usage field in the streaming response was not handled correctly (#2173) 2025-08-24 12:33:14 +08:00
Orry fd90e25f0e Docs settings per request (#2166)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
Co-authored-by: Marcus Schiesser <marcus.schiesser@googlemail.com>
2025-08-20 16:31:26 +08:00
github-actions[bot] 97c00d67c3 Release 0.11.27 (#2169)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-08-19 12:11:06 +08:00
Daniel 6ebd7c2f13 fix: bedrock complete using actual modelId (#2172) 2025-08-19 11:04:32 +08:00
Clelia (Astra) Bertelli 0267bb0e8e feat: add responseFormat to llm.exec (#2167) 2025-08-13 12:39:37 +08:00
Marcus Schiesser 7875ee91e6 chore: update chat-ui docs (#2168) 2025-08-13 12:26:22 +08:00
Orry e3405fca44 chore: point the local llm full example to the correct URL (#2162)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-08-08 14:56:35 +08:00
github-actions[bot] f3bc2b61e7 Release (#2164) 2025-08-07 15:18:42 -06:00
Logan 4c703767b7 Adding GPT-5 support (#2163) 2025-08-07 13:39:47 -06:00
github-actions[bot] a27648200d Release (#2161) 2025-08-07 13:39:20 -06:00
abdeliibrahim c93bb02002 #2159 Remove unneeded console logs from gemini stream (#2160)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-08-07 11:38:35 +08:00
github-actions[bot] e9ded4e65f Release (#2154)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-08-06 12:18:06 +08:00
Marcus Schiesser 47a6f5fe5a chore: bump ollama (#2156) 2025-08-06 12:11:17 +08:00
Marcus Schiesser b80f33e264 chore: add opus 4.1 and fix prompt caching (#2155) 2025-08-06 11:54:27 +08:00
Alex Yang b6409b6823 chore: bump openai (#2152)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-08-06 10:58:45 +08:00
github-actions[bot] db3f556cb4 Release 0.11.26 (#2149)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-08-05 12:00:17 +08:00
Marcus Schiesser 4b5179169b chore: add deprecation to readme (#2150) 2025-08-05 11:53:35 +08:00
abdeliibrahim 971d37ceba fix(deepseek): add 'as const' assertion to DEEPSEEK_MODELS for correct TypeScript inference (#2148)
Co-authored-by: Marcus Schiesser <marcus.schiesser@googlemail.com>
2025-08-05 10:30:13 +08:00
github-actions[bot] 3e0ffdc688 Release 0.11.25 (#2144)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-31 12:18:18 +08:00
Marcus Schiesser 049471bade chore: deprecate cloud packages (#2143) 2025-07-31 12:12:56 +08:00
github-actions[bot] 1e296ebe72 Release 0.11.24 (#2141)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: marcusschiesser <17126+marcusschiesser@users.noreply.github.com>
2025-07-30 12:56:45 -04:00
Marcus Schiesser f9f1de9516 chore: use Logger for core (#2139) 2025-07-30 11:43:45 +08:00
Twisha Bansal f576812e7a docs: Using MCP Toolbox for Databases with LlamaIndex (#2138) 2025-07-30 11:19:34 +08:00
Adrian Lyjak c3bf3c7178 Adding support for page citations, and refactor the confidence into the field metadata (#2140) 2025-07-30 10:25:19 +08:00
176 changed files with 2977 additions and 370 deletions
+69
View File
@@ -1,5 +1,74 @@
# @llamaindex/doc
## 0.2.53
### Patch Changes
- Updated dependencies [1995b38]
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/workflow@1.1.22
- @llamaindex/openai@0.4.18
- llamaindex@0.11.28
## 0.2.52
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
- @llamaindex/cloud@4.1.2
- llamaindex@0.11.27
- @llamaindex/node-parser@2.0.20
- @llamaindex/openai@0.4.17
- @llamaindex/readers@3.1.19
- @llamaindex/workflow@1.1.21
## 0.2.51
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.2.50
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.2.49
### Patch Changes
- Updated dependencies [4b51791]
- @llamaindex/cloud@4.1.1
- llamaindex@0.11.26
## 0.2.48
### Patch Changes
- Updated dependencies [049471b]
- Updated dependencies [049471b]
- @llamaindex/cloud@4.1.0
- llamaindex@0.11.25
## 0.2.47
### Patch Changes
- Updated dependencies [c3bf3c7]
- Updated dependencies [f9f1de9]
- @llamaindex/cloud@4.0.28
- @llamaindex/core@0.6.19
- llamaindex@0.11.24
- @llamaindex/node-parser@2.0.19
- @llamaindex/openai@0.4.14
- @llamaindex/readers@3.1.18
- @llamaindex/workflow@1.1.20
## 0.2.46
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.2.46",
"version": "0.2.53",
"private": true,
"scripts": {
"postinstall": "fumadocs-mdx",
@@ -15,7 +15,7 @@
"dependencies": {
"@huggingface/transformers": "^3.5.0",
"@icons-pack/react-simple-icons": "^10.1.0",
"@llamaindex/chat-ui-docs": "^0.0.5",
"@llamaindex/chat-ui-docs": "^0.1.0",
"@llamaindex/cloud": "workspace:*",
"@llamaindex/core": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

@@ -0,0 +1,85 @@
---
title: MCP Toolbox For Databases
description: MCP Toolbox for Databases is an open source MCP server for databases.
---
# MCP Toolbox for Databases
[MCP Toolbox for Databases](https://github.com/googleapis/genai-toolbox) is an open source MCP server for databases. It was designed with enterprise-grade and production-quality in mind. It enables you to develop tools easier, faster, and more securely by handling the complexities such as connection pooling, authentication, and more.
Toolbox Tools can be seemlessly integrated with LlamaIndex applications. For more
information on [getting
started](https://googleapis.github.io/genai-toolbox/getting-started/local_quickstart_js/) or
[configuring](https://googleapis.github.io/genai-toolbox/getting-started/configure/)
Toolbox, see the
[documentation](https://googleapis.github.io/genai-toolbox/getting-started/introduction/).
![architecture](/images/mcp_db_toolbox.png)
### Configure and deploy
Toolbox is an open source server that you deploy and manage yourself. For more
instructions on deploying and configuring, see the official Toolbox
documentation:
* [Installing the Server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server)
* [Configuring Toolbox](https://googleapis.github.io/genai-toolbox/getting-started/configure/)
### Install client SDK
LlamaIndex relies on the `@toolbox-sdk/core` node package to use Toolbox. Install the
package before getting started:
```shell
npm install @toolbox-sdk/core
```
### Loading Toolbox Tools
Once your Toolbox server is configured and up and running, you can load tools
from your server using the SDK:
```javascript
import { gemini, GEMINI_MODEL } from "@llamaindex/google";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { ToolboxClient } from "@toolbox-sdk/core";
// Initialize LLM
const llm = gemini({
model: GEMINI_MODEL.GEMINI_2_0_FLASH,
apiKey: process.env.GOOGLE_API_KEY,
});
// Replace with your Toolbox Server URL
const URL = 'https://127.0.0.1:5000';
const client = new ToolboxClient("http://127.0.0.1:5000");
const toolboxTools = await client.loadToolset("my-toolset");
const getTool = (toolboxTool) => tool({
name: toolboxTool.getName(),
description: toolboxTool.getDescription(),
parameters: toolboxTool.getParamSchema(),
execute: toolboxTool
});
const tools = toolboxTools.map(getTool);
const myAgent = agent({
tools: tools,
llm,
memory,
systemPrompt: prompt,
});
const result = await myAgent.run(query);
console.log(result);
```
### Advanced Toolbox Features
Toolbox has a variety of features to make developing Gen AI tools for databases seamless.
For more information, read more about the following:
- [Authenticated Parameters](https://googleapis.github.io/genai-toolbox/resources/tools/#authenticated-parameters): bind tool inputs to values from OIDC tokens automatically, making it easy to run sensitive queries without potentially leaking data
- [Authorized Invocations](https://googleapis.github.io/genai-toolbox/resources/tools/#authorized-invocations): restrict access to use a tool based on the users Auth token
- [OpenTelemetry](https://googleapis.github.io/genai-toolbox/how-to/export_telemetry/): get metrics and tracing from Toolbox with [OpenTelemetry](https://opentelemetry.io/docs/)
@@ -1,5 +1,5 @@
{
"title": "Integration",
"description": "See our integrations",
"pages": ["open-llm-metry", "lang-trace", "vercel"]
"pages": ["open-llm-metry", "lang-trace", "mcp-toolbox", "vercel"]
}
@@ -101,6 +101,9 @@ const agent = agent({
});
```
You can also use [MCP Toolbox for
Databases](/docs/llamaindex/integration/mcp-toolbox) to interact with MCP tools.
## Function tool
@@ -0,0 +1,47 @@
---
title: Custom Model Per Request
---
There are scenarios, such as the case of a multi-tenant backend API, where it may be required to handle each request with a custom model.
In such a scenario, modifying the `Settings` object directly as follows is not recommended:
```typescript
import { Settings } from 'llamaindex';
import { OpenAIEmbedding } from '@llamaindex/embeddings-openai';
Settings.embedModel = new OpenAIEmbedding({ apiKey: 'CLIENT_API_KEY' });
Settings.llm = openai({ apiKey: key, model: 'gpt-4o' })
```
Setting `llm` and `embedModel` directly will lead to unpredictable responses, since `Settings` is global and mutable.
This can lead to race conditions, as each request modifies `Settings.embedModel` or `Settings.llm`.
The recommended approach is to use `Settings.withEmbedModel` or `Settings.withLLM` as follows:
```typescript
const embedModel = new OpenAIEmbedding({
apiKey: process.env.OPENAI_API_KEY,
});
const llm = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const llmResponse = await Settings.withEmbedModel(embedModel, async () => {
return Settings.withLLM(llm, async () => {
const path = "node_modules/llamaindex/examples/abramov.txt";
const essay = await fs.readFile(path, "utf-8");
// Create Document object with essay
const document = new Document({ text: essay, id_: path });
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document]);
// Query the index
const queryEngine = index.asQueryEngine();
const { message, sourceNodes } = await queryEngine.query({
query: "What did the author do in college?",
});
// Return response with sources
return message.content;
});
});
```
The full example can be found [here](https://github.com/run-llama/LlamaIndexTS/tree/main/examples/local-settings).
@@ -93,4 +93,4 @@ async function main() {
main().catch(console.error);
```
You can see the [full example file](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/vectorIndexLocal.ts).
You can see the [full example file](https://github.com/run-llama/LlamaIndexTS/blob/main/examples/index/vectorIndexLocal.ts).
@@ -7,6 +7,7 @@
"workflows",
"local_llm",
"chatbot",
"structured_data_extraction"
"structured_data_extraction",
"custom_model_per_request"
]
}
@@ -46,3 +46,31 @@ You should expect output something like:
]
}
```
## Using the `exec` method
Many LLMs do not natively support structured output, and often rely exclusively on prompt or context engineering.
In this sense, we proved you with an alternative for structured data extraction, using the `exec` method with `responseFormat`.
For example, you can, in a new folder, install our Anthropic integration and `zod` v3:
```package-install
npm init
npm i -D typescript @types/node
npm i @llamaindex/anthropic zod@3.25.76
```
And then try extracting data with this code:
<include cwd>../../examples/agents/tools/response-format-exec.ts</include>
The output should look like this:
```json
{
"title": "La Divina Commedia",
"author": "Dante Alighieri",
"year": 1321
}
```
@@ -1,5 +1,36 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.189
### Patch Changes
- llamaindex@0.11.28
## 0.0.188
### Patch Changes
- llamaindex@0.11.27
## 0.0.187
### Patch Changes
- llamaindex@0.11.26
## 0.0.186
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.0.185
### Patch Changes
- llamaindex@0.11.24
## 0.0.184
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.184",
"version": "0.0.189",
"type": "module",
"private": true,
"scripts": {
@@ -1,5 +1,32 @@
# @llamaindex/llama-parse-browser-test
## 0.0.86
### Patch Changes
- @llamaindex/cloud@4.1.2
## 0.0.85
### Patch Changes
- Updated dependencies [4b51791]
- @llamaindex/cloud@4.1.1
## 0.0.84
### Patch Changes
- Updated dependencies [049471b]
- @llamaindex/cloud@4.1.0
## 0.0.83
### Patch Changes
- Updated dependencies [c3bf3c7]
- @llamaindex/cloud@4.0.28
## 0.0.82
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.82",
"version": "0.0.86",
"type": "module",
"scripts": {
"dev": "vite",
+31
View File
@@ -1,5 +1,36 @@
# @llamaindex/next-agent-test
## 0.1.189
### Patch Changes
- llamaindex@0.11.28
## 0.1.188
### Patch Changes
- llamaindex@0.11.27
## 0.1.187
### Patch Changes
- llamaindex@0.11.26
## 0.1.186
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.1.185
### Patch Changes
- llamaindex@0.11.24
## 0.1.184
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.184",
"version": "0.1.189",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,36 @@
# test-edge-runtime
## 0.1.188
### Patch Changes
- llamaindex@0.11.28
## 0.1.187
### Patch Changes
- llamaindex@0.11.27
## 0.1.186
### Patch Changes
- llamaindex@0.11.26
## 0.1.185
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.1.184
### Patch Changes
- llamaindex@0.11.24
## 0.1.183
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.183",
"version": "0.1.188",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,53 @@
# @llamaindex/next-node-runtime
## 0.1.60
### Patch Changes
- llamaindex@0.11.28
- @llamaindex/huggingface@0.1.28
## 0.1.59
### Patch Changes
- llamaindex@0.11.27
- @llamaindex/huggingface@0.1.27
- @llamaindex/readers@3.1.19
## 0.1.58
### Patch Changes
- @llamaindex/huggingface@0.1.26
## 0.1.57
### Patch Changes
- @llamaindex/huggingface@0.1.25
## 0.1.56
### Patch Changes
- llamaindex@0.11.26
## 0.1.55
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.1.54
### Patch Changes
- llamaindex@0.11.24
- @llamaindex/huggingface@0.1.24
- @llamaindex/readers@3.1.18
## 0.1.53
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.1.53",
"version": "0.1.60",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,36 @@
# vite-import-llamaindex
## 0.0.55
### Patch Changes
- llamaindex@0.11.28
## 0.0.54
### Patch Changes
- llamaindex@0.11.27
## 0.0.53
### Patch Changes
- llamaindex@0.11.26
## 0.0.52
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.0.51
### Patch Changes
- llamaindex@0.11.24
## 0.0.50
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "vite-import-llamaindex",
"private": true,
"version": "0.0.50",
"version": "0.0.55",
"type": "module",
"scripts": {
"build": "vite build",
@@ -1,5 +1,36 @@
# @llamaindex/waku-query-engine-test
## 0.0.189
### Patch Changes
- llamaindex@0.11.28
## 0.0.188
### Patch Changes
- llamaindex@0.11.27
## 0.0.187
### Patch Changes
- llamaindex@0.11.26
## 0.0.186
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.0.185
### Patch Changes
- llamaindex@0.11.24
## 0.0.184
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.184",
"version": "0.0.189",
"type": "module",
"private": true,
"scripts": {
+181
View File
@@ -1,5 +1,186 @@
# examples
## 0.3.40
### Patch Changes
- Updated dependencies [1995b38]
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/workflow@1.1.22
- @llamaindex/openai@0.4.18
- llamaindex@0.11.28
- @llamaindex/clip@0.0.74
- @llamaindex/deepinfra@0.0.74
- @llamaindex/deepseek@0.0.36
- @llamaindex/fireworks@0.0.34
- @llamaindex/groq@0.0.90
- @llamaindex/huggingface@0.1.28
- @llamaindex/jinaai@0.0.34
- @llamaindex/perplexity@0.0.31
- @llamaindex/azure@0.1.35
- @llamaindex/together@0.0.34
- @llamaindex/vllm@0.0.60
- @llamaindex/xai@0.0.21
## 0.3.39
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
- @llamaindex/cloud@4.1.2
- llamaindex@0.11.27
- @llamaindex/node-parser@2.0.20
- @llamaindex/anthropic@0.3.23
- @llamaindex/assemblyai@0.1.19
- @llamaindex/clip@0.0.73
- @llamaindex/cohere@0.0.34
- @llamaindex/deepinfra@0.0.73
- @llamaindex/discord@0.1.19
- @llamaindex/google@0.3.20
- @llamaindex/huggingface@0.1.27
- @llamaindex/jinaai@0.0.33
- @llamaindex/mistral@0.1.20
- @llamaindex/mixedbread@0.0.34
- @llamaindex/notion@0.1.19
- @llamaindex/ollama@0.1.21
- @llamaindex/openai@0.4.17
- @llamaindex/perplexity@0.0.30
- @llamaindex/portkey-ai@0.0.62
- @llamaindex/replicate@0.0.62
- @llamaindex/bm25-retriever@0.0.9
- @llamaindex/astra@0.0.34
- @llamaindex/azure@0.1.34
- @llamaindex/chroma@0.0.34
- @llamaindex/elastic-search@0.1.20
- @llamaindex/firestore@1.0.27
- @llamaindex/milvus@0.1.29
- @llamaindex/mongodb@0.0.35
- @llamaindex/pinecone@0.1.20
- @llamaindex/postgres@0.0.63
- @llamaindex/qdrant@0.1.30
- @llamaindex/supabase@0.1.21
- @llamaindex/upstash@0.0.34
- @llamaindex/weaviate@0.0.35
- @llamaindex/vercel@0.1.20
- @llamaindex/voyage-ai@1.0.26
- @llamaindex/readers@3.1.19
- @llamaindex/tools@0.1.10
- @llamaindex/workflow@1.1.21
- @llamaindex/deepseek@0.0.35
- @llamaindex/fireworks@0.0.33
- @llamaindex/groq@0.0.89
- @llamaindex/together@0.0.33
- @llamaindex/vllm@0.0.59
- @llamaindex/xai@0.0.20
## 0.3.38
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
- @llamaindex/clip@0.0.72
- @llamaindex/deepinfra@0.0.72
- @llamaindex/deepseek@0.0.34
- @llamaindex/fireworks@0.0.32
- @llamaindex/groq@0.0.88
- @llamaindex/huggingface@0.1.26
- @llamaindex/jinaai@0.0.32
- @llamaindex/perplexity@0.0.29
- @llamaindex/azure@0.1.33
- @llamaindex/together@0.0.32
- @llamaindex/vllm@0.0.58
- @llamaindex/xai@0.0.19
## 0.3.37
### Patch Changes
- Updated dependencies [47a6f5f]
- Updated dependencies [b80f33e]
- Updated dependencies [b6409b6]
- Updated dependencies [b80f33e]
- @llamaindex/ollama@0.1.20
- @llamaindex/anthropic@0.3.22
- @llamaindex/openai@0.4.15
- @llamaindex/clip@0.0.71
- @llamaindex/deepinfra@0.0.71
- @llamaindex/deepseek@0.0.33
- @llamaindex/fireworks@0.0.31
- @llamaindex/groq@0.0.87
- @llamaindex/huggingface@0.1.25
- @llamaindex/jinaai@0.0.31
- @llamaindex/perplexity@0.0.28
- @llamaindex/azure@0.1.32
- @llamaindex/together@0.0.31
- @llamaindex/vllm@0.0.57
- @llamaindex/xai@0.0.18
## 0.3.36
### Patch Changes
- Updated dependencies [4b51791]
- Updated dependencies [971d37c]
- @llamaindex/cloud@4.1.1
- @llamaindex/deepseek@0.0.32
- llamaindex@0.11.26
## 0.3.35
### Patch Changes
- Updated dependencies [c3bf3c7]
- Updated dependencies [f9f1de9]
- @llamaindex/cloud@4.0.28
- @llamaindex/core@0.6.19
- llamaindex@0.11.24
- @llamaindex/node-parser@2.0.19
- @llamaindex/anthropic@0.3.21
- @llamaindex/assemblyai@0.1.18
- @llamaindex/clip@0.0.70
- @llamaindex/cohere@0.0.33
- @llamaindex/deepinfra@0.0.70
- @llamaindex/discord@0.1.18
- @llamaindex/google@0.3.18
- @llamaindex/huggingface@0.1.24
- @llamaindex/jinaai@0.0.30
- @llamaindex/mistral@0.1.19
- @llamaindex/mixedbread@0.0.33
- @llamaindex/notion@0.1.18
- @llamaindex/ollama@0.1.19
- @llamaindex/openai@0.4.14
- @llamaindex/perplexity@0.0.27
- @llamaindex/portkey-ai@0.0.61
- @llamaindex/replicate@0.0.61
- @llamaindex/bm25-retriever@0.0.8
- @llamaindex/astra@0.0.33
- @llamaindex/azure@0.1.31
- @llamaindex/chroma@0.0.33
- @llamaindex/elastic-search@0.1.19
- @llamaindex/firestore@1.0.26
- @llamaindex/milvus@0.1.28
- @llamaindex/mongodb@0.0.34
- @llamaindex/pinecone@0.1.19
- @llamaindex/postgres@0.0.62
- @llamaindex/qdrant@0.1.29
- @llamaindex/supabase@0.1.20
- @llamaindex/upstash@0.0.33
- @llamaindex/weaviate@0.0.34
- @llamaindex/vercel@0.1.19
- @llamaindex/voyage-ai@1.0.25
- @llamaindex/readers@3.1.18
- @llamaindex/tools@0.1.9
- @llamaindex/workflow@1.1.20
- @llamaindex/deepseek@0.0.31
- @llamaindex/fireworks@0.0.30
- @llamaindex/groq@0.0.86
- @llamaindex/together@0.0.30
- @llamaindex/vllm@0.0.56
- @llamaindex/xai@0.0.17
## 0.3.34
### Patch Changes
@@ -0,0 +1,39 @@
import { Anthropic } from "@llamaindex/anthropic";
import { ChatMessage, ToolCall } from "llamaindex";
import { z } from "zod";
const llm = new Anthropic({ model: "claude-4-0-sonnet" });
const responseSchema = z.object({
title: z.string().describe("The title of the book"),
author: z.string().describe("The author of the book"),
year: z.number().describe("The publication year"),
});
async function main() {
const messages: ChatMessage[] = [];
let toolCalls: ToolCall[] = [];
do {
const result = await llm.exec({
messages: [
{
role: "system",
content: `You are a book expert. Your task is, given a user message, extract the title, author and publication year of the book and output them in JSON format.`,
},
{
role: "user",
content: `I have been reading La Divina Commedia by Dante Alighieri, published in 1321, which tells the story of a guy who goes through Hell, Purgatory and Heaven just to meet his beloved ex-girlfriend.`,
},
],
responseFormat: responseSchema,
});
console.log(result.newMessages[0].content);
messages.push(...result.newMessages);
toolCalls = result.toolCalls;
} while (toolCalls.length == 0);
console.log(messages[1].content);
console.log(toolCalls);
}
main().catch(console.error);
+4 -4
View File
@@ -22,7 +22,7 @@ const { withState, getContext } = createStatefulMiddleware(() => ({
const jokeFlow = withState(createWorkflow());
// Define handlers for each step
jokeFlow.handle([startEvent], async (event) => {
jokeFlow.handle([startEvent], async (context, event) => {
// Prompt the LLM to write a joke
const prompt = `Write your best joke about ${event.data}. Write the joke between <joke> and </joke> tags.`;
const response = await llm.complete({ prompt });
@@ -34,7 +34,7 @@ jokeFlow.handle([startEvent], async (event) => {
return jokeEvent.with({ joke: joke });
});
jokeFlow.handle([jokeEvent], async (event) => {
jokeFlow.handle([jokeEvent], async (context, event) => {
// Prompt the LLM to critique the joke
const prompt = `Give a thorough critique of the following joke. If the joke needs improvement, put "IMPROVE" somewhere in the critique: ${event.data.joke}`;
const response = await llm.complete({ prompt });
@@ -50,9 +50,9 @@ jokeFlow.handle([jokeEvent], async (event) => {
return resultEvent.with({ joke: event.data.joke, critique: response.text });
});
jokeFlow.handle([critiqueEvent], async (event) => {
jokeFlow.handle([critiqueEvent], async (context, event) => {
// Keep track of the number of iterations
const state = getContext().state;
const state = context.state;
state.numIterations++;
// Write a new joke based on the previous joke and critique
+69
View File
@@ -0,0 +1,69 @@
import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai";
import express, { Request, Response } from "express";
import fs from "fs/promises";
import { Document, Settings, VectorStoreIndex } from "llamaindex";
const app = express();
const port = 3000;
app.get("/default", async (req: Request, res: Response) => {
const embedModel = new OpenAIEmbedding({
apiKey: process.env.OPENAI_API_KEY,
});
const llm = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const llmResponse = await Settings.withEmbedModel(embedModel, async () => {
return Settings.withLLM(llm, async () => {
const path = "node_modules/llamaindex/examples/abramov.txt";
const essay = await fs.readFile(path, "utf-8");
// Create Document object with essay
const document = new Document({ text: essay, id_: path });
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document]);
// Query the index
const queryEngine = index.asQueryEngine();
const { message, sourceNodes } = await queryEngine.query({
query: "What did the author do in college?",
});
// Return response with sources
return message.content;
});
});
// res.send(message.content)
res.send(llmResponse);
});
app.get("/custom", async (req: Request, res: Response) => {
const embedModel = new OpenAIEmbedding({
apiKey: process.env.OPENAI_API_KEY,
model: "text-embedding-3-small",
});
const llm = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
model: "gpt-3.5-turbo",
});
const llmResponse = await Settings.withEmbedModel(embedModel, async () => {
return Settings.withLLM(llm, async () => {
const path = "node_modules/llamaindex/examples/abramov.txt";
const essay = await fs.readFile(path, "utf-8");
// Create Document object with essay
const document = new Document({ text: essay, id_: path });
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document]);
// Query the index
const queryEngine = index.asQueryEngine();
const { message, sourceNodes } = await queryEngine.query({
query: "What did the author do in college?",
});
// Return response with sources
return message.content;
});
});
// res.send(message.content)
res.send(llmResponse);
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});
+22
View File
@@ -0,0 +1,22 @@
{
"name": "local-settings",
"version": "1.0.0",
"main": "index.js",
"private": "true",
"scripts": {
"test": "echo \"No tests for example package\""
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@types/express": "^5.0.3",
"typescript": "^5.9.2"
},
"dependencies": {
"@llamaindex/openai": "^0.4.16",
"express": "^5.1.0",
"llamaindex": "^0.11.26"
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"moduleResolution": "node",
"types": ["node", "express"]
},
"include": ["*.ts"]
}
+14
View File
@@ -0,0 +1,14 @@
import { anthropic } from "@llamaindex/anthropic";
import { agent } from "@llamaindex/workflow";
(async function () {
const workflow = agent({
llm: anthropic({
model: "claude-4-1-opus",
}),
});
const result = await workflow.run(
"What are three compounds we should consider investigating to advance research into new antibiotics? Why should we consider them?",
);
console.log(result.data.result);
})();
+9
View File
@@ -0,0 +1,9 @@
import { ollama } from "@llamaindex/ollama";
(async () => {
const llm = ollama({
model: "gpt-oss:20b",
});
const response = await llm.complete({ prompt: "How are you?" });
console.log("Response:", response.text);
})();
+48 -47
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/examples",
"version": "0.3.34",
"version": "0.3.40",
"private": true,
"scripts": {
"lint": "eslint .",
@@ -11,52 +11,52 @@
"@azure/cosmos": "^4.1.1",
"@azure/identity": "^4.4.1",
"@azure/search-documents": "^12.1.0",
"@llamaindex/anthropic": "^0.3.20",
"@llamaindex/assemblyai": "^0.1.17",
"@llamaindex/astra": "^0.0.32",
"@llamaindex/azure": "^0.1.30",
"@llamaindex/bm25-retriever": "^0.0.7",
"@llamaindex/chroma": "^0.0.32",
"@llamaindex/clip": "^0.0.69",
"@llamaindex/cloud": "^4.0.27",
"@llamaindex/cohere": "^0.0.32",
"@llamaindex/core": "^0.6.18",
"@llamaindex/deepinfra": "^0.0.69",
"@llamaindex/deepseek": "^0.0.30",
"@llamaindex/discord": "^0.1.17",
"@llamaindex/elastic-search": "^0.1.18",
"@llamaindex/anthropic": "^0.3.23",
"@llamaindex/assemblyai": "^0.1.19",
"@llamaindex/astra": "^0.0.34",
"@llamaindex/azure": "^0.1.35",
"@llamaindex/bm25-retriever": "^0.0.9",
"@llamaindex/chroma": "^0.0.34",
"@llamaindex/clip": "^0.0.74",
"@llamaindex/cloud": "^4.1.2",
"@llamaindex/cohere": "^0.0.34",
"@llamaindex/core": "^0.6.20",
"@llamaindex/deepinfra": "^0.0.74",
"@llamaindex/deepseek": "^0.0.36",
"@llamaindex/discord": "^0.1.19",
"@llamaindex/elastic-search": "^0.1.20",
"@llamaindex/env": "^0.1.30",
"@llamaindex/firestore": "^1.0.25",
"@llamaindex/fireworks": "^0.0.29",
"@llamaindex/google": "^0.3.17",
"@llamaindex/groq": "^0.0.85",
"@llamaindex/huggingface": "^0.1.23",
"@llamaindex/jinaai": "^0.0.29",
"@llamaindex/milvus": "^0.1.27",
"@llamaindex/mistral": "^0.1.18",
"@llamaindex/mixedbread": "^0.0.32",
"@llamaindex/mongodb": "^0.0.33",
"@llamaindex/node-parser": "^2.0.18",
"@llamaindex/notion": "^0.1.17",
"@llamaindex/ollama": "^0.1.18",
"@llamaindex/openai": "^0.4.13",
"@llamaindex/perplexity": "^0.0.26",
"@llamaindex/pinecone": "^0.1.18",
"@llamaindex/portkey-ai": "^0.0.60",
"@llamaindex/postgres": "^0.0.61",
"@llamaindex/qdrant": "^0.1.28",
"@llamaindex/readers": "^3.1.17",
"@llamaindex/replicate": "^0.0.60",
"@llamaindex/supabase": "^0.1.19",
"@llamaindex/together": "^0.0.29",
"@llamaindex/tools": "^0.1.8",
"@llamaindex/upstash": "^0.0.32",
"@llamaindex/vercel": "^0.1.18",
"@llamaindex/vllm": "^0.0.55",
"@llamaindex/voyage-ai": "^1.0.24",
"@llamaindex/weaviate": "^0.0.33",
"@llamaindex/workflow": "^1.1.19",
"@llamaindex/xai": "^0.0.16",
"@llamaindex/firestore": "^1.0.27",
"@llamaindex/fireworks": "^0.0.34",
"@llamaindex/google": "^0.3.20",
"@llamaindex/groq": "^0.0.90",
"@llamaindex/huggingface": "^0.1.28",
"@llamaindex/jinaai": "^0.0.34",
"@llamaindex/milvus": "^0.1.29",
"@llamaindex/mistral": "^0.1.20",
"@llamaindex/mixedbread": "^0.0.34",
"@llamaindex/mongodb": "^0.0.35",
"@llamaindex/node-parser": "^2.0.20",
"@llamaindex/notion": "^0.1.19",
"@llamaindex/ollama": "^0.1.21",
"@llamaindex/openai": "^0.4.18",
"@llamaindex/perplexity": "^0.0.31",
"@llamaindex/pinecone": "^0.1.20",
"@llamaindex/portkey-ai": "^0.0.62",
"@llamaindex/postgres": "^0.0.63",
"@llamaindex/qdrant": "^0.1.30",
"@llamaindex/readers": "^3.1.19",
"@llamaindex/replicate": "^0.0.62",
"@llamaindex/supabase": "^0.1.21",
"@llamaindex/together": "^0.0.34",
"@llamaindex/tools": "^0.1.10",
"@llamaindex/upstash": "^0.0.34",
"@llamaindex/vercel": "^0.1.20",
"@llamaindex/vllm": "^0.0.60",
"@llamaindex/voyage-ai": "^1.0.26",
"@llamaindex/weaviate": "^0.0.35",
"@llamaindex/workflow": "^1.1.22",
"@llamaindex/xai": "^0.0.21",
"@notionhq/client": "^4.0.0",
"@pinecone-database/pinecone": "^4.0.0",
"@vercel/postgres": "^0.10.0",
@@ -65,13 +65,14 @@
"commander": "^12.1.0",
"dotenv": "^17.2.0",
"js-tiktoken": "^1.0.14",
"llamaindex": "^0.11.23",
"llamaindex": "^0.11.28",
"mongodb": "6.7.0",
"postgres": "^3.4.4",
"wikipedia": "^2.1.2",
"zod": "^3.25.76"
},
"devDependencies": {
"@types/express": "^5.0.3",
"@types/node": "^24.0.13",
"tsx": "^4.20.3",
"typescript": "^5.8.3"
+31
View File
@@ -1,5 +1,36 @@
# @llamaindex/autotool
## 8.0.28
### Patch Changes
- llamaindex@0.11.28
## 8.0.27
### Patch Changes
- llamaindex@0.11.27
## 8.0.26
### Patch Changes
- llamaindex@0.11.26
## 8.0.25
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 8.0.24
### Patch Changes
- llamaindex@0.11.24
## 8.0.23
### Patch Changes
@@ -1,5 +1,41 @@
# @llamaindex/autotool-01-node-example
## 0.0.136
### Patch Changes
- llamaindex@0.11.28
- @llamaindex/autotool@8.0.28
## 0.0.135
### Patch Changes
- llamaindex@0.11.27
- @llamaindex/autotool@8.0.27
## 0.0.134
### Patch Changes
- llamaindex@0.11.26
- @llamaindex/autotool@8.0.26
## 0.0.133
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
- @llamaindex/autotool@8.0.25
## 0.0.132
### Patch Changes
- llamaindex@0.11.24
- @llamaindex/autotool@8.0.24
## 0.0.131
### Patch Changes
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.131"
"version": "0.0.136"
}
+1 -1
View File
@@ -6,7 +6,7 @@
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/autotool"
},
"version": "8.0.23",
"version": "8.0.28",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
+27
View File
@@ -1,5 +1,32 @@
# @llamaindex/cloud
## 4.1.2
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 4.1.1
### Patch Changes
- 4b51791: Add deprecation to README
## 4.1.0
### Minor Changes
- 049471b: Add deprecation warning
## 4.0.28
### Patch Changes
- c3bf3c7: Adding support for citations to beta agent data schema
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 4.0.27
### Patch Changes
+4 -3
View File
@@ -1,8 +1,9 @@
# @llamaindex/cloud
> LlamaCloud is a new generation of managed parsing, ingestion, and retrieval services, designed to bring production-grade context-augmentation to your LLM and RAG applications.
For more information, see the [API documentation](https://docs.cloud.llamaindex.ai/).
> [!WARNING]
> This package has been deprecated since version 4.1.0.
> Please migrate to [llama-cloud-services](https://www.npmjs.com/package/llama-cloud-services).
> See the documentation: https://docs.cloud.llamaindex.ai
## License
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "4.0.27",
"version": "4.1.2",
"type": "module",
"license": "MIT",
"scripts": {
+7
View File
@@ -1,3 +1,10 @@
// Deprecation warning
console.warn(`
The package @llamaindex/cloud has been deprecated since version 4.1.0
* Please migrate to llama-cloud-services.
* See the documentation: https://docs.cloud.llamaindex.ai
`);
import { client } from "./client/client.gen";
client.setConfig({
+7
View File
@@ -1,3 +1,10 @@
// Deprecation warning
console.warn(`
The package @llamaindex/cloud has been deprecated since version 4.1.0
* Please migrate to llama-cloud-services.
* See the documentation: https://docs.cloud.llamaindex.ai
`);
export { AgentClient, createAgentDataClient } from "./client";
export type {
+28 -3
View File
@@ -28,6 +28,29 @@ export type ComparisonOperator =
*/
export type FilterOperation = RawFilterOperation;
/**
* Metadata for an extracted field, including confidence and citation information
*/
export interface ExtractedFieldMetadata {
/** The confidence score for the field, combined with parsing confidence if applicable */
confidence?: number;
/** The confidence score for the field based on the extracted text only */
extracted_confidence?: number;
/** The page number that the field occurred on */
page_number?: number;
/** The original text this field's value was derived from */
matching_text?: string;
}
/**
* Dictionary mapping field names to their metadata
* Values can be ExtractedFieldMetadata objects, nested dictionaries, or arrays
*/
export type ExtractedFieldMetadataDict = Record<
string,
ExtractedFieldMetadata | Record<string, unknown> | unknown[]
>;
/**
* Base extracted data interface
*/
@@ -35,11 +58,13 @@ 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;
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 overall confidence score for the extracted data. */
overall_confidence?: number;
/** Page links, and perhaps eventually bounding boxes, for individual fields in the extracted data. */
field_metadata?: ExtractedFieldMetadataDict;
/** 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. */
+7
View File
@@ -1,3 +1,10 @@
// Deprecation warning
console.warn(`
The package @llamaindex/cloud has been deprecated since version 4.1.0
* Please migrate to llama-cloud-services.
* See the documentation: https://docs.cloud.llamaindex.ai
`);
import { createClient, createConfig } from "@hey-api/client-fetch";
import { createWorkflow, type InferWorkflowEventData } from "@llama-flow/core";
import { createStatefulMiddleware } from "@llama-flow/core/middleware/state";
+15
View File
@@ -1,5 +1,20 @@
# @llamaindex/community
## 0.0.102
### Patch Changes
- 6ebd7c2: fix: invoke complete command using the actual modelId
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.0.101
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.0.100
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.100",
"version": "0.0.102",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -493,6 +493,8 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
if (params.stream) {
const command = new InvokeModelWithResponseStreamCommand(input);
command.input.modelId = this.actualModel;
const response = await this.client.send(command);
if (response.body)
return streamConverter(response.body, (response) => {
@@ -504,6 +506,8 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
}
const command = new InvokeModelCommand(input);
command.input.modelId = this.actualModel;
const response = await this.client.send(command);
return {
text: this.provider.getTextFromResponse(response),
+12
View File
@@ -1,5 +1,17 @@
# @llamaindex/core
## 0.6.20
### Patch Changes
- 0267bb0: Added responseFormat to llm.exec
## 0.6.19
### Patch Changes
- f9f1de9: Use logger interface instead of directly hardcoding console.log
## 0.6.18
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.6.18",
"version": "0.6.20",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
+6 -1
View File
@@ -1,3 +1,4 @@
import { consoleLogger, emptyLogger, type Logger } from "@llamaindex/env";
import type { Tokenizers } from "@llamaindex/env/tokenizers";
import type { MessageContentDetail } from "../llms";
import { BaseNode, MetadataMode, TransformComponent } from "../schema";
@@ -18,6 +19,7 @@ export type EmbeddingInfo = {
export type BaseEmbeddingOptions = {
logProgress?: boolean;
progressCallback?: (current: number, total: number) => void;
logger?: Logger;
};
export abstract class BaseEmbedding extends TransformComponent<
@@ -133,6 +135,9 @@ export async function batchEmbeddings<T>(
const curBatch: T[] = [];
const logger =
options?.logger ?? (options?.logProgress ? consoleLogger : emptyLogger);
for (let i = 0; i < queue.length; i++) {
curBatch.push(queue[i]!);
if (i == queue.length - 1 || curBatch.length == chunkSize) {
@@ -143,7 +148,7 @@ export async function batchEmbeddings<T>(
options?.progressCallback?.(i + 1, queue.length);
}
if (options?.logProgress) {
console.log(`getting embedding progress: ${i + 1} / ${queue.length}`);
logger.log(`getting embedding progress: ${i + 1} / ${queue.length}`);
}
curBatch.length = 0;
+28
View File
@@ -1,4 +1,6 @@
import { emptyLogger } from "@llamaindex/env";
import type { JSONObject } from "../global";
import { tool } from "../tools/";
import { extractText } from "../utils/llms";
import { streamConverter } from "../utils/stream";
import { callToolToMessage, getToolCallsFromResponse } from "./tool-call";
@@ -18,6 +20,7 @@ import type {
PartialToolCall,
ToolCallLLMMessageOptions,
} from "./type";
import { isZodSchema } from "./utils";
export abstract class BaseLLM<
AdditionalChatOptions extends object = object,
@@ -97,6 +100,31 @@ export abstract class BaseLLM<
| ExecResponse<AdditionalMessageOptions>
| ExecStreamResponse<AdditionalMessageOptions>
> {
const responseFormat = params.responseFormat;
if (typeof responseFormat != "undefined" && isZodSchema(responseFormat)) {
const structuredTool = tool({
name: "format_output",
description: "Respond with a JSON object",
parameters: responseFormat,
execute: (args) => {
const result = responseFormat.safeParse(args);
if (!result.success) {
console.error("Invalid input from LLM:", result.error);
return JSON.stringify({
error: "Invalid schema",
details: result.error,
});
}
return result.data as JSONObject;
},
});
if (Array.isArray(params.tools)) {
params.tools.push(structuredTool);
} else {
params.tools = [structuredTool];
}
params.responseFormat = undefined;
}
if (params.stream) {
return this.streamExec(params);
}
+13
View File
@@ -1,3 +1,4 @@
import { z } from "zod";
import type {
ChatMessage,
MessageContentImageDataDetail,
@@ -26,3 +27,15 @@ export function addContentPart<AdditionalMessageOptions extends object>(
}
}
}
export function isZodSchema(obj: unknown): obj is z.ZodType {
return (
obj !== null &&
typeof obj === "object" &&
"parse" in obj &&
typeof (obj as { parse: unknown }).parse === "function" &&
"safeParse" in obj &&
typeof (obj as { safeParse: unknown }).safeParse === "function" &&
"_def" in obj
);
}
+13 -2
View File
@@ -1,3 +1,4 @@
import { consoleLogger, type Logger } from "@llamaindex/env";
import { Settings } from "../global";
import type { ChatMessage, LLM } from "../llms";
import { extractText } from "../utils";
@@ -38,6 +39,11 @@ export type MemoryOptions<TMessageOptions extends object = object> = {
* This default LLM can be overridden by the LLM passed in the `getLLM` method.
*/
llm?: LLM | undefined;
/**
* Logger for memory operations
*/
logger?: Logger;
};
export class Memory<
@@ -76,6 +82,10 @@ export class Memory<
* The default LLM to use for memory retrieval.
*/
private llm: LLM | undefined;
/**
* Logger for memory operations
*/
private logger: Logger;
constructor(
messages: MemoryMessage<TMessageOptions>[] = [],
@@ -87,6 +97,7 @@ export class Memory<
options.shortTermTokenLimitRatio ?? DEFAULT_SHORT_TERM_TOKEN_LIMIT_RATIO;
this.memoryBlocks = options.memoryBlocks ?? [];
this.memoryCursor = options.memoryCursor ?? 0;
this.logger = options.logger ?? consoleLogger;
this.initLLM(options.llm);
this.adapters = {
@@ -309,7 +320,7 @@ export class Memory<
addedTokenCount += messageTokenCount;
}
} catch (error) {
console.warn(
this.logger.warn(
`Failed to get content from memory block ${block.id}:`,
error,
);
@@ -371,7 +382,7 @@ export class Memory<
try {
await block.put(newMessages);
} catch (error) {
console.warn(
this.logger.warn(
`Failed to process messages into memory block ${block.id}:`,
error,
);
@@ -1,3 +1,4 @@
import { consoleLogger, type Logger } from "@llamaindex/env";
import type { Tokenizer } from "@llamaindex/env/tokenizers";
import { z } from "zod";
import { Settings } from "../global";
@@ -48,9 +49,11 @@ export class SentenceSplitter extends MetadataAwareTextSplitter {
#splitFns: Set<TextSplitterFn> = new Set();
#subSentenceSplitFns: Set<TextSplitterFn> = new Set();
#tokenizer: Tokenizer;
#logger: Logger;
constructor(
params?: z.input<typeof sentenceSplitterSchema> & SplitterParams,
params?: z.input<typeof sentenceSplitterSchema> &
SplitterParams & { logger?: Logger },
) {
super();
if (params) {
@@ -66,6 +69,7 @@ export class SentenceSplitter extends MetadataAwareTextSplitter {
this.extraAbbreviations,
);
this.#tokenizer = params?.tokenizer ?? Settings.tokenizer;
this.#logger = params?.logger ?? consoleLogger;
this.#splitFns.add(splitBySep(this.paragraphSeparator));
this.#splitFns.add(this.#chunkingTokenizerFn);
@@ -82,7 +86,7 @@ export class SentenceSplitter extends MetadataAwareTextSplitter {
`Metadata length (${metadataLength}) is longer than chunk size (${this.chunkSize}). Consider increasing the chunk size or decreasing the size of your metadata to avoid this.`,
);
} else if (effectiveChunkSize < 50) {
console.log(
this.#logger.log(
`Metadata length (${metadataLength}) is close to chunk size (${this.chunkSize}). Resulting chunks are less than 50 tokens. Consider increasing the chunk size or decreasing the size of your metadata to avoid this.`,
);
}
@@ -1,3 +1,4 @@
import { consoleLogger, type Logger } from "@llamaindex/env";
import type { Tokenizer } from "@llamaindex/env/tokenizers";
import { z } from "zod";
import { DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, Settings } from "../global";
@@ -21,9 +22,11 @@ export class TokenTextSplitter extends MetadataAwareTextSplitter {
backupSeparators: string[] = ["\n"];
#tokenizer: Tokenizer;
#splitFns: Array<(text: string) => string[]> = [];
#logger: Logger;
constructor(
params?: SplitterParams & Partial<z.infer<typeof tokenTextSplitterSchema>>,
params?: SplitterParams &
Partial<z.infer<typeof tokenTextSplitterSchema>> & { logger?: Logger },
) {
super();
@@ -42,6 +45,7 @@ export class TokenTextSplitter extends MetadataAwareTextSplitter {
}
this.#tokenizer = params?.tokenizer ?? Settings.tokenizer;
this.#logger = params?.logger ?? consoleLogger;
const allSeparators = [this.separator, ...this.backupSeparators];
this.#splitFns = allSeparators.map((sep) => splitBySep(sep));
@@ -65,7 +69,7 @@ export class TokenTextSplitter extends MetadataAwareTextSplitter {
`Consider increasing the chunk size or decreasing the size of your metadata to avoid this.`,
);
} else if (effectiveChunkSize < 50) {
console.warn(
this.#logger.warn(
`Metadata length (${metadataLength}) is close to chunk size (${this.chunkSize}). ` +
`Resulting chunks are less than 50 tokens. Consider increasing the chunk size or decreasing the size of your metadata to avoid this.`,
);
@@ -148,7 +152,7 @@ export class TokenTextSplitter extends MetadataAwareTextSplitter {
const splitLength = this.tokenSize(split);
if (splitLength > chunkSize) {
console.warn(
this.#logger.warn(
`Got a split of size ${splitLength}, larger than chunk size ${chunkSize}.`,
);
}
@@ -1,3 +1,4 @@
import { consoleLogger, type Logger } from "@llamaindex/env";
import { DEFAULT_NAMESPACE } from "../../global";
import { BaseNode, ObjectType, type StoredValue } from "../../schema";
import type { BaseKVStore } from "../kv-store";
@@ -16,13 +17,19 @@ export class KVDocumentStore extends BaseDocumentStore {
private nodeCollection: string;
private refDocCollection: string;
private metadataCollection: string;
private logger: Logger;
constructor(kvstore: BaseKVStore, namespace: string = DEFAULT_NAMESPACE) {
constructor(
kvstore: BaseKVStore,
namespace: string = DEFAULT_NAMESPACE,
options?: { logger?: Logger },
) {
super();
this.kvstore = kvstore;
this.nodeCollection = `${namespace}/data`;
this.refDocCollection = `${namespace}/ref_doc_info`;
this.metadataCollection = `${namespace}/metadata`;
this.logger = options?.logger ?? consoleLogger;
}
async docs(): Promise<Record<string, BaseNode>> {
@@ -33,7 +40,7 @@ export class KVDocumentStore extends BaseDocumentStore {
if (isValidDocJson(value)) {
docs[key] = jsonToDoc(value, this.serializer);
} else {
console.warn(`Invalid JSON for docId ${key}`);
this.logger.warn(`Invalid JSON for docId ${key}`);
}
}
return docs;
+12 -5
View File
@@ -1,4 +1,4 @@
import { path } from "@llamaindex/env";
import { path, type Logger } from "@llamaindex/env";
import { IndexStruct, jsonToIndexStruct } from "../../data-structs";
import {
DEFAULT_INDEX_STORE_PERSIST_FILENAME,
@@ -8,8 +8,8 @@ import {
import {
BaseInMemoryKVStore,
BaseKVStore,
type DataType,
SimpleKVStore,
type DataType,
} from "../kv-store";
export const DEFAULT_PERSIST_PATH = path.join(
@@ -84,16 +84,23 @@ export class SimpleIndexStore extends KVIndexStore {
static async fromPersistDir(
persistDir: string = DEFAULT_PERSIST_DIR,
options?: { logger?: Logger },
): Promise<SimpleIndexStore> {
const persistPath = path.join(
persistDir,
DEFAULT_INDEX_STORE_PERSIST_FILENAME,
);
return this.fromPersistPath(persistPath);
return this.fromPersistPath(persistPath, options);
}
static async fromPersistPath(persistPath: string): Promise<SimpleIndexStore> {
const simpleKVStore = await SimpleKVStore.fromPersistPath(persistPath);
static async fromPersistPath(
persistPath: string,
options?: { logger?: Logger },
): Promise<SimpleIndexStore> {
const simpleKVStore = await SimpleKVStore.fromPersistPath(
persistPath,
options,
);
return new SimpleIndexStore(simpleKVStore);
}
+7 -3
View File
@@ -1,4 +1,4 @@
import { fs, path } from "@llamaindex/env";
import { consoleLogger, fs, path, type Logger } from "@llamaindex/env";
import { DEFAULT_COLLECTION } from "../../global";
import type { StoredValue } from "../../schema";
@@ -98,7 +98,11 @@ export class SimpleKVStore extends BaseKVStore {
await fs.writeFile(persistPath, JSON.stringify(this.data));
}
static async fromPersistPath(persistPath: string): Promise<SimpleKVStore> {
static async fromPersistPath(
persistPath: string,
options?: { logger?: Logger },
): Promise<SimpleKVStore> {
const logger = options?.logger ?? consoleLogger;
const dirPath = path.dirname(persistPath);
if (!(await exists(dirPath))) {
await fs.mkdir(dirPath, { recursive: true });
@@ -106,7 +110,7 @@ export class SimpleKVStore extends BaseKVStore {
let data: DataType = {};
if (!(await exists(persistPath))) {
console.info(`Starting new store from path: ${persistPath}`);
logger.log(`Starting new store from path: ${persistPath}`);
} else {
try {
const fileData = await fs.readFile(persistPath);
+7 -3
View File
@@ -1,8 +1,10 @@
import { consoleLogger, type Logger } from "@llamaindex/env";
import type { JSONSchemaType } from "ajv";
import { z } from "zod";
import { zodToJsonSchema } from "zod-to-json-schema";
import type { JSONValue } from "../global";
import type { BaseTool, ToolMetadata } from "../llms";
import { isZodSchema } from "../llms/utils";
export class FunctionTool<
T,
@@ -14,11 +16,13 @@ export class FunctionTool<
#additionalArg: AdditionalToolArgument | undefined;
readonly #metadata: ToolMetadata<JSONSchemaType<T>>;
readonly #zodType: z.ZodType<T> | null = null;
readonly #logger: Logger;
constructor(
fn: (input: T, additionalArg?: AdditionalToolArgument) => R,
metadata: ToolMetadata<JSONSchemaType<T>>,
zodType?: z.ZodType<T>,
additionalArg?: AdditionalToolArgument,
logger?: Logger,
) {
this.#fn = fn;
this.#metadata = metadata;
@@ -26,6 +30,7 @@ export class FunctionTool<
this.#zodType = zodType;
}
this.#additionalArg = additionalArg;
this.#logger = logger ?? consoleLogger;
}
static from<T, AdditionalToolArgument extends object = object>(
@@ -90,7 +95,7 @@ export class FunctionTool<
) {
const { execute, parameters, ...restConfig } = fnOrConfig;
if (parameters instanceof z.ZodSchema) {
if (isZodSchema(parameters)) {
const jsonSchema = zodToJsonSchema(parameters);
return new FunctionTool(
execute,
@@ -101,7 +106,6 @@ export class FunctionTool<
parameters,
);
}
return new FunctionTool(execute, fnOrConfig);
}
@@ -140,7 +144,7 @@ export class FunctionTool<
if (result.success) {
params = result.data;
} else {
console.warn(result.error.errors);
this.#logger.warn(result.error.errors);
}
}
return this.#fn.call(null, params, this.#additionalArg);
+31
View File
@@ -1,5 +1,36 @@
# @llamaindex/experimental
## 0.0.205
### Patch Changes
- llamaindex@0.11.28
## 0.0.204
### Patch Changes
- llamaindex@0.11.27
## 0.0.203
### Patch Changes
- llamaindex@0.11.26
## 0.0.202
### Patch Changes
- Updated dependencies [049471b]
- llamaindex@0.11.25
## 0.0.201
### Patch Changes
- llamaindex@0.11.24
## 0.0.200
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.200",
"version": "0.0.205",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+43
View File
@@ -1,5 +1,48 @@
# llamaindex
## 0.11.28
### Patch Changes
- Updated dependencies [1995b38]
- @llamaindex/workflow@1.1.22
## 0.11.27
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
- @llamaindex/cloud@4.1.2
- @llamaindex/node-parser@2.0.20
- @llamaindex/workflow@1.1.21
## 0.11.26
### Patch Changes
- Updated dependencies [4b51791]
- @llamaindex/cloud@4.1.1
## 0.11.25
### Patch Changes
- 049471b: Moved LlamaCloudFileService, LlamaCloudIndex and LlamaCloudRetriever to llama-cloud-services
- Updated dependencies [049471b]
- @llamaindex/cloud@4.1.0
## 0.11.24
### Patch Changes
- Updated dependencies [c3bf3c7]
- Updated dependencies [f9f1de9]
- @llamaindex/cloud@4.0.28
- @llamaindex/core@0.6.19
- @llamaindex/node-parser@2.0.19
- @llamaindex/workflow@1.1.20
## 0.11.23
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.11.23",
"version": "0.11.28",
"license": "MIT",
"type": "module",
"keywords": [
+6
View File
@@ -1,3 +1,9 @@
console.warn(`
The classes LlamaCloudFileService, LlamaCloudIndex and LlamaCloudRetriever have been moved to the package llama-cloud-services.
* Please migrate your imports to llama-cloud-services, e.g. import { LlamaCloudIndex } from "llama-cloud-services";
* See the documentation: https://docs.cloud.llamaindex.ai
`);
export { LLamaCloudFileService } from "./LLamaCloudFileService.js";
export { LlamaCloudIndex } from "./LlamaCloudIndex.js";
export {
@@ -8,7 +8,7 @@ import {
BaseInMemoryKVStore,
SimpleKVStore,
} from "@llamaindex/core/storage/kv-store";
import { path } from "@llamaindex/env";
import { path, type Logger } from "@llamaindex/env";
import _ from "lodash";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -27,19 +27,28 @@ export class SimpleDocumentStore extends KVDocumentStore {
static async fromPersistDir(
persistDir: string = DEFAULT_PERSIST_DIR,
namespace?: string,
options?: { logger?: Logger },
): Promise<SimpleDocumentStore> {
const persistPath = path.join(
persistDir,
DEFAULT_DOC_STORE_PERSIST_FILENAME,
);
return await SimpleDocumentStore.fromPersistPath(persistPath, namespace);
return await SimpleDocumentStore.fromPersistPath(
persistPath,
namespace,
options,
);
}
static async fromPersistPath(
persistPath: string,
namespace?: string,
options?: { logger?: Logger },
): Promise<SimpleDocumentStore> {
const simpleKVStore = await SimpleKVStore.fromPersistPath(persistPath);
const simpleKVStore = await SimpleKVStore.fromPersistPath(
persistPath,
options,
);
return new SimpleDocumentStore(simpleKVStore, namespace);
}
@@ -18,7 +18,7 @@ import {
type VectorStoreQuery,
type VectorStoreQueryResult,
} from "@llamaindex/core/vector-store";
import { fs, path } from "@llamaindex/env";
import { consoleLogger, fs, path, type Logger } from "@llamaindex/env";
import { exists } from "../storage/FileSystem.js";
const LEARNER_MODES = new Set<VectorStoreQueryMode>([
@@ -139,9 +139,14 @@ export class SimpleVectorStore extends BaseVectorStore {
static async fromPersistDir(
persistDir: string = DEFAULT_PERSIST_DIR,
embedModel?: BaseEmbedding,
options?: { logger?: Logger },
): Promise<SimpleVectorStore> {
const persistPath = path.join(persistDir, "vector_store.json");
return await SimpleVectorStore.fromPersistPath(persistPath, embedModel);
return await SimpleVectorStore.fromPersistPath(
persistPath,
embedModel,
options,
);
}
client() {
@@ -273,7 +278,9 @@ export class SimpleVectorStore extends BaseVectorStore {
static async fromPersistPath(
persistPath: string,
embedModel?: BaseEmbedding,
options?: { logger?: Logger },
): Promise<SimpleVectorStore> {
const logger = options?.logger ?? consoleLogger;
const dirPath = path.dirname(persistPath);
if (!(await exists(dirPath))) {
await fs.mkdir(dirPath, { recursive: true });
@@ -281,7 +288,7 @@ export class SimpleVectorStore extends BaseVectorStore {
let dataDict: Record<string, unknown> = {};
if (!(await exists(persistPath))) {
console.info(`Starting new store from path: ${persistPath}`);
logger.log(`Starting new store from path: ${persistPath}`);
} else {
try {
const fileData = await fs.readFile(persistPath);
+34
View File
@@ -1,5 +1,39 @@
# @llamaindex/core-test
## 0.1.19
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.1.18
### Patch Changes
- @llamaindex/openai@0.4.17
## 0.1.17
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.1.16
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.1.15
### Patch Changes
- @llamaindex/openai@0.4.14
## 0.1.14
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llamaindex-test",
"private": true,
"version": "0.1.14",
"version": "0.1.19",
"type": "module",
"scripts": {
"test": "vitest run"
@@ -47,22 +47,31 @@ describe("StorageContext", () => {
test("persists and loads", async () => {
const doc = new Document({ text: "test document" });
const consoleInfoSpy = vi
.spyOn(console, "info")
.mockImplementation(() => {});
// Create a Logger that spies on log (info) calls
const spyLogger = {
log: vi.fn(),
error: vi.fn(),
warn: vi.fn(),
};
// storage context from individual stores
const storageContext = await storageContextFromDefaults({
docStore: await SimpleDocumentStore.fromPersistDir(testDir),
vectorStore: await SimpleVectorStore.fromPersistDir(testDir),
indexStore: await SimpleIndexStore.fromPersistDir(testDir),
docStore: await SimpleDocumentStore.fromPersistDir(testDir, undefined, {
logger: spyLogger,
}),
vectorStore: await SimpleVectorStore.fromPersistDir(testDir, undefined, {
logger: spyLogger,
}),
indexStore: await SimpleIndexStore.fromPersistDir(testDir, {
logger: spyLogger,
}),
});
const index = await VectorStoreIndex.fromDocuments([doc], {
storageContext,
});
expect(consoleInfoSpy).toHaveBeenCalledTimes(3);
expect(consoleInfoSpy).toHaveBeenCalledWith(
expect(spyLogger.log).toHaveBeenCalledTimes(3);
expect(spyLogger.log).toHaveBeenCalledWith(
expect.stringContaining("Starting new store"),
);
expect(index).toBeDefined();
@@ -75,13 +84,19 @@ describe("StorageContext", () => {
// Check that the test data files exist
await expectTestDataFilesExist(testDir);
consoleInfoSpy.mockClear();
spyLogger.log.mockClear();
// Now, load it again. Since data was persisted, we should not see the error.
const newStorageContext = await storageContextFromDefaults({
docStore: await SimpleDocumentStore.fromPersistDir(testDir),
vectorStore: await SimpleVectorStore.fromPersistDir(testDir),
indexStore: await SimpleIndexStore.fromPersistDir(testDir),
docStore: await SimpleDocumentStore.fromPersistDir(testDir, undefined, {
logger: spyLogger,
}),
vectorStore: await SimpleVectorStore.fromPersistDir(testDir, undefined, {
logger: spyLogger,
}),
indexStore: await SimpleIndexStore.fromPersistDir(testDir, {
logger: spyLogger,
}),
});
const loadedIndex = await VectorStoreIndex.init({
@@ -94,9 +109,7 @@ describe("StorageContext", () => {
await expectTestDataFilesExist(testDir);
expect(consoleInfoSpy).not.toHaveBeenCalled();
consoleInfoSpy.mockRestore();
expect(spyLogger.log).not.toHaveBeenCalled();
});
test("throws error on corrupted data", async () => {
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/node-parser
## 2.0.20
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 2.0.19
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 2.0.18
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/node-parser",
"version": "2.0.18",
"version": "2.0.20",
"description": "Node parser for LlamaIndex",
"type": "module",
"exports": {
+21
View File
@@ -1,5 +1,26 @@
# @llamaindex/anthropic
## 0.3.23
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.3.22
### Patch Changes
- b80f33e: Fix: prompt caching (moved from beta)
- b80f33e: Feat: add claude opus 4.1
## 0.3.21
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.3.20
### Patch Changes
+6 -5
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/anthropic",
"description": "Anthropic Adapter for LlamaIndex",
"version": "0.3.20",
"version": "0.3.23",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
@@ -28,19 +28,20 @@
"scripts": {
"build": "bunchee",
"dev": "bunchee --watch",
"test": "vitest run"
"test": "vitest run",
"type-check": "tsc -b --diagnostics"
},
"devDependencies": {
"vitest": "^2.1.5",
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*"
"@llamaindex/env": "workspace:*",
"vitest": "^2.1.5"
},
"peerDependencies": {
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*"
},
"dependencies": {
"@anthropic-ai/sdk": "0.37.0",
"@anthropic-ai/sdk": "0.58.0",
"remeda": "^2.17.3"
}
}
+21 -19
View File
@@ -1,15 +1,16 @@
import type { ClientOptions } from "@anthropic-ai/sdk";
import { Anthropic as SDKAnthropic } from "@anthropic-ai/sdk";
import type {
BetaCacheControlEphemeral,
BetaTextBlockParam,
} from "@anthropic-ai/sdk/resources/beta/index";
import type { TextBlock } from "@anthropic-ai/sdk/resources/index";
CacheControlEphemeral,
Message,
TextBlock,
} from "@anthropic-ai/sdk/resources/index";
import type {
MessageCreateParams,
MessageCreateParamsBase,
MessageParam,
Model,
TextBlockParam,
ThinkingBlock,
Tool,
ToolUseBlock,
@@ -116,7 +117,15 @@ export const ALL_AVAILABLE_V4_MODELS = {
"claude-4-0-sonnet": { contextWindow: 200000 },
"claude-4-sonnet-20240514": { contextWindow: 200000 },
"claude-4-0-opus": { contextWindow: 200000 },
"claude-4-1-opus": { contextWindow: 200000 },
"claude-4-opus-20240514": { contextWindow: 200000 },
"claude-sonnet-4-0": { contextWindow: 200000 },
"claude-sonnet-4-20250514": { contextWindow: 200000 },
"claude-opus-4-0": { contextWindow: 200000 },
"claude-opus-4-20250514": { contextWindow: 200000 },
"claude-4-sonnet-20250514": { contextWindow: 200000 },
"claude-4-opus-20250514": { contextWindow: 200000 },
"claude-opus-4-1-20250805": { contextWindow: 200000 },
};
export const ALL_AVAILABLE_ANTHROPIC_MODELS = {
@@ -137,6 +146,7 @@ const AVAILABLE_ANTHROPIC_MODELS_WITHOUT_DATE: { [key: string]: string } = {
"claude-3-7-sonnet": "claude-3-7-sonnet-20250219",
"claude-4-0-sonnet": "claude-sonnet-4-20250514",
"claude-4-0-opus": "claude-opus-4-20250514",
"claude-4-1-opus": "claude-opus-4-1-20250805",
} as { [key in keyof typeof ALL_AVAILABLE_ANTHROPIC_MODELS]: string };
export type AnthropicAdditionalChatOptions = Pick<
@@ -144,7 +154,7 @@ export type AnthropicAdditionalChatOptions = Pick<
"thinking"
>;
export type AnthropicToolCallLLMMessageOptions = ToolCallLLMMessageOptions & {
cache_control?: BetaCacheControlEphemeral | null;
cache_control?: CacheControlEphemeral | null;
thinking?: string | undefined;
thinking_signature?: string | undefined;
};
@@ -462,20 +472,20 @@ export class Anthropic extends ToolCallLLM<
const { messages, stream, tools } = params;
// Handle system messages
let systemPrompt: string | BetaTextBlockParam[] | null = null;
let systemPrompt: string | TextBlockParam[] | null = null;
const systemMessages = messages.filter(
(message) => message.role === "system",
);
if (systemMessages.length > 0) {
systemPrompt = systemMessages.map((message): BetaTextBlockParam => {
systemPrompt = systemMessages.map((message): TextBlockParam => {
const textContent = extractText(message.content);
if (message.options && "cache_control" in message.options) {
return {
type: "text" as const,
text: textContent,
cache_control: message.options
.cache_control as BetaCacheControlEphemeral,
.cache_control as CacheControlEphemeral,
};
}
return {
@@ -485,17 +495,9 @@ export class Anthropic extends ToolCallLLM<
});
}
const beta =
Array.isArray(systemPrompt) &&
systemPrompt.some((message) => "cache_control" in message);
const anthropic = this.session.anthropic;
let anthropic = this.session.anthropic;
if (beta) {
// @ts-expect-error type casting
anthropic = anthropic.beta.promptCaching;
}
const apiParams: MessageCreateParams = {
const apiParams: MessageCreateParamsBase = {
model: this.getModelName(this.model),
messages: this.mergeConsecutiveMessages(
this.formatMessages(messages.filter((m) => m.role !== "system")),
@@ -521,7 +523,7 @@ export class Anthropic extends ToolCallLLM<
return this.streamChat(anthropic, apiParams);
}
const response = await anthropic.messages.create(apiParams);
const response = (await anthropic.messages.create(apiParams)) as Message;
const thinkingBlock = response.content.find(
(content): content is ThinkingBlock => content.type === "thinking",
@@ -1,5 +1,19 @@
# @llamaindex/assemblyai
## 0.1.19
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.1.18
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.1.17
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/assemblyai",
"description": "AssemblyAI Reader for LlamaIndex",
"version": "0.1.17",
"version": "0.1.19",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/community
## 0.0.116
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.0.115
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.0.114
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/aws",
"description": "AWS package for LlamaIndexTS",
"version": "0.0.114",
"version": "0.0.116",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -546,6 +546,8 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
if (params.stream) {
const command = new InvokeModelWithResponseStreamCommand(input);
command.input.modelId = this.actualModel;
const response = await this.client.send(command);
if (response.body)
return streamConverter(response.body, (response) => {
@@ -557,6 +559,8 @@ export class Bedrock extends ToolCallLLM<BedrockAdditionalChatOptions> {
}
const command = new InvokeModelCommand(input);
command.input.modelId = this.actualModel;
const response = await this.client.send(command);
return {
text: this.provider.getTextFromResponse(response),
+38
View File
@@ -1,5 +1,43 @@
# @llamaindex/clip
## 0.0.74
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.0.73
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
- @llamaindex/openai@0.4.17
## 0.0.72
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.0.71
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.0.70
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
- @llamaindex/openai@0.4.14
## 0.0.69
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/clip",
"description": "Clip Embedding Adapter for LlamaIndex",
"version": "0.0.69",
"version": "0.0.74",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/cohere
## 0.0.34
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.0.33
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.0.32
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/cohere",
"description": "Cohere Adapter for LlamaIndex",
"version": "0.0.32",
"version": "0.0.34",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+38
View File
@@ -1,5 +1,43 @@
# @llamaindex/deepinfra
## 0.0.74
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.0.73
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
- @llamaindex/openai@0.4.17
## 0.0.72
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.0.71
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.0.70
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
- @llamaindex/openai@0.4.14
## 0.0.69
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepinfra",
"description": "Deepinfra Adapter for LlamaIndex",
"version": "0.0.69",
"version": "0.0.74",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+40
View File
@@ -1,5 +1,45 @@
# @llamaindex/deepseek
## 0.0.36
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.0.35
### Patch Changes
- @llamaindex/openai@0.4.17
## 0.0.34
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.0.33
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.0.32
### Patch Changes
- 971d37c: fix: contextwindow metadata
## 0.0.31
### Patch Changes
- @llamaindex/openai@0.4.14
## 0.0.30
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/deepseek",
"description": "DeepSeek Adapter for LlamaIndex",
"version": "0.0.30",
"version": "0.0.36",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+1 -1
View File
@@ -4,7 +4,7 @@ import { OpenAI } from "@llamaindex/openai";
export const DEEPSEEK_MODELS = {
"deepseek-coder": { contextWindow: 128000 },
"deepseek-chat": { contextWindow: 128000 },
};
} as const;
type DeepSeekModelName = keyof typeof DEEPSEEK_MODELS;
const DEFAULT_MODEL: DeepSeekModelName = "deepseek-coder";
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/discord
## 0.1.19
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.1.18
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.1.17
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/discord",
"description": "Discord Reader for LlamaIndex",
"version": "0.1.17",
"version": "0.1.19",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/excel
## 0.1.20
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.1.19
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.1.18
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/excel",
"description": "Excel Reader for LlamaIndex",
"version": "0.1.18",
"version": "0.1.20",
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.cjs",
+34
View File
@@ -1,5 +1,39 @@
# @llamaindex/fireworks
## 0.0.34
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.0.33
### Patch Changes
- @llamaindex/openai@0.4.17
## 0.0.32
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.0.31
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.0.30
### Patch Changes
- @llamaindex/openai@0.4.14
## 0.0.29
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/fireworks",
"description": "Fireworks Adapter for LlamaIndex",
"version": "0.0.29",
"version": "0.0.34",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+20
View File
@@ -1,5 +1,25 @@
# @llamaindex/google
## 0.3.20
### Patch Changes
- Updated dependencies [0267bb0]
- @llamaindex/core@0.6.20
## 0.3.19
### Patch Changes
- c93bb02: chore: remove streaming logs
## 0.3.18
### Patch Changes
- Updated dependencies [f9f1de9]
- @llamaindex/core@0.6.19
## 0.3.17
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/google",
"description": "Google Adapter for LlamaIndex",
"version": "0.3.17",
"version": "0.3.20",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
-3
View File
@@ -226,9 +226,6 @@ export class Gemini extends ToolCallLLM<GeminiAdditionalChatOptions> {
const config = this.prepareChatConfig(params);
const { message, history } = await this.prepareChatContext(params.messages);
console.log("history", JSON.stringify(history, null, 2));
console.log("message", JSON.stringify(message, null, 2));
const chat = this.client.chats.create({
model: this.model,
config,
+34
View File
@@ -1,5 +1,39 @@
# @llamaindex/groq
## 0.0.90
### Patch Changes
- Updated dependencies [001a515]
- Updated dependencies [9d7d205]
- @llamaindex/openai@0.4.18
## 0.0.89
### Patch Changes
- @llamaindex/openai@0.4.17
## 0.0.88
### Patch Changes
- Updated dependencies [4c70376]
- @llamaindex/openai@0.4.16
## 0.0.87
### Patch Changes
- Updated dependencies [b6409b6]
- @llamaindex/openai@0.4.15
## 0.0.86
### Patch Changes
- @llamaindex/openai@0.4.14
## 0.0.85
### Patch Changes

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