Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
retrieve.ts 1.00 KiB
import { ImageNode, Settings, TextNode, VectorStoreIndex } from "llamaindex";
import { getStorageContext } from "./storage";

// Update chunk size and overlap
Settings.chunkSize = 512;
Settings.chunkOverlap = 20;

async function main() {
  // retrieve documents using the index
  const storageContext = await getStorageContext();
  const index = await VectorStoreIndex.init({
    nodes: [],
    storageContext,
  });
  const retriever = index.asRetriever({ topK: { TEXT: 1, IMAGE: 3 } });
  const results = await retriever.retrieve({
    query: "what are Vincent van Gogh's famous paintings",
  });
  for (const result of results) {
    const node = result.node;
    if (!node) {
      continue;
    }
    if (node instanceof ImageNode) {
      console.log(`Image: ${node.getUrl()}`);
    } else if (node instanceof TextNode) {
      console.log("Text:", (node as TextNode).text.substring(0, 128));
    }
    console.log(`ID: ${node.id_}`);
    console.log(`Similarity: ${result.score}\n`);
  }
}

main().catch(console.error);