The ChatSession
class is used to make multiturn send message requests. You can instantiate this class by using the startChat
method in the GenerativeModel
class. The sendMessage
method makes an async call to get the response of a chat message at at once. The sendMessageStream
method makes an async call to stream the response of a chat message as it's being generated.
Package
@google-cloud/vertexaiConstructors
(constructor)(request, requestOptions)
constructor(request: StartChatSessionRequest, requestOptions?: RequestOptions);
Constructs a new instance of the ChatSession
class
Parameters | |
---|---|
Name | Description |
request |
StartChatSessionRequest
|
requestOptions |
RequestOptions
|
Properties
requestOptions
protected readonly requestOptions?: RequestOptions;
Methods
getHistory()
getHistory(): Promise<Content[]>;
Returns | |
---|---|
Type | Description |
Promise<Content[]> |
sendMessage(request)
sendMessage(request: string | Array<string | Part>): Promise<GenerateContentResult>;
Makes an async call to send chat message.
The response is returned in GenerateContentResult.response.
Parameter | |
---|---|
Name | Description |
request |
string | Array<string | Part>
send message request. |
Returns | |
---|---|
Type | Description |
Promise<GenerateContentResult> |
Promise of GenerateContentResult. |
const chat = generativeModel.startChat();
const result1 = await chat.sendMessage("How can I learn more about Node.js?");
console.log('Response: ', JSON.stringify(result1.response));
const result2 = await chat.sendMessage("What about python?");
console.log('Response: ', JSON.stringify(result2.response));
sendMessageStream(request)
sendMessageStream(request: string | Array<string | Part>): Promise<StreamGenerateContentResult>;
Makes an async call to stream send message.
The response is streamed chunk by chunk in StreamGenerateContentResult.stream. The aggregated response is avaliable in StreamGenerateContentResult.response after all chunks are returned.
Parameter | |
---|---|
Name | Description |
request |
string | Array<string | Part>
send message request. |
Returns | |
---|---|
Type | Description |
Promise<StreamGenerateContentResult> |
Promise of StreamGenerateContentResult. |
const chat = generativeModel.startChat();
const chatInput = "How can I learn more about Node.js?";
const result = await chat.sendMessageStream(chatInput);
for await (const item of result.stream) {
console.log(item.candidates[0].content.parts[0].text);
}
const response = await result.response;
console.log('aggregated response: ', JSON.stringify(result.response));