当前位置: 首页 > news >正文

天津 网站策划南昌企业网站开发公司

天津 网站策划,南昌企业网站开发公司,公众号页面开发,做外贸要访问国外的网站怎么办多轮对话功能实现 视频教程实现原理消息的类型 功能开发消息类修改请求体修改发送请求函数修改用户消息输入 多轮对话的token消息完整文档消息类型 视频教程 .NetAI开发入门HttpClient实现通义千问集成-多轮对话功能实现 实现原理 一直保留更新messages 现在设置的meessages只… 多轮对话功能实现 视频教程实现原理消息的类型 功能开发消息类修改请求体修改发送请求函数修改用户消息输入 多轮对话的token消息完整文档消息类型 视频教程 .NetAI开发入门HttpClient实现通义千问集成-多轮对话功能实现 实现原理 一直保留更新messages 现在设置的meessages只设置了两条内容 system系统消息给AI设置一个角色user用户消息你提的问题 消息的类型 根据OpenAI API官网消息有以下几种类型 我们现在主要用的就三个 System Message 系统消息用于指定模型的目标或角色放在messages第一位User Message用户消息用户发送给模型的消息。Assistant Message助手消息模型对用户消息的回复。 实现的效果 messages systemxx userxxx assistantxxx userxxx assistantxxx功能开发 消息类 创建一个消息类 public class ChatMessage{public string role { get; set; }public string message { get; set; }}修改请求体 修改请求体将message内容改成一个占位字符串用于后面修改 增加一个消息集合messages 用于存储消息 ListChatMessage messages new ListChatMessage();messages.Add(new ChatMessage() { role system, content 你是一个C#高手 });修改发送请求函数 增加一个result获取流式输出的content完整内容返回完整的助手消息内容用于后续添加到messages中 private static async Taskstring SendPostRequestAsync(string url,string jsonContent,string apiKey){using (var content new StringContent(jsonContent, Encoding.UTF8, application/json)){// 发送请求并获取响应HttpResponseMessage response await httpClient.PostAsync(url, content);// 处理响应if (response.IsSuccessStatusCode){string result ;using (Stream stream await response.Content.ReadAsStreamAsync())using (StreamReader reader new StreamReader(stream, Encoding.UTF8)){string line;while ((line await reader.ReadLineAsync()) ! null){if (string.IsNullOrEmpty(line))continue;string data line.Substring(6);if (data [DONE]){//结束标志break;}var streamObject JsonSerializer.DeserializeStreamObject(data);if (streamObject.choices.Count() 0){var contentRes streamObject.choices[0].delta.content;Console.Write(contentRes);result contentRes;}if (streamObject.usage ! null){Console.WriteLine($Usage: prompt_tokens:{streamObject.usage.prompt_tokens}, completion_tokens:{streamObject.usage.completion_tokens}, total_tokens:{streamObject.usage.total_tokens});}Thread.Sleep(200);}Console.WriteLine();}return result;// return await response.Content.ReadAsStringAsync();}else{Console.WriteLine($请求失败: {response.StatusCode});return $请求失败: {response.StatusCode};}}}将httpclient设置请求头的代码拿到一开始只设置一次 修改用户消息输入 修改用户消息改成用户直接在控制台上输入输入之后再加入到消息中然后将消息集合messages序列化成字符串替换掉jsonContent里面的消息占位符messagesContent再发送出去接收到模型返回的助手消息之后将助手消息也添加到messages中去role为assistant然后下次发送这些消息累加一起再发送 while (true){Console.Write(User:);var usermessage Console.ReadLine();if (string.IsNullOrEmpty(usermessage)){continue;}if (usermessage exit){break;}var user new ChatMessage() { role user, content usermessage };messages.Add(user);var str JsonSerializer.Serialize(messages);var send jsonContent.Replace(messagesContent, str);// 发送请求并获取响应Console.WriteLine(assistant:);var result await SendPostRequestAsync(url, send, apiKey);messages.Add(new ChatMessage() { role assistant, content result });}多轮对话的token 多轮对话的token是持续累加的第二次发送的时候相当于第一次发送和返回的消息也发送了都算在第二次发送的token中 消息完整文档 以下详细内容来着OpenAI API翻译 https://platform.openai.com/docs/api-reference/chat/create 消息类型 系统消息 (System message) object content (字符串或数组) 必填 系统消息的内容。 role (字符串) 必填 消息作者的角色此处为 system。 name (字符串) 可选 用于区分相同角色参与者的可选名称。 用户消息 (User message) object content (字符串或数组) 必填 用户消息的内容。 role (字符串) 必填 消息作者的角色此处为 user。 name (字符串) 可选 用于区分相同角色参与者的可选名称。 助手消息 (Assistant message) object content (字符串或数组) 可选 助手消息的内容。除非指定 tool_calls 或 function_call否则必填。 refusal (字符串或 null) 可选 助手的拒绝消息。 role (字符串) 必填 消息作者的角色此处为 assistant。 name (字符串) 可选 用于区分相同角色参与者的可选名称。 audio (对象或 null) 可选 与助手之前的音频响应相关的数据。 id 字符串必填 唯一标识模型生成的音频响应。 tool_call (数组) 必填 模型生成的工具调用列表例如函数调用。 id 字符串必填 具调用的唯一 ID。 type 字符串必填 工具类型目前仅支持 function。 function 对象必填 模型调用的函数。 name 字符串必填 要调用的函数名称。 arguments 字符串必填 模型以 JSON 格式生成的函数调用参数。 注意模型生成的参数可能无效或者包含未在函数定义中描述的参数。建议 在调用函数之前应在代码中验证参数 function_call 已弃用 (对象 或者 null) 选填 模型生成的工具调用列表例如函数调用。 name 字符串必填 要调用的函数名称。 arguments 字符串必填 模型以 JSON 格式生成的函数调用参数。 工具消息 (Tool message) object role (字符串) 必填 消息作者的角色此处为 tool。 content (字符串或数组) 必填 工具消息的内容。 tool_call_id (字符串) 必填 对应工具调用的消息 ID。 函数消息 (Function message) 已弃用 object role (字符串) 必填 消息作者的角色此处为 function。 content (字符串或 null) 必填 函数消息的内容。 name (字符串) 必填 函数名称。
http://www.hkea.cn/news/14383905/

相关文章:

  • 如何做 试题类 网站网站建设技术员分为前端 后端
  • 本地安装网站无法连接数据库帝国cms做淘宝客网站
  • 网站建设所需的硬件设备产品推广软文
  • 网站被百度k了如何申述百度惠生活
  • 一个网站域名ip小程序云开发教程
  • 计算机网站开发与技术专业介绍网页跟网站的区别
  • 企业网站的设计与实现网页游戏手机怎么玩
  • 企业网站建设课件建设银行网站 个人客户端
  • 可以看qq空间的网站苏州 建设 公司 手机
  • 什么是竞价百度推广怎么做网站的优化
  • 网站辅助导航外贸新手怎样用谷歌找客户
  • 南阳网站托管网站推广专员的岗位职责是什么
  • 顺义企业建站费用网站开发常用语言比较
  • 百度地图关键词排名优化辽源seo
  • .net 企业网站 模版临安市建设局网站
  • 织梦网站普通地图插件pexels免费素材网站
  • 保定市建网站的公司软件开发前端
  • 做网站要学些什么软件淘宝联盟做的好的网站
  • 百度多久收录网站如何在交易网站做电子印章
  • 重庆网站建设公司夹夹虫专业百度收录查询工具
  • 高端网站制作建设国外旅游哪几个网站做攻略好
  • 网站加支付功能福州企业网站维护
  • 网站制作优化推广建网站多少
  • 建设银行企业网站银行爬取数据做网站
  • 播放swf文件 自动弹出网站谷歌外贸网站建站
  • 合肥网站建设找佳达wordpress 附件插件
  • 大连市城市建设投资集团网站南昌微信公众号制作
  • 网站备案费用多少做培训的网站
  • 无锡 学校网站建设手机套 东莞网站建设
  • 建个什么网站企业咨询公司收费标准