mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-15 06:52:45 -04:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b39f40dbd8 | |||
| fadc8b8ea0 | |||
| ea92b6986d | |||
| 17f9022d22 | |||
| 14792cd8b4 | |||
| 7ae6eaa0a2 | |||
| dbb5bd9f23 |
@@ -1,5 +1,17 @@
|
|||||||
# docs
|
# docs
|
||||||
|
|
||||||
|
## 0.0.117
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/examples@0.0.15
|
||||||
|
|
||||||
|
## 0.0.116
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.115
|
## 0.0.115
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "docs",
|
"name": "docs",
|
||||||
"version": "0.0.115",
|
"version": "0.0.117",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
# @llamaindex/doc
|
# @llamaindex/doc
|
||||||
|
|
||||||
|
## 0.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ea92b69]
|
||||||
|
- Updated dependencies [fadc8b8]
|
||||||
|
- @llamaindex/workflow@0.0.5
|
||||||
|
|
||||||
|
## 0.0.14
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/node-parser@0.0.10
|
||||||
|
- @llamaindex/readers@1.0.10
|
||||||
|
|
||||||
## 0.0.13
|
## 0.0.13
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/doc",
|
"name": "@llamaindex/doc",
|
||||||
"version": "0.0.13",
|
"version": "0.0.15",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "pnpm run build:docs && next build",
|
"build": "pnpm run build:docs && next build",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/cloudflare-worker-agent-test
|
# @llamaindex/cloudflare-worker-agent-test
|
||||||
|
|
||||||
|
## 0.0.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.107
|
## 0.0.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||||
"version": "0.0.107",
|
"version": "0.0.108",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/llama-parse-browser-test
|
# @llamaindex/llama-parse-browser-test
|
||||||
|
|
||||||
|
## 0.0.29
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
|
||||||
## 0.0.28
|
## 0.0.28
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/llama-parse-browser-test",
|
"name": "@llamaindex/llama-parse-browser-test",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.28",
|
"version": "0.0.29",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/next-agent-test
|
# @llamaindex/next-agent-test
|
||||||
|
|
||||||
|
## 0.1.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.1.107
|
## 0.1.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-agent-test",
|
"name": "@llamaindex/next-agent-test",
|
||||||
"version": "0.1.107",
|
"version": "0.1.108",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# test-edge-runtime
|
# test-edge-runtime
|
||||||
|
|
||||||
|
## 0.1.107
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.1.106
|
## 0.1.106
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||||
"version": "0.1.106",
|
"version": "0.1.107",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/next-node-runtime
|
# @llamaindex/next-node-runtime
|
||||||
|
|
||||||
|
## 0.0.89
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.88
|
## 0.0.88
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/next-node-runtime-test",
|
"name": "@llamaindex/next-node-runtime-test",
|
||||||
"version": "0.0.88",
|
"version": "0.0.89",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/waku-query-engine-test
|
# @llamaindex/waku-query-engine-test
|
||||||
|
|
||||||
|
## 0.0.108
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.107
|
## 0.0.107
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/waku-query-engine-test",
|
"name": "@llamaindex/waku-query-engine-test",
|
||||||
"version": "0.0.107",
|
"version": "0.0.108",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# examples
|
# examples
|
||||||
|
|
||||||
|
## 0.0.15
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ea92b69]
|
||||||
|
- Updated dependencies [fadc8b8]
|
||||||
|
- @llamaindex/workflow@0.0.5
|
||||||
|
|
||||||
## 0.0.14
|
## 0.0.14
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/examples",
|
"name": "@llamaindex/examples",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.14",
|
"version": "0.0.15",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-crypto/sha256-js": "^5.2.0",
|
"@aws-crypto/sha256-js": "^5.2.0",
|
||||||
"@azure/cosmos": "^4.1.1",
|
"@azure/cosmos": "^4.1.1",
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
"@datastax/astra-db-ts": "^1.4.1",
|
"@datastax/astra-db-ts": "^1.4.1",
|
||||||
"@llamaindex/core": "^0.4.7",
|
"@llamaindex/core": "^0.4.7",
|
||||||
"@llamaindex/readers": "^1.0.8",
|
"@llamaindex/readers": "^1.0.8",
|
||||||
"@llamaindex/workflow": "^0.0.4",
|
"@llamaindex/workflow": "^0.0.5",
|
||||||
"@notionhq/client": "^2.2.15",
|
"@notionhq/client": "^2.2.15",
|
||||||
"@pinecone-database/pinecone": "^3.0.2",
|
"@pinecone-database/pinecone": "^3.0.2",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/autotool
|
# @llamaindex/autotool
|
||||||
|
|
||||||
|
## 5.0.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 5.0.11
|
## 5.0.11
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/autotool-01-node-example
|
# @llamaindex/autotool-01-node-example
|
||||||
|
|
||||||
|
## 0.0.55
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/autotool@5.0.12
|
||||||
|
|
||||||
## 0.0.54
|
## 0.0.54
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -13,5 +13,5 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
||||||
},
|
},
|
||||||
"version": "0.0.54"
|
"version": "0.0.55"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/autotool-02-next-example
|
# @llamaindex/autotool-02-next-example
|
||||||
|
|
||||||
|
## 0.1.99
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/autotool@5.0.12
|
||||||
|
|
||||||
## 0.1.98
|
## 0.1.98
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/autotool-02-next-example",
|
"name": "@llamaindex/autotool-02-next-example",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.98",
|
"version": "0.1.99",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/autotool",
|
"name": "@llamaindex/autotool",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "5.0.11",
|
"version": "5.0.12",
|
||||||
"description": "auto transpile your JS function to LLM Agent compatible",
|
"description": "auto transpile your JS function to LLM Agent compatible",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/cloud
|
# @llamaindex/cloud
|
||||||
|
|
||||||
|
## 2.0.9
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 2.0.8
|
## 2.0.8
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/cloud",
|
"name": "@llamaindex/cloud",
|
||||||
"version": "2.0.8",
|
"version": "2.0.9",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/community
|
# @llamaindex/community
|
||||||
|
|
||||||
|
## 0.0.67
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.66
|
## 0.0.66
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/community",
|
"name": "@llamaindex/community",
|
||||||
"description": "Community package for LlamaIndexTS",
|
"description": "Community package for LlamaIndexTS",
|
||||||
"version": "0.0.66",
|
"version": "0.0.67",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/type/index.d.ts",
|
"types": "dist/type/index.d.ts",
|
||||||
"main": "dist/cjs/index.js",
|
"main": "dist/cjs/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/core
|
# @llamaindex/core
|
||||||
|
|
||||||
|
## 0.4.9
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 7ae6eaa: feat: allow pass `additionalChatOptions` to agent
|
||||||
|
|
||||||
## 0.4.8
|
## 0.4.8
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/core",
|
"name": "@llamaindex/core",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.4.8",
|
"version": "0.4.9",
|
||||||
"description": "LlamaIndex Core Module",
|
"description": "LlamaIndex Core Module",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./agent": {
|
"./agent": {
|
||||||
|
|||||||
@@ -106,11 +106,17 @@ export type AgentRunnerParams<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
llm: AI;
|
llm: AI;
|
||||||
chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
||||||
systemPrompt: MessageContent | null;
|
systemPrompt: MessageContent | null;
|
||||||
runner: AgentWorker<AI, Store, AdditionalMessageOptions>;
|
runner: AgentWorker<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
tools:
|
tools:
|
||||||
| BaseToolWithCall[]
|
| BaseToolWithCall[]
|
||||||
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
||||||
@@ -125,6 +131,7 @@ export type AgentParamsBase<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> =
|
> =
|
||||||
| {
|
| {
|
||||||
llm?: AI;
|
llm?: AI;
|
||||||
@@ -132,6 +139,7 @@ export type AgentParamsBase<
|
|||||||
systemPrompt?: MessageContent;
|
systemPrompt?: MessageContent;
|
||||||
verbose?: boolean;
|
verbose?: boolean;
|
||||||
tools: BaseToolWithCall[];
|
tools: BaseToolWithCall[];
|
||||||
|
additionalChatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
llm?: AI;
|
llm?: AI;
|
||||||
@@ -139,6 +147,7 @@ export type AgentParamsBase<
|
|||||||
systemPrompt?: MessageContent;
|
systemPrompt?: MessageContent;
|
||||||
verbose?: boolean;
|
verbose?: boolean;
|
||||||
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
||||||
|
additionalChatOptions?: AdditionalChatOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -153,21 +162,36 @@ export abstract class AgentWorker<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> {
|
> {
|
||||||
#taskSet = new Set<TaskStep<AI, Store, AdditionalMessageOptions>>();
|
#taskSet = new Set<
|
||||||
abstract taskHandler: TaskHandler<AI, Store, AdditionalMessageOptions>;
|
TaskStep<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
>();
|
||||||
|
abstract taskHandler: TaskHandler<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
public createTask(
|
public createTask(
|
||||||
query: MessageContent,
|
query: MessageContent,
|
||||||
context: AgentTaskContext<AI, Store, AdditionalMessageOptions>,
|
context: AgentTaskContext<
|
||||||
): ReadableStream<TaskStepOutput<AI, Store, AdditionalMessageOptions>> {
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
|
): ReadableStream<
|
||||||
|
TaskStepOutput<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
> {
|
||||||
context.store.messages.push({
|
context.store.messages.push({
|
||||||
role: "user",
|
role: "user",
|
||||||
content: query,
|
content: query,
|
||||||
});
|
});
|
||||||
const taskOutputStream = createTaskOutputStream(this.taskHandler, context);
|
const taskOutputStream = createTaskOutputStream(this.taskHandler, context);
|
||||||
return new ReadableStream<
|
return new ReadableStream<
|
||||||
TaskStepOutput<AI, Store, AdditionalMessageOptions>
|
TaskStepOutput<AI, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
>({
|
>({
|
||||||
start: async (controller) => {
|
start: async (controller) => {
|
||||||
for await (const stepOutput of taskOutputStream) {
|
for await (const stepOutput of taskOutputStream) {
|
||||||
@@ -176,7 +200,8 @@ export abstract class AgentWorker<
|
|||||||
let currentStep: TaskStep<
|
let currentStep: TaskStep<
|
||||||
AI,
|
AI,
|
||||||
Store,
|
Store,
|
||||||
AdditionalMessageOptions
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
> | null = stepOutput.taskStep;
|
> | null = stepOutput.taskStep;
|
||||||
while (currentStep) {
|
while (currentStep) {
|
||||||
this.#taskSet.delete(currentStep);
|
this.#taskSet.delete(currentStep);
|
||||||
@@ -227,6 +252,7 @@ export abstract class AgentRunner<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngine {
|
> extends BaseChatEngine {
|
||||||
readonly #llm: AI;
|
readonly #llm: AI;
|
||||||
readonly #tools:
|
readonly #tools:
|
||||||
@@ -234,7 +260,12 @@ export abstract class AgentRunner<
|
|||||||
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
| ((query: MessageContent) => Promise<BaseToolWithCall[]>);
|
||||||
readonly #systemPrompt: MessageContent | null = null;
|
readonly #systemPrompt: MessageContent | null = null;
|
||||||
#chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
#chatHistory: ChatMessage<AdditionalMessageOptions>[];
|
||||||
readonly #runner: AgentWorker<AI, Store, AdditionalMessageOptions>;
|
readonly #runner: AgentWorker<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
readonly #verbose: boolean;
|
readonly #verbose: boolean;
|
||||||
|
|
||||||
// create extra store
|
// create extra store
|
||||||
@@ -245,7 +276,7 @@ export abstract class AgentRunner<
|
|||||||
}
|
}
|
||||||
|
|
||||||
static defaultTaskHandler: TaskHandler<LLM> = async (step, enqueueOutput) => {
|
static defaultTaskHandler: TaskHandler<LLM> = async (step, enqueueOutput) => {
|
||||||
const { llm, getTools, stream } = step.context;
|
const { llm, getTools, stream, additionalChatOptions } = step.context;
|
||||||
const lastMessage = step.context.store.messages.at(-1)!.content;
|
const lastMessage = step.context.store.messages.at(-1)!.content;
|
||||||
const tools = await getTools(lastMessage);
|
const tools = await getTools(lastMessage);
|
||||||
if (!stream) {
|
if (!stream) {
|
||||||
@@ -253,8 +284,9 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
tools,
|
tools,
|
||||||
messages: [...step.context.store.messages],
|
messages: [...step.context.store.messages],
|
||||||
|
additionalChatOptions,
|
||||||
});
|
});
|
||||||
await stepTools<LLM>({
|
await stepTools({
|
||||||
response,
|
response,
|
||||||
tools,
|
tools,
|
||||||
step,
|
step,
|
||||||
@@ -265,6 +297,7 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
tools,
|
tools,
|
||||||
messages: [...step.context.store.messages],
|
messages: [...step.context.store.messages],
|
||||||
|
additionalChatOptions,
|
||||||
});
|
});
|
||||||
await stepToolsStreaming<LLM>({
|
await stepToolsStreaming<LLM>({
|
||||||
response,
|
response,
|
||||||
@@ -276,7 +309,12 @@ export abstract class AgentRunner<
|
|||||||
};
|
};
|
||||||
|
|
||||||
protected constructor(
|
protected constructor(
|
||||||
params: AgentRunnerParams<AI, Store, AdditionalMessageOptions>,
|
params: AgentRunnerParams<
|
||||||
|
AI,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
const { llm, chatHistory, systemPrompt, runner, tools, verbose } = params;
|
const { llm, chatHistory, systemPrompt, runner, tools, verbose } = params;
|
||||||
@@ -330,6 +368,7 @@ export abstract class AgentRunner<
|
|||||||
stream: boolean = false,
|
stream: boolean = false,
|
||||||
verbose: boolean | undefined = undefined,
|
verbose: boolean | undefined = undefined,
|
||||||
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
chatHistory?: ChatMessage<AdditionalMessageOptions>[],
|
||||||
|
additionalChatOptions?: AdditionalChatOptions,
|
||||||
) {
|
) {
|
||||||
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
const initialMessages = [...(chatHistory ?? this.#chatHistory)];
|
||||||
if (this.#systemPrompt !== null) {
|
if (this.#systemPrompt !== null) {
|
||||||
@@ -348,6 +387,7 @@ export abstract class AgentRunner<
|
|||||||
stream,
|
stream,
|
||||||
toolCallCount: 0,
|
toolCallCount: 0,
|
||||||
llm: this.#llm,
|
llm: this.#llm,
|
||||||
|
additionalChatOptions: additionalChatOptions ?? {},
|
||||||
getTools: (message) => this.getTools(message),
|
getTools: (message) => this.getTools(message),
|
||||||
store: {
|
store: {
|
||||||
...this.createStore(),
|
...this.createStore(),
|
||||||
@@ -365,13 +405,29 @@ export abstract class AgentRunner<
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async chat(params: NonStreamingChatEngineParams): Promise<EngineResponse>;
|
|
||||||
async chat(
|
async chat(
|
||||||
params: StreamingChatEngineParams,
|
params: NonStreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
|
): Promise<EngineResponse>;
|
||||||
|
async chat(
|
||||||
|
params: StreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
): Promise<ReadableStream<EngineResponse>>;
|
): Promise<ReadableStream<EngineResponse>>;
|
||||||
@wrapEventCaller
|
@wrapEventCaller
|
||||||
async chat(
|
async chat(
|
||||||
params: NonStreamingChatEngineParams | StreamingChatEngineParams,
|
params:
|
||||||
|
| NonStreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>
|
||||||
|
| StreamingChatEngineParams<
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
): Promise<EngineResponse | ReadableStream<EngineResponse>> {
|
): Promise<EngineResponse | ReadableStream<EngineResponse>> {
|
||||||
let chatHistory: ChatMessage<AdditionalMessageOptions>[] = [];
|
let chatHistory: ChatMessage<AdditionalMessageOptions>[] = [];
|
||||||
|
|
||||||
@@ -388,6 +444,7 @@ export abstract class AgentRunner<
|
|||||||
!!params.stream,
|
!!params.stream,
|
||||||
false,
|
false,
|
||||||
chatHistory,
|
chatHistory,
|
||||||
|
params.chatOptions,
|
||||||
);
|
);
|
||||||
for await (const stepOutput of task) {
|
for await (const stepOutput of task) {
|
||||||
// update chat history for each round
|
// update chat history for each round
|
||||||
|
|||||||
@@ -4,24 +4,66 @@ import { ObjectRetriever } from "../objects";
|
|||||||
import { AgentRunner, AgentWorker, type AgentParamsBase } from "./base.js";
|
import { AgentRunner, AgentWorker, type AgentParamsBase } from "./base.js";
|
||||||
import { validateAgentParams } from "./utils.js";
|
import { validateAgentParams } from "./utils.js";
|
||||||
|
|
||||||
type LLMParamsBase = AgentParamsBase<LLM>;
|
type LLMParamsBase<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = AgentParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions>;
|
||||||
|
|
||||||
type LLMParamsWithTools = LLMParamsBase & {
|
type LLMParamsWithTools<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = LLMParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions> & {
|
||||||
tools: BaseToolWithCall[];
|
tools: BaseToolWithCall[];
|
||||||
};
|
};
|
||||||
|
|
||||||
type LLMParamsWithToolRetriever = LLMParamsBase & {
|
type LLMParamsWithToolRetriever<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> = LLMParamsBase<AI, AdditionalMessageOptions, AdditionalChatOptions> & {
|
||||||
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
toolRetriever: ObjectRetriever<BaseToolWithCall>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type LLMAgentParams = LLMParamsWithTools | LLMParamsWithToolRetriever;
|
export type LLMAgentParams<
|
||||||
|
AI extends LLM,
|
||||||
|
AdditionalMessageOptions extends object = AI extends LLM<
|
||||||
|
object,
|
||||||
|
infer AdditionalMessageOptions
|
||||||
|
>
|
||||||
|
? AdditionalMessageOptions
|
||||||
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
|
> =
|
||||||
|
| LLMParamsWithTools<AI, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
| LLMParamsWithToolRetriever<
|
||||||
|
AI,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
export class LLMAgentWorker extends AgentWorker<LLM> {
|
export class LLMAgentWorker extends AgentWorker<LLM> {
|
||||||
taskHandler = AgentRunner.defaultTaskHandler;
|
taskHandler = AgentRunner.defaultTaskHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LLMAgent extends AgentRunner<LLM> {
|
export class LLMAgent extends AgentRunner<LLM> {
|
||||||
constructor(params: LLMAgentParams) {
|
constructor(params: LLMAgentParams<LLM>) {
|
||||||
validateAgentParams(params);
|
validateAgentParams(params);
|
||||||
const llm = params.llm ?? (Settings.llm ? (Settings.llm as LLM) : null);
|
const llm = params.llm ?? (Settings.llm ? (Settings.llm as LLM) : null);
|
||||||
if (!llm)
|
if (!llm)
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export type AgentTaskContext<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
readonly stream: boolean;
|
readonly stream: boolean;
|
||||||
readonly toolCallCount: number;
|
readonly toolCallCount: number;
|
||||||
@@ -26,6 +27,7 @@ export type AgentTaskContext<
|
|||||||
readonly getTools: (
|
readonly getTools: (
|
||||||
input: MessageContent,
|
input: MessageContent,
|
||||||
) => BaseToolWithCall[] | Promise<BaseToolWithCall[]>;
|
) => BaseToolWithCall[] | Promise<BaseToolWithCall[]>;
|
||||||
|
readonly additionalChatOptions: Partial<AdditionalChatOptions>;
|
||||||
shouldContinue: (
|
shouldContinue: (
|
||||||
taskStep: Readonly<TaskStep<Model, Store, AdditionalMessageOptions>>,
|
taskStep: Readonly<TaskStep<Model, Store, AdditionalMessageOptions>>,
|
||||||
) => boolean;
|
) => boolean;
|
||||||
@@ -45,13 +47,26 @@ export type TaskStep<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
id: UUID;
|
id: UUID;
|
||||||
context: AgentTaskContext<Model, Store, AdditionalMessageOptions>;
|
context: AgentTaskContext<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
// linked list
|
// linked list
|
||||||
prevStep: TaskStep<Model, Store, AdditionalMessageOptions> | null;
|
prevStep: TaskStep<
|
||||||
nextSteps: Set<TaskStep<Model, Store, AdditionalMessageOptions>>;
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
> | null;
|
||||||
|
nextSteps: Set<
|
||||||
|
TaskStep<Model, Store, AdditionalMessageOptions, AdditionalChatOptions>
|
||||||
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type TaskStepOutput<
|
export type TaskStepOutput<
|
||||||
@@ -63,8 +78,14 @@ export type TaskStepOutput<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = {
|
> = {
|
||||||
taskStep: TaskStep<Model, Store, AdditionalMessageOptions>;
|
taskStep: TaskStep<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>;
|
||||||
// output shows the response to the user
|
// output shows the response to the user
|
||||||
output:
|
output:
|
||||||
| ChatResponse<AdditionalMessageOptions>
|
| ChatResponse<AdditionalMessageOptions>
|
||||||
@@ -81,10 +102,16 @@ export type TaskHandler<
|
|||||||
>
|
>
|
||||||
? AdditionalMessageOptions
|
? AdditionalMessageOptions
|
||||||
: never,
|
: never,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> = (
|
> = (
|
||||||
step: TaskStep<Model, Store, AdditionalMessageOptions>,
|
step: TaskStep<Model, Store, AdditionalMessageOptions, AdditionalChatOptions>,
|
||||||
enqueueOutput: (
|
enqueueOutput: (
|
||||||
taskOutput: TaskStepOutput<Model, Store, AdditionalMessageOptions>,
|
taskOutput: TaskStepOutput<
|
||||||
|
Model,
|
||||||
|
Store,
|
||||||
|
AdditionalMessageOptions,
|
||||||
|
AdditionalChatOptions
|
||||||
|
>,
|
||||||
) => void,
|
) => void,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
|
|
||||||
|
|||||||
@@ -16,14 +16,18 @@ export interface BaseChatEngineParams<
|
|||||||
|
|
||||||
export interface StreamingChatEngineParams<
|
export interface StreamingChatEngineParams<
|
||||||
AdditionalMessageOptions extends object = object,
|
AdditionalMessageOptions extends object = object,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
||||||
stream: true;
|
stream: true;
|
||||||
|
chatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NonStreamingChatEngineParams<
|
export interface NonStreamingChatEngineParams<
|
||||||
AdditionalMessageOptions extends object = object,
|
AdditionalMessageOptions extends object = object,
|
||||||
|
AdditionalChatOptions extends object = object,
|
||||||
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
> extends BaseChatEngineParams<AdditionalMessageOptions> {
|
||||||
stream?: false;
|
stream?: false;
|
||||||
|
chatOptions?: AdditionalChatOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export abstract class BaseChatEngine {
|
export abstract class BaseChatEngine {
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# @llamaindex/experimental
|
# @llamaindex/experimental
|
||||||
|
|
||||||
|
## 0.0.124
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
|
||||||
## 0.0.123
|
## 0.0.123
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/experimental",
|
"name": "@llamaindex/experimental",
|
||||||
"description": "Experimental package for LlamaIndexTS",
|
"description": "Experimental package for LlamaIndexTS",
|
||||||
"version": "0.0.123",
|
"version": "0.0.124",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/type/index.d.ts",
|
"types": "dist/type/index.d.ts",
|
||||||
"main": "dist/cjs/index.js",
|
"main": "dist/cjs/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
# llamaindex
|
# llamaindex
|
||||||
|
|
||||||
|
## 0.8.12
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
- @llamaindex/node-parser@0.0.10
|
||||||
|
- @llamaindex/anthropic@0.0.18
|
||||||
|
- @llamaindex/clip@0.0.18
|
||||||
|
- @llamaindex/deepinfra@0.0.18
|
||||||
|
- @llamaindex/huggingface@0.0.18
|
||||||
|
- @llamaindex/ollama@0.0.25
|
||||||
|
- @llamaindex/portkey-ai@0.0.18
|
||||||
|
- @llamaindex/replicate@0.0.18
|
||||||
|
- @llamaindex/readers@1.0.10
|
||||||
|
- @llamaindex/groq@0.0.33
|
||||||
|
- @llamaindex/vllm@0.0.4
|
||||||
|
|
||||||
## 0.8.11
|
## 0.8.11
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "llamaindex",
|
"name": "llamaindex",
|
||||||
"version": "0.8.11",
|
"version": "0.8.12",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/node-parser
|
# @llamaindex/node-parser
|
||||||
|
|
||||||
|
## 0.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.9
|
## 0.0.9
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/node-parser",
|
"name": "@llamaindex/node-parser",
|
||||||
"version": "0.0.9",
|
"version": "0.0.10",
|
||||||
"description": "Node parser for LlamaIndex",
|
"description": "Node parser for LlamaIndex",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/anthropic
|
# @llamaindex/anthropic
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/anthropic",
|
"name": "@llamaindex/anthropic",
|
||||||
"description": "Anthropic Adapter for LlamaIndex",
|
"description": "Anthropic Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { Settings } from "@llamaindex/core/global";
|
|||||||
import type { EngineResponse } from "@llamaindex/core/schema";
|
import type { EngineResponse } from "@llamaindex/core/schema";
|
||||||
import { Anthropic } from "./llm.js";
|
import { Anthropic } from "./llm.js";
|
||||||
|
|
||||||
export type AnthropicAgentParams = LLMAgentParams;
|
export type AnthropicAgentParams = LLMAgentParams<Anthropic>;
|
||||||
|
|
||||||
export class AnthropicAgentWorker extends LLMAgentWorker {}
|
export class AnthropicAgentWorker extends LLMAgentWorker {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# @llamaindex/clip
|
# @llamaindex/clip
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/clip",
|
"name": "@llamaindex/clip",
|
||||||
"description": "Clip Embedding Adapter for LlamaIndex",
|
"description": "Clip Embedding Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"main": "dist/index.cjs",
|
"main": "dist/index.cjs",
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# @llamaindex/deepinfra
|
# @llamaindex/deepinfra
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/deepinfra",
|
"name": "@llamaindex/deepinfra",
|
||||||
"description": "Deepinfra Adapter for LlamaIndex",
|
"description": "Deepinfra Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/groq
|
# @llamaindex/groq
|
||||||
|
|
||||||
|
## 0.0.33
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.32
|
## 0.0.32
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/groq",
|
"name": "@llamaindex/groq",
|
||||||
"description": "Groq Adapter for LlamaIndex",
|
"description": "Groq Adapter for LlamaIndex",
|
||||||
"version": "0.0.32",
|
"version": "0.0.33",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# @llamaindex/huggingface
|
# @llamaindex/huggingface
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/huggingface",
|
"name": "@llamaindex/huggingface",
|
||||||
"description": "Huggingface Adapter for LlamaIndex",
|
"description": "Huggingface Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"main": "dist/index.cjs",
|
"main": "dist/index.cjs",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/ollama
|
# @llamaindex/ollama
|
||||||
|
|
||||||
|
## 0.0.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.24
|
## 0.0.24
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/ollama",
|
"name": "@llamaindex/ollama",
|
||||||
"description": "Ollama Adapter for LlamaIndex",
|
"description": "Ollama Adapter for LlamaIndex",
|
||||||
"version": "0.0.24",
|
"version": "0.0.25",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { Ollama } from "./llm";
|
|||||||
|
|
||||||
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
||||||
|
|
||||||
export type OllamaAgentParams = LLMAgentParams & {
|
export type OllamaAgentParams = LLMAgentParams<Ollama> & {
|
||||||
model?: string;
|
model?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
# @llamaindex/openai
|
# @llamaindex/openai
|
||||||
|
|
||||||
|
## 0.1.34
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 7ae6eaa: feat: allow pass `additionalChatOptions` to agent
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.1.33
|
## 0.1.33
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/openai",
|
"name": "@llamaindex/openai",
|
||||||
"description": "OpenAI Adapter for LlamaIndex",
|
"description": "OpenAI Adapter for LlamaIndex",
|
||||||
"version": "0.1.33",
|
"version": "0.1.34",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
@@ -35,7 +35,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@llamaindex/core": "workspace:*",
|
"@llamaindex/core": "workspace:*",
|
||||||
"@llamaindex/env": "workspace:*",
|
"@llamaindex/env": "workspace:*",
|
||||||
"openai": "^4.68.1",
|
"openai": "^4.68.1"
|
||||||
"remeda": "^2.12.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,16 @@ import {
|
|||||||
type LLMAgentParams,
|
type LLMAgentParams,
|
||||||
} from "@llamaindex/core/agent";
|
} from "@llamaindex/core/agent";
|
||||||
import { Settings } from "@llamaindex/core/global";
|
import { Settings } from "@llamaindex/core/global";
|
||||||
import { OpenAI } from "./llm";
|
import type { ToolCallLLMMessageOptions } from "@llamaindex/core/llms";
|
||||||
|
import { OpenAI, type OpenAIAdditionalChatOptions } from "./llm";
|
||||||
|
|
||||||
// This is likely not necessary anymore but leaving it here just incase it's in use elsewhere
|
// This is likely not necessary anymore but leaving it here just in case it's in use elsewhere
|
||||||
|
|
||||||
export type OpenAIAgentParams = LLMAgentParams;
|
export type OpenAIAgentParams = LLMAgentParams<
|
||||||
|
OpenAI,
|
||||||
|
ToolCallLLMMessageOptions,
|
||||||
|
OpenAIAdditionalChatOptions
|
||||||
|
>;
|
||||||
|
|
||||||
export class OpenAIAgentWorker extends LLMAgentWorker {}
|
export class OpenAIAgentWorker extends LLMAgentWorker {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/portkey-ai
|
# @llamaindex/portkey-ai
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/portkey-ai",
|
"name": "@llamaindex/portkey-ai",
|
||||||
"description": "Portkey Adapter for LlamaIndex",
|
"description": "Portkey Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/replicate
|
# @llamaindex/replicate
|
||||||
|
|
||||||
|
## 0.0.18
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 0.0.17
|
## 0.0.17
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/replicate",
|
"name": "@llamaindex/replicate",
|
||||||
"description": "Replicate Adapter for LlamaIndex",
|
"description": "Replicate Adapter for LlamaIndex",
|
||||||
"version": "0.0.17",
|
"version": "0.0.18",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/vllm
|
# @llamaindex/vllm
|
||||||
|
|
||||||
|
## 0.0.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
|
||||||
## 0.0.3
|
## 0.0.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/vllm",
|
"name": "@llamaindex/vllm",
|
||||||
"description": "vLLM Adapter for LlamaIndex",
|
"description": "vLLM Adapter for LlamaIndex",
|
||||||
"version": "0.0.3",
|
"version": "0.0.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "./dist/index.cjs",
|
"main": "./dist/index.cjs",
|
||||||
"module": "./dist/index.js",
|
"module": "./dist/index.js",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/readers
|
# @llamaindex/readers
|
||||||
|
|
||||||
|
## 1.0.10
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
|
||||||
## 1.0.9
|
## 1.0.9
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/readers",
|
"name": "@llamaindex/readers",
|
||||||
"description": "LlamaIndex Readers",
|
"description": "LlamaIndex Readers",
|
||||||
"version": "1.0.9",
|
"version": "1.0.10",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./node/hook": "./node/dist/hook.js",
|
"./node/hook": "./node/dist/hook.js",
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
# @llamaindex/workflow
|
# @llamaindex/workflow
|
||||||
|
|
||||||
|
## 0.0.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- ea92b69: fix: output event check
|
||||||
|
- fadc8b8: feat: recoverable context with error handling
|
||||||
|
|
||||||
## 0.0.4
|
## 0.0.4
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/workflow",
|
"name": "@llamaindex/workflow",
|
||||||
"description": "Workflow API",
|
"description": "Workflow API",
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
|||||||
@@ -397,10 +397,11 @@ export class WorkflowContext<Start = string, Stop = string, Data = unknown>
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
const outputs = outputsMap.get(step) ?? [];
|
const outputs = outputsMap.get(step) ?? [];
|
||||||
const outputEvents = flattenEvents(outputs, [
|
if (
|
||||||
nextEvent,
|
!outputs.some(
|
||||||
]);
|
(output) => nextEvent.constructor === output,
|
||||||
if (outputEvents.length !== outputs.length) {
|
)
|
||||||
|
) {
|
||||||
if (this.#strict) {
|
if (this.#strict) {
|
||||||
const error = Error(
|
const error = Error(
|
||||||
`Step ${step.name} returned an unexpected output event ${nextEvent}`,
|
`Step ${step.name} returned an unexpected output event ${nextEvent}`,
|
||||||
@@ -452,6 +453,9 @@ export class WorkflowContext<Start = string, Stop = string, Data = unknown>
|
|||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
// when the step raise an error, should go back to the previous step
|
||||||
|
this.#sendEvent(event);
|
||||||
|
isPendingEvents.add(event);
|
||||||
controller.error(err);
|
controller.error(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+1
-4
@@ -590,7 +590,7 @@ importers:
|
|||||||
specifier: ^1.0.8
|
specifier: ^1.0.8
|
||||||
version: link:../packages/readers
|
version: link:../packages/readers
|
||||||
'@llamaindex/workflow':
|
'@llamaindex/workflow':
|
||||||
specifier: ^0.0.4
|
specifier: ^0.0.5
|
||||||
version: link:../packages/workflow
|
version: link:../packages/workflow
|
||||||
'@notionhq/client':
|
'@notionhq/client':
|
||||||
specifier: ^2.2.15
|
specifier: ^2.2.15
|
||||||
@@ -1310,9 +1310,6 @@ importers:
|
|||||||
openai:
|
openai:
|
||||||
specifier: ^4.68.1
|
specifier: ^4.68.1
|
||||||
version: 4.69.0(encoding@0.1.13)(zod@3.23.8)
|
version: 4.69.0(encoding@0.1.13)(zod@3.23.8)
|
||||||
remeda:
|
|
||||||
specifier: ^2.12.0
|
|
||||||
version: 2.16.0
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
bunchee:
|
bunchee:
|
||||||
specifier: 5.6.1
|
specifier: 5.6.1
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
# @llamaindex/unit-test
|
# @llamaindex/unit-test
|
||||||
|
|
||||||
|
## 0.0.22
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [ea92b69]
|
||||||
|
- Updated dependencies [fadc8b8]
|
||||||
|
- @llamaindex/workflow@0.0.5
|
||||||
|
|
||||||
|
## 0.0.21
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [7ae6eaa]
|
||||||
|
- @llamaindex/core@0.4.9
|
||||||
|
- @llamaindex/openai@0.1.34
|
||||||
|
- @llamaindex/cloud@2.0.9
|
||||||
|
- llamaindex@0.8.12
|
||||||
|
- @llamaindex/node-parser@0.0.10
|
||||||
|
- @llamaindex/readers@1.0.10
|
||||||
|
|
||||||
## 0.0.20
|
## 0.0.20
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@llamaindex/unit-test",
|
"name": "@llamaindex/unit-test",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.20",
|
"version": "0.0.22",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "vitest run"
|
"test": "vitest run"
|
||||||
|
|||||||
@@ -794,6 +794,21 @@ describe("workflow event loop", () => {
|
|||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("workflow multiple output", async () => {
|
||||||
|
const myFlow = new Workflow<unknown, string, string>({ verbose: true });
|
||||||
|
myFlow.addStep(
|
||||||
|
{
|
||||||
|
inputs: [StartEvent<string>],
|
||||||
|
outputs: [StopEvent<string>, StopEvent<string>],
|
||||||
|
},
|
||||||
|
async (_context, ev) => {
|
||||||
|
return new StopEvent(`Hello ${ev.data}!`);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
const result = await myFlow.run("world").strict();
|
||||||
|
expect(result.data).toBe("Hello world!");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("snapshot", async () => {
|
describe("snapshot", async () => {
|
||||||
@@ -869,3 +884,83 @@ describe("snapshot", async () => {
|
|||||||
expect(fn).toHaveBeenCalledTimes(1);
|
expect(fn).toHaveBeenCalledTimes(1);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("error", () => {
|
||||||
|
test("error in handler", async () => {
|
||||||
|
const myFlow = new Workflow<boolean, string, string>({ verbose: true });
|
||||||
|
myFlow.addStep(
|
||||||
|
{
|
||||||
|
inputs: [StartEvent<string>],
|
||||||
|
outputs: [StopEvent<string>],
|
||||||
|
},
|
||||||
|
async ({ data }) => {
|
||||||
|
if (!data) {
|
||||||
|
throw new Error("Something went wrong");
|
||||||
|
} else {
|
||||||
|
return new StopEvent(`Hello ${data}!`);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
await expect(myFlow.run("world")).rejects.toThrow("Something went wrong");
|
||||||
|
{
|
||||||
|
const context = myFlow.run("world");
|
||||||
|
try {
|
||||||
|
for await (const _ of context) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
expect(error).toBeInstanceOf(Error);
|
||||||
|
expect((error as Error).message).toBe("Something went wrong");
|
||||||
|
const snapshot = context.snapshot();
|
||||||
|
const newContext = myFlow.recover(snapshot).with(true);
|
||||||
|
expect((await newContext).data).toBe("Hello true!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
test("recover in the middle of workflow", async () => {
|
||||||
|
const myFlow = new Workflow<string | undefined, string, string>({
|
||||||
|
verbose: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
class AEvent extends WorkflowEvent<string> {}
|
||||||
|
|
||||||
|
myFlow.addStep(
|
||||||
|
{
|
||||||
|
inputs: [StartEvent<string>],
|
||||||
|
outputs: [AEvent],
|
||||||
|
},
|
||||||
|
async ({ data }) => {
|
||||||
|
if (data !== undefined) {
|
||||||
|
throw new Error("Something went wrong");
|
||||||
|
}
|
||||||
|
return new AEvent("world");
|
||||||
|
},
|
||||||
|
);
|
||||||
|
myFlow.addStep(
|
||||||
|
{
|
||||||
|
inputs: [AEvent],
|
||||||
|
outputs: [StopEvent],
|
||||||
|
},
|
||||||
|
async ({ data }, ev) => {
|
||||||
|
if (data === undefined) {
|
||||||
|
throw new Error("Something went wrong");
|
||||||
|
}
|
||||||
|
return new StopEvent(`Hello, ${data}!`);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
// no context, so will throw error
|
||||||
|
const context = myFlow.run("world");
|
||||||
|
try {
|
||||||
|
for await (const _ of context) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
expect(error).toBeInstanceOf(Error);
|
||||||
|
expect((error as Error).message).toBe("Something went wrong");
|
||||||
|
const snapshot = context.snapshot();
|
||||||
|
const newContext = myFlow.recover(snapshot).with("Recovered Data");
|
||||||
|
expect((await newContext).data).toBe("Hello, Recovered Data!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user