@langchain/weaviate
Weaviate integration for LangChain.js
Last updated 2 years ago by jacoblee93 .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @langchain/weaviate 
SYNC missed versions from official npm registry.

@langchain/weaviate

This package contains the LangChain.js integrations for Weaviate with the weaviate-client SDK.

Installation

npm install @langchain/weaviate @langchain/core

Vectorstore

This package adds support for Weaviate vectorstore.

To follow along with this example install the @langchain/openai package for their Embeddings model.

npm install @langchain/openai

Now set the necessary environment variables (or pass them in via the client object):

export WEAVIATE_SCHEME=
export WEAVIATE_HOST=
export WEAVIATE_API_KEY=
import weaviate, { ApiKey } from "weaviate-client";
import { WeaviateStore } from "@langchain/weaviate";

// Weaviate SDK has a TypeScript issue so we must do this.
const client = (weaviate as any).client({
  scheme: process.env.WEAVIATE_SCHEME || "https",
  host: process.env.WEAVIATE_HOST || "localhost",
  apiKey: new ApiKey(process.env.WEAVIATE_API_KEY || "default"),
});

// Create a store and fill it with some texts + metadata
await WeaviateStore.fromTexts(
  ["hello world", "hi there", "how are you", "bye now"],
  [{ foo: "bar" }, { foo: "baz" }, { foo: "qux" }, { foo: "bar" }],
  new OpenAIEmbeddings(),
  {
    client,
    indexName: "Test",
    textKey: "text",
    metadataKeys: ["foo"],
  }
);

Development

To develop the @langchain/weaviate package, you'll need to follow these instructions:

Install dependencies

pnpm install

Build the package

pnpm build

Or from the repo root:

pnpm build --filter @langchain/weaviate

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:

$ pnpm test
$ pnpm test:int

Lint & Format

Run the linter & formatter to ensure your code is up to standard:

pnpm lint && pnpm 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 exports field in the package.json file and run pnpm build to generate the new entrypoint.

Current Tags

  • 0.2.0                                ...           latest (a year ago)
  • 0.1.0-rc.0                                ...           next (2 years ago)

9 Versions

  • 0.2.0                                ...           a year ago
  • 0.1.1                                ...           a year ago
  • 0.1.0                                ...           2 years ago
  • 0.1.0-rc.0                                ...           2 years ago
  • 0.0.5                                ...           2 years ago
  • 0.0.4                                ...           2 years ago
  • 0.0.3                                ...           2 years ago
  • 0.0.2                                ...           2 years ago
  • 0.0.1                                ...           2 years ago
Downloads
Today 0
This Week 1
This Month 1
Last Day 1
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (25)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |