Skip to content

Commit 30dc6a2

Browse files
authored
Merge branch 'main' into jb/fix-vercel-v5-support
2 parents fa3aa61 + 7f3da30 commit 30dc6a2

File tree

9 files changed

+83
-25
lines changed

9 files changed

+83
-25
lines changed

packages/ai-providers/server-ai-langchain/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,25 @@ if (chat) {
5757

5858
For more information about using the LaunchDarkly AI SDK, see the [LaunchDarkly AI SDK documentation](https://github.com/launchdarkly/js-core/tree/main/packages/sdk/server-ai/README.md).
5959

60+
## Langchain Provider Installation
61+
62+
> **Important**: You will need to install additional provider packages for the specific AI models you want to use. LangChain requires separate packages for each provider.
63+
64+
When creating a new LangChain model, LaunchDarkly uses an AI Config and the `initChatModel` provided by LangChain to create a model instance. You should install all LangChain providers for each provider you plan to use in your AI Config to ensure they can be properly instantiated.
65+
66+
### Installing a LangChain Provider
67+
68+
To use specific AI models, install the corresponding provider package:
69+
70+
```shell
71+
# For OpenAI models
72+
npm install @langchain/openai --save
73+
# or
74+
yarn add @langchain/openai
75+
```
76+
77+
For a complete list of available providers and installation instructions, see the [LangChain JavaScript Integrations documentation](https://js.langchain.com/docs/integrations/chat/).
78+
6079
## Advanced Usage
6180

6281
For more control, you can use the LangChain provider package directly with LaunchDarkly configurations:

packages/ai-providers/server-ai-langchain/package.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,9 @@
2626
],
2727
"author": "LaunchDarkly",
2828
"license": "Apache-2.0",
29-
"dependencies": {
30-
"@langchain/core": ">=0.2.21 <0.3.0",
31-
"@launchdarkly/server-sdk-ai": "^0.12.1",
32-
"langchain": "^0.2.11"
33-
},
3429
"devDependencies": {
35-
"@launchdarkly/js-server-sdk-common": "2.16.2",
30+
"@langchain/core": "^0.3.0",
31+
"@launchdarkly/server-sdk-ai": "^0.12.2",
3632
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
3733
"@types/jest": "^29.5.3",
3834
"@typescript-eslint/eslint-plugin": "^6.20.0",
@@ -45,11 +41,14 @@
4541
"eslint-plugin-jest": "^27.6.3",
4642
"eslint-plugin-prettier": "^5.0.0",
4743
"jest": "^29.6.1",
44+
"langchain": "^0.3.0",
4845
"prettier": "^3.0.0",
4946
"ts-jest": "^29.1.1",
5047
"typescript": "5.1.6"
5148
},
5249
"peerDependencies": {
53-
"@launchdarkly/js-server-sdk-common": "2.x"
50+
"@langchain/core": "^0.2.0 || ^0.3.0",
51+
"@launchdarkly/server-sdk-ai": "^0.12.2",
52+
"langchain": "^0.2.0 || ^0.3.0"
5453
}
5554
}

packages/ai-providers/server-ai-langchain/src/LangChainProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import { BaseChatModel } from '@langchain/core/language_models/chat_models';
22
import { AIMessage, HumanMessage, SystemMessage } from '@langchain/core/messages';
33
import { initChatModel } from 'langchain/chat_models/universal';
44

5-
import { LDLogger } from '@launchdarkly/js-server-sdk-common';
6-
import {
7-
AIProvider,
5+
import { AIProvider } from '@launchdarkly/server-sdk-ai';
6+
import type {
87
ChatResponse,
98
LDAIConfig,
109
LDAIMetrics,
10+
LDLogger,
1111
LDMessage,
1212
LDTokenUsage,
1313
} from '@launchdarkly/server-sdk-ai';

packages/ai-providers/server-ai-openai/package.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,9 @@
2626
],
2727
"author": "LaunchDarkly",
2828
"license": "Apache-2.0",
29-
"dependencies": {
30-
"@launchdarkly/server-sdk-ai": "^0.12.1",
31-
"openai": "^4.0.0"
32-
},
3329
"devDependencies": {
3430
"@launchdarkly/js-server-sdk-common": "2.16.2",
31+
"@launchdarkly/server-sdk-ai": "^0.12.2",
3532
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
3633
"@types/jest": "^29.5.3",
3734
"@typescript-eslint/eslint-plugin": "^6.20.0",
@@ -44,11 +41,13 @@
4441
"eslint-plugin-jest": "^27.6.3",
4542
"eslint-plugin-prettier": "^5.0.0",
4643
"jest": "^29.6.1",
44+
"openai": "^6.0.0",
4745
"prettier": "^3.0.0",
4846
"ts-jest": "^29.1.1",
4947
"typescript": "5.1.6"
5048
},
5149
"peerDependencies": {
52-
"@launchdarkly/js-server-sdk-common": "2.x"
50+
"@launchdarkly/server-sdk-ai": "^0.12.2",
51+
"openai": ">= 4 < 7"
5352
}
5453
}

