@langchain/anthropic
Version:
Anthropic integrations for LangChain.js
129 lines (93 loc) • 2.86 kB
Markdown
# @langchain/anthropic
This package contains the LangChain.js integrations for Anthropic through their SDK.
## Installation
```bash npm2yarn
npm install @langchain/anthropic @langchain/core
```
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/anthropic": "^0.0.9",
"@langchain/core": "^0.3.0"
},
"resolutions": {
"@langchain/core": "^0.3.0"
},
"overrides": {
"@langchain/core": "^0.3.0"
},
"pnpm": {
"overrides": {
"@langchain/core": "^0.3.0"
}
}
}
```
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 `ChatAnthropic` class, which is the recommended way to interface with the Anthropic series of models.
To use, install the requirements, and configure your environment.
```bash
export ANTHROPIC_API_KEY=your-api-key
```
Then initialize
```typescript
import { ChatAnthropic } from "@langchain/anthropic";
const model = new ChatAnthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const response = await model.invoke({
role: "user",
content: "Hello world!",
});
```
### Streaming
```typescript
import { ChatAnthropic } from "@langchain/anthropic";
const model = new ChatAnthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
model: "claude-3-sonnet-20240229",
});
const response = await model.stream({
role: "user",
content: "Hello world!",
});
```
## Development
To develop the Anthropic 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/anthropic
```
### 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
```