Compare commits

...

16 Commits

Author SHA1 Message Date
Alex Yang a9f1453791 Create serious-baboons-buy.md 2025-05-01 13:27:44 -07:00
Alex Yang 2018c92c73 fix: type 2025-05-01 13:01:47 -07:00
Alex Yang df632315c9 fix: api 2025-05-01 12:55:02 -07:00
Alex Yang 9277279b29 fix: api 2025-05-01 12:42:38 -07:00
Alex Yang b22e5bc75f Merge branch 'main' into himself65/2025/05/01/bump 2025-05-01 12:14:37 -07:00
Alex Yang 4f988fc10f fix: sdk 2025-05-01 12:06:55 -07:00
Alex Yang add575f096 feat: bump llama cloud sdk 2025-05-01 12:01:54 -07:00
Marcus Schiesser bc5334249b chore: migrate agentworkflows to llama-flow (#1895)
Co-authored-by: leehuwuj <leehuwuj@gmail.com>
2025-04-30 18:14:17 +07:00
Thuc Pham 41953a3ef9 fix: node10 module resolution fail in sub llamaindex packages (#1900) 2025-04-29 17:47:50 +07:00
github-actions[bot] fa66c9ca8e Release 0.10.3 (#1898)
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-04-29 13:05:36 +07:00
Thuc Pham 3ee8c83200 feat: support file content type in message content (#1894) 2025-04-29 12:57:35 +07:00
Peter Goldstein e919bab568 Update Gemini Flash and Gemini Flash Lite model keys to exclude patch version (#1897) 2025-04-29 11:25:01 +07:00
Thuc Pham d28b6b7c4f chore: move server package code to create-llama (#1893) 2025-04-28 14:39:47 +07:00
Marcus Schiesser 1c7a262ff7 chore: stop workflow update (#1892) 2025-04-28 11:46:06 +07:00
Alex Yang 5a1838cc91 fix: remove workflow streaming demo (#1891) 2025-04-24 15:44:55 -07:00
Alex Yang b9805f4899 fix: migrate to llamaflow (#1889) 2025-04-24 15:17:02 -07:00
308 changed files with 5105 additions and 17262 deletions
+6
View File
@@ -0,0 +1,6 @@
---
"@llamaindex/cloud": patch
"llamaindex": patch
---
feat: bump llama cloud sdk
+5
View File
@@ -0,0 +1,5 @@
---
"@llamaindex/workflow": minor
---
Update workflows to llama-flow syntax
+6
View File
@@ -0,0 +1,6 @@
---
"@llamaindex/resolution-tests": patch
"llamaindex": patch
---
fix: node10 module resolution fail in sub llamaindex packages
+13
View File
@@ -1,5 +1,18 @@
# @llamaindex/doc
## 0.2.15
### Patch Changes
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
- llamaindex@0.10.3
- @llamaindex/openai@0.3.5
- @llamaindex/cloud@4.0.4
- @llamaindex/node-parser@2.0.3
- @llamaindex/readers@3.1.1
- @llamaindex/workflow@1.0.4
## 0.2.14
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/doc",
"version": "0.2.14",
"version": "0.2.15",
"private": true,
"scripts": {
"postinstall": "fumadocs-mdx",
-5
View File
@@ -11,8 +11,3 @@ export const CodeNodeParserDemo = dynamic(() =>
(mod) => mod.CodeNodeParserDemo,
),
);
export const WorkflowStreamingDemo = dynamic(() =>
import("@/components/demo/workflow-streaming-ui").then(
(mod) => mod.WorkflowStreamingDemo,
),
);
@@ -1,152 +0,0 @@
"use client";
import FlowInput from "@/components/flow-input";
import { Button } from "@/components/ui/button";
import {
StartEvent,
StopEvent,
Workflow,
WorkflowEvent,
} from "@llamaindex/workflow";
import { ReactNode, startTransition, useState } from "react";
import { StickToBottom, useStickToBottomContext } from "use-stick-to-bottom";
class ComputeEvent extends WorkflowEvent<number> {
constructor(data: number) {
super(data);
}
}
class ComputeResultEvent extends WorkflowEvent<number> {
constructor(data: number) {
super(data);
}
}
type ContextData = {
sum: number;
};
const workflow = new Workflow<ContextData, number, number>();
const max = 1000;
const min = 100;
workflow.addStep(
{
inputs: [StartEvent<number>],
outputs: [StopEvent<number>],
},
async (context, event) => {
const total = event.data;
for (let i = 0; i < total; i++) {
context.sendEvent(new ComputeEvent(i));
}
console.log("waiting");
const computeResults = await Promise.all(
Array.from({ length: total }).map(() =>
context.requireEvent(ComputeResultEvent),
),
);
context.data.sum = computeResults.reduce(
(acc, result) => acc + result.data,
0,
);
console.log("stop");
return new StopEvent(context.data.sum);
},
);
workflow.addStep(
{
inputs: [ComputeEvent],
outputs: [ComputeResultEvent],
},
async (context, event) => {
await new Promise((resolve) =>
setTimeout(resolve, Math.floor(Math.random() * (max - min + 1) + min)),
);
return new ComputeResultEvent(event.data);
},
);
function ScrollToBottom() {
const { isAtBottom, scrollToBottom } = useStickToBottomContext();
return (
!isAtBottom && (
<button
className="i-ph-arrow-circle-down-fill absolute bottom-0 left-[50%] translate-x-[-50%] rounded-lg text-4xl"
onClick={() => scrollToBottom()}
/>
)
);
}
export function WorkflowStreamingDemo() {
const [ui, setUI] = useState<ReactNode[]>([
<div key={0} className="bg-gray-100 dark:bg-gray-800">
Waiting for workflow to start
</div>,
]);
const [total, setTotal] = useState<number>(10);
return (
<div className="flex w-full flex-col items-start gap-2">
<div className="flex flex-row items-center justify-center">
<div className="mr-2 text-lg">Compute total</div>{" "}
<FlowInput value={total} onChange={(value) => setTotal(value)} />
</div>
<Button
onClick={async () => {
startTransition(() => {
setUI([]);
});
const context = workflow.run(total, {
sum: 0,
});
let i = 0;
for await (const event of context) {
console.log(event);
if (event instanceof ComputeEvent) {
setUI((ui) => [
...ui,
<div key={i++} className="bg-yellow-100 dark:bg-yellow-800">
Computing task id: {event.data}
</div>,
]);
} else if (event instanceof ComputeResultEvent) {
setUI((ui) => [
...ui,
<div key={i++} className="bg-green-100 dark:bg-green-800">
Computed task id: {event.data}
</div>,
]);
} else if (event instanceof StartEvent) {
setUI((ui) => [
...ui,
<div key={i++} className="bg-blue-100 dark:bg-blue-800">
Started workflow with total {event.data}
</div>,
]);
} else if (event instanceof StopEvent) {
setUI((ui) => [
...ui,
<div key={i++} className="bg-red-100 dark:bg-red-800">
Workflow stopped
</div>,
]);
}
}
}}
>
Start Workflow
</Button>
<StickToBottom className="flex max-h-96 w-full flex-col gap-2 overflow-y-auto rounded-lg border border-gray-200 p-2">
<StickToBottom.Content className="flex flex-col gap-2">
{ui}
</StickToBottom.Content>
<ScrollToBottom />
</StickToBottom>
</div>
);
}
-5
View File
@@ -1,5 +0,0 @@
export type {
HandlerContext,
Workflow,
WorkflowContext,
} from "@llamaindex/workflow";
@@ -1,5 +1,12 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.157
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.0.156
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.156",
"version": "0.0.157",
"type": "module",
"private": true,
"scripts": {
@@ -1,5 +1,11 @@
# @llamaindex/llama-parse-browser-test
## 0.0.59
### Patch Changes
- @llamaindex/cloud@4.0.4
## 0.0.58
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.58",
"version": "0.0.59",
"type": "module",
"scripts": {
"dev": "vite",
@@ -10,8 +10,8 @@
},
"devDependencies": {
"typescript": "^5.7.3",
"vite": "^5.4.16",
"vite-plugin-wasm": "^3.3.0"
"vite": "^6.3.3",
"vite-plugin-wasm": "^3.4.1"
},
"dependencies": {
"@llamaindex/cloud": "workspace:*"
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/next-agent-test
## 0.1.157
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.1.156
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.156",
"version": "0.1.157",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,12 @@
# test-edge-runtime
## 0.1.156
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.1.155
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.155",
"version": "0.1.156",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,14 @@
# @llamaindex/next-node-runtime
## 0.1.24
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
- @llamaindex/huggingface@0.1.7
- @llamaindex/readers@3.1.1
## 0.1.23
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.1.23",
"version": "0.1.24",
"private": true,
"scripts": {
"dev": "next dev",
@@ -1,5 +1,12 @@
# vite-import-llamaindex
## 0.0.23
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.0.22
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "vite-import-llamaindex",
"private": true,
"version": "0.0.22",
"version": "0.0.23",
"type": "module",
"scripts": {
"build": "vite build",
@@ -16,7 +16,7 @@
"@size-limit/preset-big-lib": "^11.1.6",
"size-limit": "^11.1.6",
"typescript": "^5.7.3",
"vite": "^5.4.16"
"vite": "^6.3.3"
},
"dependencies": {
"llamaindex": "workspace:*"
@@ -1,5 +1,12 @@
# @llamaindex/waku-query-engine-test
## 0.0.157
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.0.156
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.156",
"version": "0.0.157",
"type": "module",
"private": true,
"scripts": {
+50
View File
@@ -1,5 +1,55 @@
# examples
## 0.3.13
### Patch Changes
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
- llamaindex@0.10.3
- @llamaindex/anthropic@0.3.4
- @llamaindex/google@0.2.5
- @llamaindex/openai@0.3.5
- @llamaindex/vercel@0.1.3
- @llamaindex/cloud@4.0.4
- @llamaindex/node-parser@2.0.3
- @llamaindex/assemblyai@0.1.2
- @llamaindex/clip@0.0.53
- @llamaindex/cohere@0.0.17
- @llamaindex/deepinfra@0.0.53
- @llamaindex/discord@0.1.2
- @llamaindex/huggingface@0.1.7
- @llamaindex/jinaai@0.0.13
- @llamaindex/mistral@0.1.3
- @llamaindex/mixedbread@0.0.17
- @llamaindex/notion@0.1.2
- @llamaindex/ollama@0.1.3
- @llamaindex/perplexity@0.0.10
- @llamaindex/portkey-ai@0.0.45
- @llamaindex/replicate@0.0.45
- @llamaindex/astra@0.0.17
- @llamaindex/azure@0.1.13
- @llamaindex/chroma@0.0.17
- @llamaindex/elastic-search@0.1.3
- @llamaindex/firestore@1.0.10
- @llamaindex/milvus@0.1.12
- @llamaindex/mongodb@0.0.18
- @llamaindex/pinecone@0.1.3
- @llamaindex/postgres@0.0.46
- @llamaindex/qdrant@0.1.12
- @llamaindex/supabase@0.1.2
- @llamaindex/upstash@0.0.17
- @llamaindex/weaviate@0.0.17
- @llamaindex/voyage-ai@1.0.9
- @llamaindex/readers@3.1.1
- @llamaindex/tools@0.0.8
- @llamaindex/workflow@1.0.4
- @llamaindex/deepseek@0.0.13
- @llamaindex/fireworks@0.0.13
- @llamaindex/groq@0.0.68
- @llamaindex/together@0.0.13
- @llamaindex/vllm@0.0.39
## 0.3.12
### Patch Changes
@@ -1,12 +1,12 @@
import { tool } from "@llamaindex/core/tools";
import { openai } from "@llamaindex/openai";
import fs from "fs";
import {
agent,
AgentToolCall,
AgentToolCallResult,
agentToolCallEvent,
agentToolCallResultEvent,
multiAgent,
tool,
} from "llamaindex";
} from "@llamaindex/workflow";
import fs from "fs";
import os from "os";
import { z } from "zod";
@@ -56,19 +56,19 @@ async function main() {
rootAgent: researchAgent,
});
const context = workflow.run("Write a blog post about history of LLM");
const events = workflow.runStream("Write a blog post about history of LLM");
let finalResult;
for await (const event of context) {
if (event instanceof AgentToolCall) {
for await (const event of events) {
if (agentToolCallEvent.include(event)) {
console.log(
`[Agent ${event.displayName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
`[Agent ${event.data.agentName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
event.data.toolKwargs,
)}`,
);
} else if (event instanceof AgentToolCallResult) {
} else if (agentToolCallResultEvent.include(event)) {
console.log(
`[Agent ${event.displayName}] executed tool ${event.data.toolName} with result ${event.data.toolOutput.result}`,
`[Tool ${event.data.toolName}] executed with result ${event.data.toolOutput.result}`,
);
}
finalResult = event;
@@ -1,5 +1,6 @@
import { OpenAI } from "@llamaindex/openai";
import { FunctionTool, agent } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const csvData =
@@ -11,24 +12,22 @@ const userQuestion = "which are the best comedies after 2010?";
// The agent will succeed if we increase `maxTokens` to 1024
const llm = new OpenAI({ model: "gpt-4-turbo", maxTokens: 1024 });
const interpreterTool = FunctionTool.from(
({ code }) => {
const interpreterTool = tool({
name: "interpreter",
description:
"Execute python code in a Jupyter notebook cell and return any result, stdout, stderr, display_data, and error.",
parameters: z.object({
code: z.string({
description: "The python code to execute in a single cell.",
}),
}),
execute: ({ code }) => {
console.log(
`To answer the user's question, call the following code:\n${code}`,
);
return code;
},
{
name: "interpreter",
description:
"Execute python code in a Jupyter notebook cell and return any result, stdout, stderr, display_data, and error.",
parameters: z.object({
code: z.string({
description: "The python code to execute in a single cell.",
}),
}),
},
);
});
const systemPrompt =
"You are a Python interpreter.\n - You are given tasks to complete and you run python code to solve them.\n - The python code runs in a Jupyter notebook. Every time you call $(interpreter) tool, the python code is executed in a separate cell. It's okay to make multiple calls to $(interpreter).\n - Display visualizations using matplotlib or any other visualization library directly in the notebook. Shouldn't save the visualizations to a file, just return the base64 encoded data.\n - You can install any pip package (if it exists) if you need to but the usual packages for data analysis are already preinstalled.\n - You can run any python code you want in a secure environment.";
@@ -1,6 +1,6 @@
import { openai } from "@llamaindex/openai";
import { mcp } from "@llamaindex/tools";
import { agent } from "llamaindex";
import { agent } from "@llamaindex/workflow";
async function main() {
// Create an MCP server for filesystem tools
@@ -6,15 +6,15 @@
import { openai } from "@llamaindex/openai";
import {
agent,
AgentInput,
AgentOutput,
AgentStream,
AgentToolCall,
AgentToolCallResult,
agentInputEvent,
agentOutputEvent,
agentStreamEvent,
agentToolCallEvent,
agentToolCallResultEvent,
multiAgent,
StopEvent,
tool,
} from "llamaindex";
stopAgentEvent,
} from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const llm = openai({
@@ -79,21 +79,21 @@ async function multiWeatherAgent() {
});
// Ask the agent to get the weather in a city
const context = workflow.run(
const events = workflow.runStream(
"What is the weather in San Francisco in Celsius?",
);
// Stream the events
for await (const event of context) {
// These events might be useful for UI
for await (const event of events) {
// These events are useful for reporting the current state to the user in the UI
if (
event instanceof AgentToolCall ||
event instanceof AgentToolCallResult ||
event instanceof AgentOutput ||
event instanceof AgentInput ||
event instanceof StopEvent
agentToolCallEvent.include(event) ||
agentToolCallResultEvent.include(event) ||
agentOutputEvent.include(event) ||
agentInputEvent.include(event) ||
stopAgentEvent.include(event)
) {
console.log(event);
} else if (event instanceof AgentStream) {
} else if (agentStreamEvent.include(event)) {
for (const chunk of event.data.delta) {
process.stdout.write(chunk);
}
@@ -1,5 +1,6 @@
import { openai } from "@llamaindex/openai";
import { agent, tool } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const sumNumbers = tool({
@@ -1,11 +1,9 @@
import {
AgentStream,
AgentToolCallResult,
Document,
VectorStoreIndex,
agent,
openai,
} from "llamaindex";
agentStreamEvent,
agentToolCallResultEvent,
} from "@llamaindex/workflow";
import { Document, VectorStoreIndex, openai } from "llamaindex";
async function main() {
const index = await VectorStoreIndex.fromDocuments([
@@ -30,15 +28,15 @@ async function main() {
],
});
const context = myAgent.run("The fact about cats");
const events = myAgent.runStream("The fact about cats");
for await (const event of context) {
if (event instanceof AgentToolCallResult) {
for await (const event of events) {
if (agentToolCallResultEvent.include(event)) {
console.log(
"Using these retrieved information to answer the question:\n",
event.data.toolOutput.result,
);
} else if (event instanceof AgentStream) {
} else if (agentStreamEvent.include(event)) {
for (const chunk of event.data.delta) {
process.stdout.write(chunk);
}
@@ -2,8 +2,8 @@
* This example shows how to use a single agent with a tool
*/
import { openai } from "@llamaindex/openai";
import { agent } from "llamaindex";
import { getWeatherTool } from "../agent/utils/tools";
import { agent } from "@llamaindex/workflow";
import { getWeatherTool } from "../deprecated/utils/tools";
async function main() {
const weatherAgent = agent({
@@ -14,14 +14,14 @@ async function main() {
verbose: false,
});
// Run the agent and keep the context
const context = weatherAgent.run("What's the weather like in San Francisco?");
const result = await context;
const result = await weatherAgent.run(
"What's the weather like in San Francisco?",
);
console.log(`${JSON.stringify(result, null, 2)}`);
// Reuse the context from the previous run
// Reuse the state from the previous run
const caResult = await weatherAgent.run("Compare it with California?", {
context: context.data,
state: result.data.state,
});
console.log(`${JSON.stringify(caResult, null, 2)}`);
}
@@ -1,6 +1,6 @@
import { OpenAI } from "@llamaindex/openai";
import { wiki } from "@llamaindex/tools";
import { AgentStream, agent } from "llamaindex";
import { agent, agentStreamEvent } from "@llamaindex/workflow";
async function main() {
const llm = new OpenAI({ model: "gpt-4-turbo" });
@@ -12,10 +12,10 @@ async function main() {
});
// Chat with the agent
const context = workflow.run("Who was Goethe?");
const events = workflow.runStream("Who was Goethe?");
for await (const event of context) {
if (event instanceof AgentStream) {
for await (const event of events) {
if (agentStreamEvent.include(event)) {
for (const chunk of event.data.delta) {
process.stdout.write(chunk);
}
@@ -1,11 +1,11 @@
import fs from "fs";
import {
agent,
AgentToolCall,
AgentToolCallResult,
agentToolCallEvent,
agentToolCallResultEvent,
multiAgent,
tool,
} from "llamaindex";
} from "@llamaindex/workflow";
import fs from "fs";
import { tool } from "llamaindex";
import { z } from "zod";
import { anthropic } from "@llamaindex/anthropic";
@@ -81,21 +81,21 @@ async function main() {
rootAgent: researchAgent,
});
const context = workflow.run(
const events = workflow.runStream(
"Write a report about New York weather and inflation",
);
let finalResult;
for await (const event of context) {
if (event instanceof AgentToolCall) {
for await (const event of events) {
if (agentToolCallEvent.include(event)) {
console.log(
`[Agent ${event.displayName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
`[Agent ${event.data.agentName}] executing tool ${event.data.toolName} with parameters ${JSON.stringify(
event.data.toolKwargs,
)}`,
);
} else if (event instanceof AgentToolCallResult) {
} else if (agentToolCallResultEvent.include(event)) {
console.log(
`[Agent ${event.displayName}] executed tool ${event.data.toolName} with result ${event.data.toolOutput.result}`,
`[Agent executed tool ${event.data.toolName} with result ${event.data.toolOutput.result}`,
);
}
finalResult = event;
@@ -1,6 +1,6 @@
import { ollama } from "@llamaindex/ollama";
import { agent } from "llamaindex";
import { getWeatherTool } from "../agent/utils/tools";
import { agent } from "@llamaindex/workflow";
import { getWeatherTool } from "../deprecated/utils/tools";
async function main() {
const myAgent = agent({
+94
View File
@@ -0,0 +1,94 @@
import { openai } from "@llamaindex/openai";
import {
createStatefulMiddleware,
createWorkflow,
workflowEvent,
} from "@llamaindex/workflow";
// Create LLM instance
const llm = openai({ model: "gpt-4.1-mini" });
// Define our workflow events
const startEvent = workflowEvent<string>(); // Input topic for joke
const jokeEvent = workflowEvent<{ joke: string }>(); // Intermediate joke
const critiqueEvent = workflowEvent<{ joke: string; critique: string }>(); // Intermediate critique
const resultEvent = workflowEvent<{ joke: string; critique: string }>(); // Final joke + critique
// Create our workflow
const { withState, getContext } = createStatefulMiddleware(() => ({
numIterations: 0,
maxIterations: 3,
}));
const jokeFlow = withState(createWorkflow());
// Define handlers for each step
jokeFlow.handle([startEvent], async (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 });
// Parse the joke from the response
const joke =
response.text.match(/<joke>([\s\S]*?)<\/joke>/)?.[1]?.trim() ??
response.text;
return jokeEvent.with({ joke: joke });
});
jokeFlow.handle([jokeEvent], async (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 });
// If the critique includes "IMPROVE", keep iterating, else, return the result
if (response.text.includes("IMPROVE")) {
return critiqueEvent.with({
joke: event.data.joke,
critique: response.text,
});
}
return resultEvent.with({ joke: event.data.joke, critique: response.text });
});
jokeFlow.handle([critiqueEvent], async (event) => {
// Keep track of the number of iterations
const state = getContext().state;
state.numIterations++;
// Write a new joke based on the previous joke and critique
const prompt = `Write a new joke based on the following critique and the original joke. Write the joke between <joke> and </joke> tags.\n\nJoke: ${event.data.joke}\n\nCritique: ${event.data.critique}`;
const response = await llm.complete({ prompt });
// Parse the joke from the response
const joke =
response.text.match(/<joke>([\s\S]*?)<\/joke>/)?.[1]?.trim() ??
response.text;
// If we've done less than the max number of iterations, keep iterating
// else, return the result
if (state.numIterations < state.maxIterations) {
return jokeEvent.with({ joke: joke });
}
return resultEvent.with({ joke: joke, critique: event.data.critique });
});
// Usage
async function main() {
const { stream, sendEvent } = jokeFlow.createContext();
sendEvent(startEvent.with("pirates"));
let result: { joke: string; critique: string } | undefined;
for await (const event of stream) {
// console.log(event.data); optionally log the event data
if (resultEvent.include(event)) {
result = event.data;
break; // Stop when we get the final result
}
}
console.log(result);
}
main().catch(console.error);
+2 -1
View File
@@ -1,6 +1,7 @@
import { anthropic } from "@llamaindex/anthropic";
import { wiki } from "@llamaindex/tools";
import { agent, tool } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const workflow = agent({
+39
View File
@@ -0,0 +1,39 @@
import { Anthropic } from "@llamaindex/anthropic";
import fs from "fs";
// Note that: Anthropic only supports PDF files for now with limited models
// See: https://docs.anthropic.com/en/docs/build-with-claude/pdf-support?q=pdf#supported-platforms-and-models
async function main() {
if (!process.env.ANTHROPIC_API_KEY) {
throw new Error("Please set the ANTHROPIC_API_KEY environment variable.");
}
const llm = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
model: "claude-3-7-sonnet",
});
const result = await llm.chat({
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this document? Describe it in detail.",
},
{
type: "file",
data: fs.readFileSync("./data/manga.pdf"),
mimeType: "application/pdf",
},
],
},
],
});
console.log(result.message);
}
void main().catch(console.error);
+2 -1
View File
@@ -1,5 +1,6 @@
import { gemini, GEMINI_MODEL } from "@llamaindex/google";
import { agent, tool } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const sumNumbers = tool({
+24 -1
View File
@@ -1,11 +1,12 @@
import { Gemini, GEMINI_MODEL } from "@llamaindex/google";
import fs from "fs";
(async () => {
if (!process.env.GOOGLE_API_KEY) {
throw new Error("Please set the GOOGLE_API_KEY environment variable.");
}
const gemini = new Gemini({
model: GEMINI_MODEL.GEMINI_PRO,
model: GEMINI_MODEL.GEMINI_PRO_1_5,
});
const result = await gemini.chat({
messages: [
@@ -18,4 +19,26 @@ import { Gemini, GEMINI_MODEL } from "@llamaindex/google";
],
});
console.log(result);
// chat with file
const resultWithFile = await gemini.chat({
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this document? Describe it in detail.",
},
{
type: "file",
data: fs.readFileSync("./data/manga.pdf"),
mimeType: "application/pdf",
},
],
},
],
});
console.log(resultWithFile);
})();
-17
View File
@@ -1,17 +0,0 @@
# Run LlamaIndex Server with simple steps
1. Setup environment variables
```bash
export OPENAI_API_KEY=<your-openai-api-key>
```
2. Run the server
```bash
npx tsx llamaindex-server/simple-workflow/index.ts
```
3. Open the app at `http://localhost:4000` and start chatting with the agent
![Screenshot](./screenshot.png)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

@@ -1,19 +0,0 @@
import { OpenAI } from "@llamaindex/openai";
import { LlamaIndexServer } from "@llamaindex/server";
import { weather } from "@llamaindex/tools";
import "dotenv/config";
import { agent } from "llamaindex";
const weatherAgent = agent({
tools: [weather()],
llm: new OpenAI({ model: "gpt-4o-mini" }),
});
new LlamaIndexServer({
workflow: () => weatherAgent,
uiConfig: {
appTitle: "Weather Agent",
starterQuestions: ["Ho Chi Minh city weather", "New York weather"],
},
port: 4000,
}).start();
+3 -1
View File
@@ -1,6 +1,8 @@
import { mistral } from "@llamaindex/mistral";
import { wiki } from "@llamaindex/tools";
import { agent, tool } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const workflow = agent({
-33
View File
@@ -1,33 +0,0 @@
import { StartEvent, StopEvent, Workflow } from "llamaindex";
type ContextData = {
counter: number;
};
const contextData: ContextData = { counter: 0 };
const workflow = new Workflow<ContextData, string, string>();
workflow.addStep(
{
inputs: [StartEvent<string>],
outputs: [StopEvent<string>],
},
async (context, startEvent) => {
const input = startEvent.data;
context.data.counter++;
return new StopEvent(`Hello, ${input}!`);
},
);
{
const ret = await workflow.run("Alex", contextData);
console.log(ret.data); // Hello, Alex!
}
{
const ret = await workflow.run("World", contextData);
console.log(ret.data); // Hello, World!
}
console.log(contextData.counter); // 2
+47 -2
View File
@@ -1,7 +1,8 @@
import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai";
import fs from "fs";
(async () => {
const llm = new OpenAI({ model: "gpt-4.5-preview", temperature: 0.1 });
const llm = new OpenAI({ model: "gpt-4o" });
// complete api
const response1 = await llm.complete({ prompt: "How are you?" });
@@ -13,7 +14,51 @@ import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai";
});
console.log(response2.message.content);
// embeddings
// chat with file
const response3 = await llm.chat({
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this document? Describe it in detail.",
},
{
type: "file",
data: fs.readFileSync("./data/manga.pdf"),
mimeType: "application/pdf",
},
],
},
],
});
console.log(response3.message.content);
// chat with image
const response4 = await llm.chat({
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this image? Describe it in detail.",
},
{
type: "image_url",
image_url: {
url: "https://storage.googleapis.com/cloud-samples-data/vision/face/faces.jpeg",
},
},
],
},
],
});
console.log("Single Image Analysis:", response4.message.content);
// // embeddings
const embedModel = new OpenAIEmbedding();
const texts = ["hello", "world"];
const embeddings = await embedModel.getTextEmbeddingsBatch(texts);
+2 -1
View File
@@ -1,6 +1,7 @@
import { openaiResponses } from "@llamaindex/openai";
import { wiki } from "@llamaindex/tools";
import { agent, tool } from "llamaindex";
import { agent } from "@llamaindex/workflow";
import { tool } from "llamaindex";
import { z } from "zod";
const workflow = agent({
@@ -0,0 +1,35 @@
import { openaiResponses } from "@llamaindex/openai";
import fs from "fs";
async function main() {
if (!process.env.OPENAI_API_KEY) {
throw new Error("Please set the OPENAI_API_KEY environment variable.");
}
const llm = openaiResponses({
apiKey: process.env.OPENAI_API_KEY,
});
const result = await llm.chat({
messages: [
{
role: "user",
content: [
{
type: "text",
text: "What's in this document? Describe it in detail.",
},
{
type: "file",
data: fs.readFileSync("./data/manga.pdf"),
mimeType: "application/pdf",
},
],
},
],
});
console.log(result);
}
void main().catch(console.error);
+45 -46
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/examples",
"version": "0.3.12",
"version": "0.3.13",
"private": true,
"scripts": {
"lint": "eslint .",
@@ -11,60 +11,59 @@
"@azure/cosmos": "^4.1.1",
"@azure/identity": "^4.4.1",
"@azure/search-documents": "^12.1.0",
"@llamaindex/anthropic": "^0.3.3",
"@llamaindex/astra": "^0.0.16",
"@llamaindex/azure": "^0.1.12",
"@llamaindex/chroma": "^0.0.16",
"@llamaindex/clip": "^0.0.52",
"@llamaindex/cloud": "^4.0.3",
"@llamaindex/cohere": "^0.0.16",
"@llamaindex/core": "^0.6.2",
"@llamaindex/deepinfra": "^0.0.52",
"@llamaindex/anthropic": "^0.3.4",
"@llamaindex/astra": "^0.0.17",
"@llamaindex/azure": "^0.1.13",
"@llamaindex/chroma": "^0.0.17",
"@llamaindex/clip": "^0.0.53",
"@llamaindex/cloud": "^4.0.4",
"@llamaindex/cohere": "^0.0.17",
"@llamaindex/core": "^0.6.3",
"@llamaindex/deepinfra": "^0.0.53",
"@llamaindex/env": "^0.1.29",
"@llamaindex/firestore": "^1.0.9",
"@llamaindex/google": "^0.2.4",
"@llamaindex/groq": "^0.0.67",
"@llamaindex/huggingface": "^0.1.6",
"@llamaindex/milvus": "^0.1.11",
"@llamaindex/mistral": "^0.1.2",
"@llamaindex/mixedbread": "^0.0.16",
"@llamaindex/mongodb": "^0.0.17",
"@llamaindex/elastic-search": "^0.1.2",
"@llamaindex/node-parser": "^2.0.2",
"@llamaindex/ollama": "^0.1.2",
"@llamaindex/openai": "^0.3.4",
"@llamaindex/pinecone": "^0.1.2",
"@llamaindex/portkey-ai": "^0.0.44",
"@llamaindex/postgres": "^0.0.45",
"@llamaindex/qdrant": "^0.1.11",
"@llamaindex/readers": "^3.1.0",
"@llamaindex/replicate": "^0.0.44",
"@llamaindex/upstash": "^0.0.16",
"@llamaindex/vercel": "^0.1.2",
"@llamaindex/vllm": "^0.0.38",
"@llamaindex/voyage-ai": "^1.0.8",
"@llamaindex/weaviate": "^0.0.16",
"@llamaindex/workflow": "^1.0.3",
"@llamaindex/deepseek": "^0.0.12",
"@llamaindex/fireworks": "^0.0.12",
"@llamaindex/together": "^0.0.12",
"@llamaindex/jinaai": "^0.0.12",
"@llamaindex/perplexity": "^0.0.9",
"@llamaindex/server": "^0.1.6",
"@llamaindex/supabase": "^0.1.1",
"@llamaindex/tools": "^0.0.7",
"@llamaindex/firestore": "^1.0.10",
"@llamaindex/google": "^0.2.5",
"@llamaindex/groq": "^0.0.68",
"@llamaindex/huggingface": "^0.1.7",
"@llamaindex/milvus": "^0.1.12",
"@llamaindex/mistral": "^0.1.3",
"@llamaindex/mixedbread": "^0.0.17",
"@llamaindex/mongodb": "^0.0.18",
"@llamaindex/elastic-search": "^0.1.3",
"@llamaindex/node-parser": "^2.0.3",
"@llamaindex/ollama": "^0.1.3",
"@llamaindex/openai": "^0.3.5",
"@llamaindex/pinecone": "^0.1.3",
"@llamaindex/portkey-ai": "^0.0.45",
"@llamaindex/postgres": "^0.0.46",
"@llamaindex/qdrant": "^0.1.12",
"@llamaindex/readers": "^3.1.1",
"@llamaindex/replicate": "^0.0.45",
"@llamaindex/upstash": "^0.0.17",
"@llamaindex/vercel": "^0.1.3",
"@llamaindex/vllm": "^0.0.39",
"@llamaindex/voyage-ai": "^1.0.9",
"@llamaindex/weaviate": "^0.0.17",
"@llamaindex/workflow": "^1.0.4",
"@llamaindex/deepseek": "^0.0.13",
"@llamaindex/fireworks": "^0.0.13",
"@llamaindex/together": "^0.0.13",
"@llamaindex/jinaai": "^0.0.13",
"@llamaindex/perplexity": "^0.0.10",
"@llamaindex/supabase": "^0.1.2",
"@llamaindex/tools": "^0.0.8",
"@notionhq/client": "^2.2.15",
"@pinecone-database/pinecone": "^4.0.0",
"@llamaindex/assemblyai": "^0.1.1",
"@llamaindex/discord": "^0.1.1",
"@llamaindex/notion": "^0.1.1",
"@llamaindex/assemblyai": "^0.1.2",
"@llamaindex/discord": "^0.1.2",
"@llamaindex/notion": "^0.1.2",
"@vercel/postgres": "^0.10.0",
"ai": "^4.0.0",
"ajv": "^8.17.1",
"commander": "^12.1.0",
"dotenv": "^16.4.5",
"js-tiktoken": "^1.0.14",
"llamaindex": "^0.10.2",
"llamaindex": "^0.10.3",
"mongodb": "6.7.0",
"postgres": "^3.4.4",
"wikipedia": "^2.1.2",
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/autotool
## 7.0.3
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 7.0.2
### Patch Changes
@@ -1,5 +1,13 @@
# @llamaindex/autotool-01-node-example
## 0.0.104
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
- @llamaindex/autotool@7.0.3
## 0.0.103
### Patch Changes
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.103"
"version": "0.0.104"
}
+1 -1
View File
@@ -6,7 +6,7 @@
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/autotool"
},
"version": "7.0.2",
"version": "7.0.3",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/cloud
## 4.0.4
### Patch Changes
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
## 4.0.3
### Patch Changes
-9
View File
@@ -2,15 +2,6 @@
> 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.
## Usage
```ts
import { OpenAPI } from "@llamaindex/cloud/api";
OpenAPI.TOKEN = "YOUR_API_KEY";
OpenAPI.BASE = "https://api.cloud.llamaindex.ai/";
// ...
```
For more information, see the [API documentation](https://docs.cloud.llamaindex.ai/).
## License
+4 -7
View File
@@ -1,22 +1,19 @@
import { defineConfig } from "@hey-api/openapi-ts";
import { defaultPlugins, defineConfig } from "@hey-api/openapi-ts";
export default defineConfig({
// you can download this file to get the latest version of the OpenAPI document
// @link https://api.cloud.llamaindex.ai/api/openapi.json
input: "./openapi.json",
client: "@hey-api/client-fetch",
output: {
path: "./src/client",
format: "prettier",
lint: "eslint",
},
plugins: [
"@hey-api/schemas",
"@hey-api/sdk",
...defaultPlugins,
"@hey-api/client-fetch",
{
enums: "javascript",
identifierCase: "preserve",
name: "@hey-api/typescript",
name: "@hey-api/sdk",
},
],
});
+2975 -4384
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "4.0.3",
"version": "4.0.4",
"type": "module",
"license": "MIT",
"scripts": {
@@ -55,8 +55,8 @@
"directory": "packages/cloud"
},
"devDependencies": {
"@hey-api/client-fetch": "^0.6.0",
"@hey-api/openapi-ts": "^0.61.0",
"@hey-api/client-fetch": "^0.10.0",
"@hey-api/openapi-ts": "^0.66.7",
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*"
},
+10
View File
@@ -1 +1,11 @@
import { client } from "./client/client.gen";
client.setConfig({
baseUrl: "https://api.cloud.llamaindex.ai/",
headers: {
"X-SDK-Name": "llamaindex-ts",
},
});
export * from "./client";
export { client };
+26 -15
View File
@@ -4,7 +4,8 @@ import { Document, FileReader } from "@llamaindex/core/schema";
import { fs, getEnv, path } from "@llamaindex/env";
import pRetry from "p-retry";
import {
type Body_upload_file_api_v1_parsing_upload_post,
type BodyUploadFileApiParsingUploadPost,
type FailPageMode,
type ParserLanguages,
type ParsingMode,
getJobApiV1ParsingJobJobIdGet,
@@ -162,6 +163,15 @@ export class LlamaParseReader extends FileReader {
content_guideline_instruction?: string | undefined;
adaptive_long_table?: boolean | undefined;
model?: string | undefined;
auto_mode_configuration_json?: string | undefined;
compact_markdown_table?: boolean | undefined;
markdown_table_multiline_header_separator?: string | undefined;
page_error_tolerance?: number | undefined;
replace_failed_page_mode?: FailPageMode | undefined;
replace_failed_page_with_error_message_prefix?: string | undefined;
replace_failed_page_with_error_message_suffix?: string | undefined;
save_images?: boolean | undefined;
preset?: string | undefined;
constructor(
params: Partial<Omit<LlamaParseReader, "language" | "apiKey">> & {
@@ -331,11 +341,23 @@ export class LlamaParseReader extends FileReader {
content_guideline_instruction: this.content_guideline_instruction,
adaptive_long_table: this.adaptive_long_table,
model: this.model,
auto_mode_configuration_json: this.auto_mode_configuration_json,
compact_markdown_table: this.compact_markdown_table,
markdown_table_multiline_header_separator:
this.markdown_table_multiline_header_separator,
page_error_tolerance: this.page_error_tolerance,
replace_failed_page_mode: this.replace_failed_page_mode,
replace_failed_page_with_error_message_prefix:
this.replace_failed_page_with_error_message_prefix,
replace_failed_page_with_error_message_suffix:
this.replace_failed_page_with_error_message_suffix,
save_images: this.save_images,
preset: this.preset,
} satisfies {
[Key in keyof Body_upload_file_api_v1_parsing_upload_post]-?:
| Body_upload_file_api_v1_parsing_upload_post[Key]
[Key in keyof BodyUploadFileApiParsingUploadPost]-?:
| BodyUploadFileApiParsingUploadPost[Key]
| undefined;
} as unknown as Body_upload_file_api_v1_parsing_upload_post;
} as unknown as BodyUploadFileApiParsingUploadPost;
const response = await uploadFileApiV1ParsingUploadPost({
client: this.#client,
@@ -382,10 +404,6 @@ export class LlamaParseReader extends FileReader {
client: this.#client,
throwOnError: true,
path: { job_id: jobId },
query: {
project_id: this.project_id ?? null,
organization_id: this.organization_id ?? null,
},
signal: AbortSignal.timeout(this.maxTimeout * 1000),
}),
{
@@ -431,7 +449,6 @@ export class LlamaParseReader extends FileReader {
throwOnError: true,
path: { job_id: jobId },
query: {
project_id: this.project_id ?? null,
organization_id: this.organization_id ?? null,
},
signal: AbortSignal.timeout(this.maxTimeout * 1000),
@@ -445,7 +462,6 @@ export class LlamaParseReader extends FileReader {
throwOnError: true,
path: { job_id: jobId },
query: {
project_id: this.project_id ?? null,
organization_id: this.organization_id ?? null,
},
signal: AbortSignal.timeout(this.maxTimeout * 1000),
@@ -459,7 +475,6 @@ export class LlamaParseReader extends FileReader {
throwOnError: true,
path: { job_id: jobId },
query: {
project_id: this.project_id ?? null,
organization_id: this.organization_id ?? null,
},
signal: AbortSignal.timeout(this.maxTimeout * 1000),
@@ -689,10 +704,6 @@ export class LlamaParseReader extends FileReader {
job_id: jobId,
name: imageName,
},
query: {
project_id: this.project_id ?? null,
organization_id: this.organization_id ?? null,
},
});
if (response.error) {
throw new Error(`Failed to download image: ${response.error.detail}`);
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/community
## 0.0.97
### Patch Changes
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
## 0.0.96
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.96",
"version": "0.0.97",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+6
View File
@@ -1,5 +1,11 @@
# @llamaindex/core
## 0.6.3
### Patch Changes
- 3ee8c83: feat: support file content type in message content
## 0.6.2
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.6.2",
"version": "0.6.3",
"description": "LlamaIndex Core Module",
"exports": {
"./agent": {
+1
View File
@@ -17,6 +17,7 @@ export type {
LLMMetadata,
MessageContent,
MessageContentDetail,
MessageContentFileDetail,
MessageContentImageDetail,
MessageContentTextDetail,
MessageType,
+8 -1
View File
@@ -163,9 +163,16 @@ export type MessageContentImageDetail = {
detail?: "high" | "low" | "auto";
};
export type MessageContentFileDetail = {
type: "file";
data: Buffer;
mimeType: string;
};
export type MessageContentDetail =
| MessageContentTextDetail
| MessageContentImageDetail;
| MessageContentImageDetail
| MessageContentFileDetail;
/**
* Extended type for the content of a message that allows for multi-modal messages.
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/experimental
## 0.0.173
### Patch Changes
- Updated dependencies [3ee8c83]
- llamaindex@0.10.3
## 0.0.172
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.172",
"version": "0.0.173",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+12
View File
@@ -1,5 +1,17 @@
# llamaindex
## 0.10.3
### Patch Changes
- 3ee8c83: feat: support file content type in message content
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
- @llamaindex/openai@0.3.5
- @llamaindex/cloud@4.0.4
- @llamaindex/node-parser@2.0.3
- @llamaindex/workflow@1.0.4
## 0.10.2
### Patch Changes
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.10.2",
"version": "0.10.3",
"license": "MIT",
"type": "module",
"keywords": [
@@ -25,7 +25,7 @@
"@llamaindex/env": "workspace:*",
"@llamaindex/node-parser": "workspace:*",
"@llamaindex/openai": "workspace:*",
"@llamaindex/workflow": "workspace:*",
"@llamaindex/workflow": "1.0.4",
"@types/lodash": "^4.17.7",
"@types/node": "^22.9.0",
"ajv": "^8.17.1",
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -1,5 +1,5 @@
import {
addFilesToPipelineApiV1PipelinesPipelineIdFilesPut,
addFilesToPipelineApiApiV1PipelinesPipelineIdFilesPut,
getPipelineFileStatusApiV1PipelinesPipelineIdFilesFileIdStatusGet,
listPipelineFilesApiV1PipelinesPipelineIdFilesGet,
listProjectsApiV1ProjectsGet,
@@ -56,7 +56,7 @@ export class LLamaCloudFileService {
custom_metadata: { file_id: file.id, ...customMetadata },
},
];
await addFilesToPipelineApiV1PipelinesPipelineIdFilesPut({
await addFilesToPipelineApiApiV1PipelinesPipelineIdFilesPut({
path: {
pipeline_id: pipelineId,
},
@@ -18,7 +18,7 @@ import {
deletePipelineDocumentApiV1PipelinesPipelineIdDocumentsDocumentIdDelete,
getPipelineDocumentStatusApiV1PipelinesPipelineIdDocumentsDocumentIdStatusGet,
getPipelineStatusApiV1PipelinesPipelineIdStatusGet,
type PipelineCreate,
type PipelineCreateReadable,
searchPipelinesApiV1PipelinesGet,
upsertBatchPipelineDocumentsApiV1PipelinesPipelineIdDocumentsPut,
upsertPipelineApiV1PipelinesPut,
@@ -182,8 +182,8 @@ export class LlamaCloudIndex {
verbose?: boolean;
} & CloudConstructorParams,
config?: {
embedding: PipelineCreate["embedding_config"];
transform: PipelineCreate["transform_config"];
embedding: PipelineCreateReadable["embedding_config"];
transform: PipelineCreateReadable["transform_config"];
},
): Promise<LlamaCloudIndex> {
const index = new LlamaCloudIndex({ ...params });
@@ -348,8 +348,8 @@ export class LlamaCloudIndex {
}
public async ensureIndex(config?: {
embedding?: PipelineCreate["embedding_config"];
transform?: PipelineCreate["transform_config"];
embedding?: PipelineCreateReadable["embedding_config"];
transform?: PipelineCreateReadable["transform_config"];
verbose?: boolean;
}): Promise<void> {
const projectId = await this.getProjectId();
@@ -51,7 +51,7 @@ export class QueryEngineTool implements BaseTool<QueryEngineParam> {
const response = await this.queryEngine.query({ query });
if (!this.includeSourceNodes) {
return { content: response.message.content };
return { content: response.message.content } as unknown as JSONValue;
}
return {
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+8
View File
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
@@ -0,0 +1,8 @@
{
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": "./dist/index.js",
"private": true
}
+7
View File
@@ -1,5 +1,12 @@
# @llamaindex/node-parser
## 2.0.3
### Patch Changes
- Updated dependencies [3ee8c83]
- @llamaindex/core@0.6.3
## 2.0.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/node-parser",
"version": "2.0.2",
"version": "2.0.3",
"description": "Node parser for LlamaIndex",
"type": "module",
"exports": {

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