秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  278 随笔 :: 0 文章 :: 308 评论 :: 20万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
deepseek(只要接口兼容OpenAI接口的都可以使用这个方法)只需在messages一并提交上次返回的历史记录就可以:
复制代码
procedure TLargeModelFrm.LoadLargeModelAPI(question,urls,APIkey,modelName:string);
var
  JSONRequest: TJSONObject;
begin
  if RequestBody<>nil then
    RequestBody.Free;
  RequestBody := TStringStream.Create('', TEncoding.UTF8);
  JSONRequest := TJSONObject.Create;

  try
    // 构建请求 JSON
    JSONRequest.Add('model', modelName);
    JSONRequest.Add('stream', true);
    JSONRequest.Add('messages',
      TJSONArray.Create([
        TJSONObject.Create(['role', 'assistant', 'content', assistantStr]), //一并提交上次对话历史记录
        TJSONObject.Create(['role', 'user', 'content', question])
      ]));
    JSONRequest.Add('temperature', 0.7);

    // 设置请求头和 URL
    RequestBody.WriteString(JSONRequest.AsJSON);

    //启用多线程提交查询的问题
    FHTTPThread := THTTPThread.Create(urls+'/v1/chat/completions',APIkey, RequestBody);
    FHTTPThread.OnStreamData := @HandleStreamData;//接收返回的答案

  finally
    JSONRequest.Free;
  end;
end;
复制代码


 

 

posted on   秋·风  阅读(100)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示