使用ChatGPT和 Delphi 。使用OpenAI库:https://github.com/HemulGM/DelphiOpenAI它支持流,但我不能弄清楚ChatGPT机制的流.我可以创建一个聊天,并获得所有数据在一个返回消息.然而,当我尝试使用流,我得到一个错误.下面的控制台代码工作正常.我提交我的聊天,我得到整个答案在一个“事件”.我想作为ChatGPT网站相同的行为,这样标记就会在生成时显示出来。我的代码如下...
var buf : TStringlist;
begin
...
var Chat := OpenAI.Chat.Create(
procedure(Params: TChatParams)
begin
Params.Messages([TChatMessageBuild.Create(TMessageRole.User, Buf.Text)]);
Params.MaxTokens(1024);
// Params.Stream(True);
end);
try
for var Choice in Chat.Choices do
begin
Buf.Add(Choice.Message.Content);
Writeln(Choice.Message.Content);
end;
finally
Chat.Free;
end;
这段代码工作。当我尝试打开流,我得到EConversionError '输入值不是一个有效的Object',这导致ChatGPT返回'空或无效响应'。任何想法赞赏。
1条答案
按热度按时间r7xajy2e1#
因为在这种模式下,它在这种情况下不是用json对象来响应,而是用它自己的特殊格式来响应。
我可以开始为图书馆设计这样的模式。