UNPKG

@langchain/community

Version:
55 lines (54 loc) 2.44 kB
import { GoogleAuthOptions } from "google-auth-library"; import { Embeddings, EmbeddingsParams } from "@langchain/core/embeddings"; import { GoogleVertexAIBaseLLMInput } from "../types/googlevertexai-types.js"; /** * Defines the parameters required to initialize a * GoogleVertexAIEmbeddings instance. It extends EmbeddingsParams and * GoogleVertexAIConnectionParams. */ export interface GoogleVertexAIEmbeddingsParams extends EmbeddingsParams, GoogleVertexAIBaseLLMInput<GoogleAuthOptions> { } /** * Enables calls to the Google Cloud's Vertex AI API to access * the embeddings generated by Large Language Models. * * To use, you will need to have one of the following authentication * methods in place: * - You are logged into an account permitted to the Google Cloud project * using Vertex AI. * - You are running this on a machine using a service account permitted to * the Google Cloud project using Vertex AI. * - The `GOOGLE_APPLICATION_CREDENTIALS` environment variable is set to the * path of a credentials file for a service account permitted to the * Google Cloud project using Vertex AI. * @example * ```typescript * const model = new GoogleVertexAIEmbeddings(); * const res = await model.embedQuery( * "What would be a good company name for a company that makes colorful socks?" * ); * console.log({ res }); * ``` */ export declare class GoogleVertexAIEmbeddings extends Embeddings implements GoogleVertexAIEmbeddingsParams { model: string; private connection; constructor(fields?: GoogleVertexAIEmbeddingsParams); /** * Takes an array of documents as input and returns a promise that * resolves to a 2D array of embeddings for each document. It splits the * documents into chunks and makes requests to the Google Vertex AI API to * generate embeddings. * @param documents An array of documents to be embedded. * @returns A promise that resolves to a 2D array of embeddings for each document. */ embedDocuments(documents: string[]): Promise<number[][]>; /** * Takes a document as input and returns a promise that resolves to an * embedding for the document. It calls the embedDocuments method with the * document as the input. * @param document A document to be embedded. * @returns A promise that resolves to an embedding for the document. */ embedQuery(document: string): Promise<number[]>; }