packages/ai-providers/server-ai-openai/src/OpenAIProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { OpenAI } from 'openai';
22

3-
import { LDLogger } from '@launchdarkly/js-server-sdk-common';
4-
import {
5-
AIProvider,
3+
import { AIProvider } from '@launchdarkly/server-sdk-ai';
4+
import type {
65
ChatResponse,
76
LDAIConfig,
87
LDAIMetrics,
8+
LDLogger,
99
LDMessage,
1010
LDTokenUsage,
1111
} from '@launchdarkly/server-sdk-ai';

packages/ai-providers/server-ai-vercel/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,25 @@ if (chat) {
5757

5858
For more information about using the LaunchDarkly AI SDK, see the [LaunchDarkly AI SDK documentation](https://github.com/launchdarkly/js-core/tree/main/packages/sdk/server-ai/README.md).
5959

60+
## Vercel AI Provider Installation
61+
62+
> **Important**: You will need to install additional provider packages for the specific AI models you want to use. The Vercel AI SDK requires separate packages for each provider.
63+
64+
When creating a new Vercel AI model, LaunchDarkly uses an AI Config and the Vercel AI SDK's provider system to create a model instance. You should install all Vercel AI provider packages for each provider you plan to use in your AI Config to ensure they can be properly instantiated.
65+
66+
### Installing a Vercel AI Provider
67+
68+
To use specific AI models, install the corresponding provider package:
69+
70+
```shell
71+
# For OpenAI models
72+
npm install @ai-sdk/openai --save
73+
# or
74+
yarn add @ai-sdk/openai
75+
```
76+
77+
For a complete list of available providers and installation instructions, see the [Vercel AI SDK Providers documentation](https://sdk.vercel.ai/providers).
78+
6079
## Advanced Usage
6180

6281
For more control, you can use the Vercel AI provider package directly with LaunchDarkly configurations:

packages/ai-providers/server-ai-vercel/package.json

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,14 @@
2626
],
2727
"author": "LaunchDarkly",
2828
"license": "Apache-2.0",
29-
"dependencies": {
30-
"@launchdarkly/server-sdk-ai": "^0.12.1"
31-
},
3229
"devDependencies": {
3330
"@ai-sdk/anthropic": "^2.0.0",
3431
"@ai-sdk/cohere": "^2.0.0",
3532
"@ai-sdk/google": "^2.0.0",
3633
"@ai-sdk/mistral": "^2.0.0",
3734
"@ai-sdk/openai": "^2.0.0",
38-
"@launchdarkly/js-server-sdk-common": "2.16.2",
35+
"@ai-sdk/provider": "^2.0.0",
36+
"@launchdarkly/server-sdk-ai": "^0.12.2",
3937
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
4038
"@types/jest": "^29.5.3",
4139
"@typescript-eslint/eslint-plugin": "^6.20.0",
@@ -54,6 +52,30 @@
5452
"typescript": "5.1.6"
5553
},
5654
"peerDependencies": {
55+
"@ai-sdk/anthropic": "^2.0.0",
56+
"@ai-sdk/cohere": "^2.0.0",
57+
"@ai-sdk/google": "^2.0.0",
58+
"@ai-sdk/mistral": "^2.0.0",
59+
"@ai-sdk/openai": "^2.0.0",
60+
"@ai-sdk/provider": "^2.0.0",
61+
"@launchdarkly/server-sdk-ai": "^0.12.2",
5762
"ai": "^4.0.0 || ^5.0.0"
63+
},
64+
"peerDependenciesMeta": {
65+
"@ai-sdk/anthropic": {
66+
"optional": true
67+
},
68+
"@ai-sdk/cohere": {
69+
"optional": true
70+
},
71+
"@ai-sdk/google": {
72+
"optional": true
73+
},
74+
"@ai-sdk/mistral": {
75+
"optional": true
76+
},
77+
"@ai-sdk/openai": {
78+
"optional": true
79+
}
5880
}
5981
}

packages/ai-providers/server-ai-vercel/src/VercelProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { generateText, LanguageModel } from 'ai';
22

3-
import {
4-
AIProvider,
3+
import { AIProvider } from '@launchdarkly/server-sdk-ai';
4+
import type {
55
ChatResponse,
66
LDAIConfig,
77
LDAIMetrics,

packages/sdk/server-ai/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@launchdarkly/server-sdk-ai",
3-
"version": "0.12.1",
3+
"version": "0.12.2",
44
"description": "LaunchDarkly AI SDK for Server-Side JavaScript",
55
"homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/server-ai",
66
"repository": {

0 commit comments

Comments
 (0)