LangChain embeddings with TypeScript:
import dotenv from "dotenv";
import { OpenAIEmbeddings } from "@langchain/openai";
dotenv.config();
const embeddings = new OpenAIEmbeddings({
apiKey: process.env.IONOS_API_TOKEN,
model: "BAAI/bge-m3",
encodingFormat: "float",
configuration: {
baseURL: "https://openai.inference.de-txl.ionos.com/v1",
},
});
const texts = [
"Entertainment",
"Michael Jackson",
"King of Pop",
"Angela Merkel",
];
const vectors = await embeddings.embedDocuments(texts);
console.log(vectors);
const dot = (a: number[], b: number[]) =>
a.reduce((sum, val, i) => sum + val * b[i], 0);
const sim = dot(vectors[0], vectors[1]);
console.log(`Similarity: ${sim.toFixed(2)}`);