This package contains the LangChain.js integrations for Nomic via the @nomic-ai/atlas package.
npm install @langchain/nomic @langchain/core
This package adds support for Nomic embeddings.
Currently, they offer two embeddings models:
nomic-embed-text-v1nomic-embed-text-v1.5nomic-embed-text-v1.5 allows for you to customize the number of dimensions returned. It defaults to the largest possible number of dimensions (768), or you can select 64, 128, 256, or 512.
Now set the necessary environment variable (or pass it in via the constructor):
export NOMIC_API_KEY=
import { NomicEmbeddings } from "@langchain/nomic";
const nomicEmbeddings = new NomicEmbeddings({
apiKey: process.env.NOMIC_API_KEY, // Default value.
modelName: "nomic-embed-text-v1", // Default value.
});
const docs = [
"hello world",
"nomic embeddings!",
"super special langchain integration package",
"what color is the sky?",
];
const embeddings = await nomicEmbeddings.embedDocuments(docs);
To develop the @langchain/nomic package, you'll need to follow these instructions:
pnpm install
pnpm build
Or from the repo root:
pnpm build --filter @langchain/nomic
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
Run the linter & formatter to ensure your code is up to standard:
pnpm lint && pnpm format
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.