有没有办法检查 C# Google Gemini 的聊天会话是否“打开”?

问题描述 投票:0回答:1

每次按下按钮时,都会启动新会话,并且会忘记之前的聊天。 如何解决这个问题?

下面是单击按钮时使用的代码(使用我自己的api):

async private void Button1_Click(object sender, EventArgs e)
{
var apiKey = Environment.GetEnvironmentVariable("Gemini_API_Key", EnvironmentVariableTarget.User);
var modaal = new GenerativeModel(apiKey);
var chate = modaal.StartChat(new StartChatParams());
var resolt = await chate.SendMessageAsync("Write poetry");
Console.WriteLine(resolt);
}

如果我尝试使用循环或 goto 向前跳一步,则会收到错误消息:使用未分配的局部变量“chate”。

c# google-gemini
1个回答
0
投票

看起来你已经有了它,所以每次你按下按钮时,它都会创建一个新模型,更重要的是,以空历史记录开始聊天。

您可能希望将

modaal
chate
变量设为全局变量(或至少在按钮处理程序的范围之外),并在应用程序启动时创建它们。然后按下按钮应该发送消息并处理回复。

我不完全确定您正在使用的库,但只要您不创建新会话,它就可能会存储历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.