Prompt AI Mannequin Tuning: Leveraging HNSW Vector with Firebase Genkit for Retrieval-Augmented Era | by Surahutomo Aziz Pradana | Might, 2024

0
190
Prompt AI Mannequin Tuning: Leveraging HNSW Vector with Firebase Genkit for Retrieval-Augmented Era | by Surahutomo Aziz Pradana | Might, 2024


Now let’s observe to be taught extra how we will construct such an AI Answer!

Conditions

Earlier than putting in the plugin, guarantee you’ve gotten the next put in:

  • Node.js (model 12 or larger)
  • npm (comes with Node.js)
  • TypeScript (set up globally through npm: npm set up -g typescript)
  • Genkit (set up globally through npm: npm set up -g genkit)

Very first thing first, provoke the Genkit venture with

genkit init

comply with the directions right here.

After you have the Genkit venture put in, ensure the venture is effectively ready. You may attempt first by

genkit begin

If it runs effectively and open the Genkit UI in a browser, then you’re good to go!

Putting in the HNSW plugin

To put in the Genkit HNSW plugin, run the next command:

npm set up genkitx-hnsw

We can be utilizing 2 Genkit Plugins right here.

  1. HNSW Indexer plugin
  2. HNSW Retriever plugin

1. HNSW Indexer Plugin

The HNSW Indexer plugin helps create a vector index out of your information, which can be utilized as a information reference for the HNSW Retriever.

Information Preparation

Put together your information or paperwork, for example, restaurant information, in a devoted folder.

Registering the HNSW Indexer Plugin

Import the plugin into your Genkit venture:

discover genkit.config.ts file in your venture, often /root/src/genkit.config.ts.

Then import the plugin into the file.

import { hnswIndexer } from "genkitx-hnsw";
// 
export default configureGenkit({
plugins: [
hnswIndexer({ apiKey: "GOOGLE_API_KEY" })
]
});

Operating the Indexer

  1. Open the Genkit UI and choose the registered HNSW Indexer plugin.
  2. Execute the stream with the required parameters:
  • dataPath: Path to your information and paperwork.
  • indexOutputPath: Desired output path for the generated vector retailer index.

Vector Retailer Index End result

The HNSW vector retailer can be saved within the specified output path, prepared to be used with the HNSW Retriever plugin.

The HNSW Retriever plugin processes immediate with the Gemini LLM Mannequin, enriched with extra particular info from the HNSW Vector index.

Registering the HNSW Retriever Plugin

Import the mandatory plugins into your Genkit venture:

import { googleAI } from "@genkit-ai/googleai";
import { hnswRetriever } from "genkitx-hnsw";
export default configureGenkit({
plugins: [
googleAI(),
hnswRetriever({ apiKey: "GOOGLE_API_KEY" })
]
});

Operating the Retriever

  1. Open the Genkit UI and choose the HNSW Retriever plugin.
  2. Execute the stream with the required parameters:
  • immediate: Your enter question is for the AI.
  • indexPath: Path to the vector index file generated by the HNSW Indexer plugin.

Instance Immediate

To ask concerning the worth checklist of a restaurant in Surabaya Metropolis:

immediate: "What's the worth checklist of my restaurant in Surabaya Metropolis?"
indexPath: "/path/to/your/vector/index"

The combination of HNSW Vector index with Genkit considerably enhances the capabilities of Generative AI fashions by offering enriched context and particular information.

This method not solely improves the accuracy of AI responses but in addition simplifies the method of data integration, making it a robust software for numerous functions.

By following the steps outlined on this article, you may successfully leverage the HNSW Vector index to construct extra clever and context-aware AI programs in a really brief time like immediately!

Hope this helps and see you within the subsequent one!