@langchain/mixedbread-ai
v1.0.1
Published
Mixedbread AI integration for LangChain.js
Downloads
277
Maintainers
Keywords
Readme
@langchain/mixedbread-ai
This package contains the LangChain.js integrations for the Mixedbread AI API.
Installation
npm install @langchain/mixedbread-aiThis package, along with the main LangChain package, depends on @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.
Authentication
To use this package, you need a Mixedbread AI API key. You can obtain your API key by signing up at Mixedbread AI.
Either set the MXBAI_API_KEY environment variable to your Mixedbread AI API key, or pass it as the apiKey option to the constructor of the class you are using.
Embeddings
This package provides access to the different embedding models provided by the Mixedbread AI API, such as the "mixedbread-ai/mxbai-embed-large-v1" model.
Learn more: Embeddings API
const embeddings = new MixedbreadAIEmbeddings({ apiKey: "your-api-key" });
const texts = ["Baking bread is fun", "I love baking"];
const result = await embeddings.embedDocuments(texts);
console.log(result);Reranking
This package provides access to the reranking API provided by Mixedbread AI. It allows you to rerank a list of documents based on a query. Available models include "mixedbread-ai/mxbai-rerank-large-v1".
Learn more: Reranking API
const reranker = new MixedbreadAIReranker({ apiKey: "your-api-key" });
const documents = [
{ pageContent: "To bake bread you need flour" },
{ pageContent: "To bake bread you need yeast" },
];
const query = "What do you need to bake bread?";
const result = await reranker.compressDocuments(documents, query);
console.log(result);Development
To develop the @langchain/mixedbread-ai package, follow these instructions:
Install dependencies
pnpm installBuild the package
pnpm buildOr from the repo root:
pnpm build --filter @langchain/mixedbread-aiRun tests
Test files should live within a tests/ folder in the src/ directory. Unit tests should end in .test.ts and integration tests should end in .int.test.ts:
pnpm test
pnpm test:intLint & Format
Run the linter & formatter to ensure your code is up to standard:
pnpm lint && pnpm formatAdding new entry points
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 entry point.
