Back to Langchainjs

@langchain/turbopuffer

libs/providers/langchain-turbopuffer/README.md

1-head1.7 KB
Original Source

@langchain/turbopuffer

This package contains the LangChain.js integration for the turbopuffer vector database.

Installation

bash
npm install @langchain/turbopuffer @turbopuffer/turbopuffer

Usage

typescript
import { Turbopuffer } from "@turbopuffer/turbopuffer";
import { TurbopufferVectorStore } from "@langchain/turbopuffer";
import { OpenAIEmbeddings } from "@langchain/openai";

const client = new Turbopuffer({ apiKey: process.env.TURBOPUFFER_API_KEY });

const vectorStore = new TurbopufferVectorStore(new OpenAIEmbeddings(), {
  namespace: client.namespace("my-namespace"),
});

const ids = await vectorStore.addDocuments([
  { pageContent: "Hello world", metadata: { source: "greeting" } },
]);

const results = await vectorStore.similaritySearch("hello", 1);

await vectorStore.delete({ ids });

Configuration

OptionDescriptionDefault
namespaceA configured turbopuffer Namespace instanceRequired
distanceMetric"cosine_distance" or "euclidean_squared""cosine_distance"

Add Options

OptionDescriptionDefault
idsCustom IDs for documentsAuto-generated UUIDs
batchSizeBatch size for upserts3000

Filtering

typescript
const results = await vectorStore.similaritySearch("query", 10, [
  "category",
  "Eq",
  "books",
]);

Development

bash
pnpm install
pnpm build
pnpm test
pnpm test:int
pnpm lint && pnpm format