200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Java实现AI机器人聊天

Java实现AI机器人聊天

时间:2019-08-17 01:37:03

相关推荐

Java实现AI机器人聊天

文章目录

前言一、账号注册申请密钥二、参数详情三、Java集成1.调用接口2.响应数据 四、效果总结

前言

OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或实现代码等场景。提供一系列具有不同学习训练的模型,适用于处理不同的任务,并且自己能够自定义学习模型,通过大样本数据去喂养该模型,使其能实现自己的应用场景。这些模型可用于从内容生成到语义搜索和分类的所有领域。

一、账号注册申请密钥

openai获取密钥

二、参数详情

models:模型,其包含Davinci, Curie, Babbage 和 Ada等子模型,每个子模型的功能不尽相同prompt:生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。tokens:文本长度限制,要求输入和输出的文本总长度不能超过各模型限定的Tokens长度temperature:温度,使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。控制结果随机性,0.0表示结果固定,随机性大可以设置为0.9topP:一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的标记。frequencyPenalty:-2.0 和 2.0 之间的数字。正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。presencePenalty:-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。stop:API 将停止生成更多令牌的最多 4 个序列。返回的文本将不包含停止序列。n:为每个提示生成多少完成。stream:是否以流方式返回输出

三、Java集成

1.调用接口

这边就以流的方式接收结果

// 调用接口 /v1/completions// 请求头:Authorization: Bearer + KEY// 参数:Map<String, Object> param = new HashMap<>();param.put("model", "text-davinci-003");param.put("prompt", text);param.put("max_tokens", 2048);param.put("temperature", 0);param.put("frequency_penalty", 0);param.put("presence_penalty", 0);param.put("stream", true);param.put("stop", CollectionUtil.newArrayList("\n"));

2.响应数据

// text/event-stream//设置推送内容类型为事件流response.setContentType("text/event-stream");//消息流编码格式response.setCharacterEncoding("utf-8");// 将收到的流数据返回给前端显示

四、效果

问答示例效果:

后端运行实时接收与推送数据:

总结

效果还是不错的,可以接入AI聊天机器人~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。