agsamantha/node_modules/@langchain/community/dist/embeddings/hf.d.ts
2024-10-02 15:15:21 -05:00

41 lines
1.8 KiB
TypeScript

import { HfInference, HfInferenceEndpoint } from "@huggingface/inference";
import { Embeddings, type EmbeddingsParams } from "@langchain/core/embeddings";
/**
* Interface that extends EmbeddingsParams and defines additional
* parameters specific to the HuggingFaceInferenceEmbeddings class.
*/
export interface HuggingFaceInferenceEmbeddingsParams extends EmbeddingsParams {
apiKey?: string;
model?: string;
endpointUrl?: string;
}
/**
* Class that extends the Embeddings class and provides methods for
* generating embeddings using Hugging Face models through the
* HuggingFaceInference API.
*/
export declare class HuggingFaceInferenceEmbeddings extends Embeddings implements HuggingFaceInferenceEmbeddingsParams {
apiKey?: string;
model: string;
endpointUrl?: string;
client: HfInference | HfInferenceEndpoint;
constructor(fields?: HuggingFaceInferenceEmbeddingsParams);
_embed(texts: string[]): Promise<number[][]>;
/**
* Method that takes a document as input and returns a promise that
* resolves to an embedding for the document. It calls the _embed method
* with the document as the input and returns the first embedding in the
* resulting array.
* @param document Document to generate an embedding for.
* @returns Promise that resolves to an embedding for the document.
*/
embedQuery(document: string): Promise<number[]>;
/**
* Method that takes an array of documents as input and returns a promise
* that resolves to a 2D array of embeddings for each document. It calls
* the _embed method with the documents as the input.
* @param documents Array of documents to generate embeddings for.
* @returns Promise that resolves to a 2D array of embeddings for each document.
*/
embedDocuments(documents: string[]): Promise<number[][]>;
}