每次按下按钮时,都会启动新会话,并且会忘记之前的聊天。 如何解决这个问题?
下面是单击按钮时使用的代码(使用我自己的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”。
看起来你已经有了它,所以每次你按下按钮时,它都会创建一个新模型,更重要的是,以空历史记录开始聊天。
您可能希望将
modaal
和 chate
变量设为全局变量(或至少在按钮处理程序的范围之外),并在应用程序启动时创建它们。然后按下按钮应该发送消息并处理回复。
我不完全确定您正在使用的库,但只要您不创建新会话,它就可能会存储历史记录。