UNPKG

@firebase/vertexai

Version:
55 lines (54 loc) 2.45 kB
/** * @license * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Content, CountTokensRequest, CountTokensResponse, GenerateContentRequest, GenerateContentResult, GenerateContentStreamResult, GenerationConfig, ModelParams, Part, RequestOptions, SafetySetting, StartChatParams, Tool, ToolConfig } from '../types'; import { ChatSession } from '../methods/chat-session'; import { VertexAI } from '../public-types'; import { VertexAIModel } from './vertexai-model'; /** * Class for generative model APIs. * @public */ export declare class GenerativeModel extends VertexAIModel { generationConfig: GenerationConfig; safetySettings: SafetySetting[]; requestOptions?: RequestOptions; tools?: Tool[]; toolConfig?: ToolConfig; systemInstruction?: Content; constructor(vertexAI: VertexAI, modelParams: ModelParams, requestOptions?: RequestOptions); /** * Makes a single non-streaming call to the model * and returns an object containing a single <code>{@link GenerateContentResponse}</code>. */ generateContent(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentResult>; /** * Makes a single streaming call to the model * and returns an object containing an iterable stream that iterates * over all chunks in the streaming response as well as * a promise that returns the final aggregated response. */ generateContentStream(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentStreamResult>; /** * Gets a new <code>{@link ChatSession}</code> instance which can be used for * multi-turn chats. */ startChat(startChatParams?: StartChatParams): ChatSession; /** * Counts the tokens in the provided request. */ countTokens(request: CountTokensRequest | string | Array<string | Part>): Promise<CountTokensResponse>; }