diff --git a/.changeset/khaki-humans-raise.md b/.changeset/khaki-humans-raise.md new file mode 100644 index 0000000000000000000000000000000000000000..ac50142d8cce4a70811141ef83301ee5dcb112ad --- /dev/null +++ b/.changeset/khaki-humans-raise.md @@ -0,0 +1,5 @@ +--- +"@llamaindex/openai": patch +--- + +feat: support gpt-4.5 diff --git a/examples/openai.ts b/examples/openai.ts index 20a383d8ee0da7d64aa5ee1bbea56408e9f165c0..64acc2f08a6e776c883527c4f05623f80b97e1cb 100644 --- a/examples/openai.ts +++ b/examples/openai.ts @@ -1,7 +1,7 @@ import { OpenAI, OpenAIEmbedding } from "@llamaindex/openai"; (async () => { - const llm = new OpenAI({ model: "gpt-4-1106-preview", temperature: 0.1 }); + const llm = new OpenAI({ model: "gpt-4.5-preview", temperature: 0.1 }); // complete api const response1 = await llm.complete({ prompt: "How are you?" }); diff --git a/packages/providers/openai/package.json b/packages/providers/openai/package.json index 2f25401b97f5865294dde1453e324fb034b888bf..474cc006674d91302632687208dd92eb14a01cc0 100644 --- a/packages/providers/openai/package.json +++ b/packages/providers/openai/package.json @@ -35,6 +35,6 @@ "dependencies": { "@llamaindex/core": "workspace:*", "@llamaindex/env": "workspace:*", - "openai": "^4.83.0" + "openai": "^4.86.0" } } diff --git a/packages/providers/openai/src/llm.ts b/packages/providers/openai/src/llm.ts index 6717b2e6898dcc97910523bc471f8f2ce25e587e..3383d75518d6487919226f727ac8e0e8729a8568 100644 --- a/packages/providers/openai/src/llm.ts +++ b/packages/providers/openai/src/llm.ts @@ -44,6 +44,8 @@ export const GPT4_MODELS = { "chatgpt-4o-latest": { contextWindow: 128000, }, + "gpt-4.5-preview": { contextWindow: 128000 }, + "gpt-4.5-preview-2025-02-27": { contextWindow: 128000 }, "gpt-4": { contextWindow: 8192 }, "gpt-4-32k": { contextWindow: 32768 }, "gpt-4-32k-0613": { contextWindow: 32768 }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f943208147bde2e7aa2323c14062f3e3487f21a5..251140444dc3440d3709a9385cb24db1a354ca9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -117,7 +117,7 @@ importers: version: 1.6.0(@aws-sdk/credential-provider-web-identity@3.744.0) ai: specifier: ^3.4.33 - version: 3.4.33(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2) + version: 3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2) class-variance-authority: specifier: ^0.7.0 version: 0.7.1 @@ -1341,8 +1341,8 @@ importers: specifier: workspace:* version: link:../../env openai: - specifier: ^4.83.0 - version: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + specifier: ^4.86.0 + version: 4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) devDependencies: bunchee: specifier: 6.3.4 @@ -1446,7 +1446,7 @@ importers: version: link:../../../env chromadb: specifier: 1.10.3 - version: 1.10.3(cohere-ai@7.14.0)(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(voyageai@0.0.3-1) + version: 1.10.3(cohere-ai@7.14.0)(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(voyageai@0.0.3-1) chromadb-default-embed: specifier: ^2.13.2 version: 2.13.2 @@ -9338,6 +9338,18 @@ packages: zod: optional: true + openai@4.86.0: + resolution: {integrity: sha512-ggnH3vm+o9UvVQl/MxzDgpxsH9j7UoD17AeICcLSr1NCNb8PfwgMlp/K56ErQUxpkkcIA5mNkTuJAFSnoHej8A==} + hasBin: true + peerDependencies: + ws: ^8.18.0 + zod: ^3.23.8 + peerDependenciesMeta: + ws: + optional: true + zod: + optional: true + openapi-sampler@1.6.1: resolution: {integrity: sha512-s1cIatOqrrhSj2tmJ4abFYZQK6l5v+V4toO5q1Pa0DyN8mtyqy2I+Qrj5W9vOELEtybIMQs/TBZGVO/DtTFK8w==} @@ -15956,7 +15968,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 18.19.76 + '@types/node': 22.9.0 form-data: 4.0.2 '@types/node-forge@1.3.11': @@ -15976,6 +15988,7 @@ snapshots: '@types/node@22.13.5': dependencies: undici-types: 6.20.0 + optional: true '@types/node@22.9.0': dependencies: @@ -16570,7 +16583,7 @@ snapshots: dependencies: humanize-ms: 1.2.1 - ai@3.4.33(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2): + ai@3.4.33(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(react@19.0.0)(sswr@2.1.0(svelte@5.19.10))(svelte@5.19.10)(vue@3.5.13(typescript@5.7.2))(zod@3.24.2): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.24.2) @@ -16586,7 +16599,7 @@ snapshots: secure-json-parse: 2.7.0 zod-to-json-schema: 3.24.1(zod@3.24.2) optionalDependencies: - openai: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + openai: 4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) react: 19.0.0 sswr: 2.1.0(svelte@5.19.10) svelte: 5.19.10 @@ -17210,13 +17223,13 @@ snapshots: transitivePeerDependencies: - bare-buffer - chromadb@1.10.3(cohere-ai@7.14.0)(openai@4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(voyageai@0.0.3-1): + chromadb@1.10.3(cohere-ai@7.14.0)(openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2))(voyageai@0.0.3-1): dependencies: cliui: 8.0.1 isomorphic-fetch: 3.0.0 optionalDependencies: cohere-ai: 7.14.0 - openai: 4.83.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) + openai: 4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2) voyageai: 0.0.3-1 transitivePeerDependencies: - encoding @@ -21564,6 +21577,21 @@ snapshots: transitivePeerDependencies: - encoding + openai@4.86.0(ws@8.18.0(bufferutil@4.0.9))(zod@3.24.2): + dependencies: + '@types/node': 18.19.76 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.6.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + ws: 8.18.0(bufferutil@4.0.9) + zod: 3.24.2 + transitivePeerDependencies: + - encoding + openapi-sampler@1.6.1: dependencies: '@types/json-schema': 7.0.15 @@ -22087,7 +22115,7 @@ snapshots: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 22.13.5 + '@types/node': 22.9.0 long: 4.0.0 protobufjs@7.4.0: @@ -23952,7 +23980,8 @@ snapshots: undici-types@6.19.8: {} - undici-types@6.20.0: {} + undici-types@6.20.0: + optional: true undici@5.28.5: dependencies: