async function generateDocumentEmbeddings()

in demo-javascript/code/azure-search-vector-sample.js [100:121]


async function generateDocumentEmbeddings(defaultCredential) {
  console.log("Reading data/text-sample.json...");
  const fileData = await readFileAsync("../data/text-sample.json", "utf-8");
  let data = JSON.parse(fileData);

  console.log("Generating embeddings with Azure OpenAI...");
  const client = createOpenAiClient(defaultCredential);
  const openAiDeployment = process.env.AZURE_OPENAI_EMBEDDING_DEPLOYMENT;

  const titles = data.map(item => item["title"]);
  const content = data.map(item => item["content"]);
  const titleEmbeddings = await client.getEmbeddings(openAiDeployment, titles);
  const contentEmbeddings = await client.getEmbeddings(openAiDeployment, content);

  for (let i = 0; i < data.length; i++) {
    data[i]["titleVector"] = titleEmbeddings.data[i].embedding;
    data[i]["contentVector"] = contentEmbeddings.data[i].embedding;
  }

  await writeFileAsync("../data/text-sample.json", JSON.stringify(data, null, 2));
  console.log("Wrote embeddings to data/text-sample.json");
}