-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3b46883
commit 60dccf7
Showing
2 changed files
with
134 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
# @langchain/aws | ||
|
||
This package contains the LangChain.js integrations for AWS through their SDK. | ||
|
||
## Installation | ||
|
||
```bash | ||
npm install @langchain/aws | ||
``` | ||
|
||
This package, along with the main LangChain package, depends on [`@langchain/core`](https://npmjs.com/package/@langchain/core/). | ||
If you are using this package with other LangChain packages, you should make sure that all of the packages depend on the same instance of @langchain/core. | ||
You can do so by adding appropriate fields to your project's `package.json` like this: | ||
|
||
```json | ||
{ | ||
"name": "your-project", | ||
"version": "0.0.0", | ||
"dependencies": { | ||
"@langchain/aws": "^0.0.1", | ||
"langchain": "0.0.207" | ||
}, | ||
"resolutions": { | ||
"@langchain/core": "0.1.5" | ||
}, | ||
"overrides": { | ||
"@langchain/core": "0.1.5" | ||
}, | ||
"pnpm": { | ||
"overrides": { | ||
"@langchain/core": "0.1.5" | ||
} | ||
} | ||
} | ||
``` | ||
|
||
The field you need depends on the package manager you're using, but we recommend adding a field for the common `yarn`, `npm`, and `pnpm` to maximize compatibility. | ||
|
||
## Chat Models | ||
|
||
This package contains the `ChatBedrockConverse` class, which is the recommended way to interface with the AWS Bedrock Converse series of models. | ||
|
||
To use, install the requirements, and configure your environment. | ||
|
||
```bash | ||
export BEDROCK_AWS_REGION= | ||
export BEDROCK_AWS_SECRET_ACCESS_KEY= | ||
export BEDROCK_AWS_ACCESS_KEY_ID= | ||
``` | ||
|
||
Then initialize | ||
|
||
```typescript | ||
import { ChatBedrockConverse } from "@langchain/aws"; | ||
|
||
const model = new ChatBedrockConverse({ | ||
region: process.env.BEDROCK_AWS_REGION ?? "us-east-1", | ||
credentials: { | ||
secretAccessKey: process.env.BEDROCK_AWS_SECRET_ACCESS_KEY, | ||
accessKeyId: process.env.BEDROCK_AWS_ACCESS_KEY_ID, | ||
}, | ||
}); | ||
|
||
const response = await model.invoke(new HumanMessage("Hello world!")); | ||
``` | ||
|
||
### Streaming | ||
|
||
```typescript | ||
import { ChatBedrockConverse } from "@langchain/aws"; | ||
|
||
const model = new ChatBedrockConverse({ | ||
region: process.env.BEDROCK_AWS_REGION ?? "us-east-1", | ||
credentials: { | ||
secretAccessKey: process.env.BEDROCK_AWS_SECRET_ACCESS_KEY, | ||
accessKeyId: process.env.BEDROCK_AWS_ACCESS_KEY_ID, | ||
}, | ||
}); | ||
|
||
const response = await model.stream(new HumanMessage("Hello world!")); | ||
``` | ||
|
||
## Development | ||
|
||
To develop the AWS package, you'll need to follow these instructions: | ||
|
||
### Install dependencies | ||
|
||
```bash | ||
yarn install | ||
``` | ||
|
||
### Build the package | ||
|
||
```bash | ||
yarn build | ||
``` | ||
|
||
Or from the repo root: | ||
|
||
```bash | ||
yarn build --filter=@langchain/aws | ||
``` | ||
|
||
### Run tests | ||
|
||
Test files should live within a `tests/` file in the `src/` folder. Unit tests should end in `.test.ts` and integration tests should | ||
end in `.int.test.ts`: | ||
|
||
```bash | ||
$ yarn test | ||
$ yarn test:int | ||
``` | ||
|
||
### Lint & Format | ||
|
||
Run the linter & formatter to ensure your code is up to standard: | ||
|
||
```bash | ||
yarn lint && yarn format | ||
``` | ||
|
||
### Adding new entrypoints | ||
|
||
If you add a new file to be exported, either import & re-export from `src/index.ts`, or add it to the `entrypoints` field in the `config` variable located inside `langchain.config.js` and run `yarn build` to generate the new entrypoint. | ||
|
||
## Publishing | ||
|
||
After running `yarn build`, publish a new version with: | ||
|
||
```bash | ||
$ npm publish | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters