ChatGPT — 用例

ChatGPT API,由OpenAI提供支持,为开发人员提供了先进的自然语言处理和生成功能的访问权限。它能够将ChatGPT的对话型人工智能集成到各种应用程序、网站和数字产品中,同时保持HTML的结构不变。

在本文中,我们可以在几种使用情况下集成ChatGPT。

配置:

前往https://platform.openai.com/api-keys创建一个用于集成的API密钥。这与https://chat.openai.com/不同,我们将在Mendix中构建类似的东西。

在某些 API 中,我们需要使用组织 ID,您可以通过 https://platform.openai.com/account/organization 找到它。

在Mendix中,创建一个用于存储令牌(token)的实体。为了使文章易于理解,我将不验证令牌是否存在。我们也不会在每次使用时进行加密和解密。

右键点击配置实体,然后选择“生成概览页面”。它会快速生成概览和新建编辑表单。

将此概述表单放置在导航中。

然后你将会拥有一个像这样的页面。

案例1:用户消息提示与聊天会话历史。

在 Mendix 中创建这些实体来处理聊天会话。

在主页中,我们可以设计访问多个页面,这些页面可以为ChatGPT提供不同的场景。

对于聊天和响应,我们可以通过REST API集成Mendix应用程序。

ChatGPT获取答案的终端URL是:

https://api.openai.com/v1/chat/completions

标题的认证已包含在其中:

主体JSON可以在JSON映射中设置。

{ "model": "gpt-3.5-turbo", "messages": [{ "role": "assistant", "content": "让 x 等于 2 ,让 y 等于 3。计算 x + y x 和 y 的和是多少。计算 x * y。将 y 除以 x。" }], "temperature": 0.7 }

导出映射 json:

并且返回将是这种JSON格式:

{ "id": "chatcmpl-8rFnMiZVBYTMJXlYZrg2sPIXEyU3z", "object": "chat.completion", "created": 1707702792, "model": "gpt-3.5-turbo-0613", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "x和y的和是5。\n\n要计算x * y,我们将2和3相乘,得到6。\n\n要将y除以x,我们将3除以2,得到1.5。" }, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 42, "completion_tokens": 52, "total_tokens": 94 }, "system_fingerprint": null}

导入映射json:

在ChatSession_Overview中,按照以下所示的设计页面:

1- 可以创建一个新的聊天会话。

2- 聊天会话列表。点击删除图标可以删除每个项目。

3- 用户与ChatGPT之间的历史记录。

4- 用户创建的提示消息。发送按钮将触发一个微流程,调用Post方法发送到ChatGPT。

我们将在发送操作上进行更多讨论。保留历史记录的概念是将整个问题和答案发送给ChatGPT以及一条新消息。这样做可以让ChatGPT继续从之前的问题和答案中学习,否则信息将无法相关联。

1- 检索配置。

2- 检查消息内容不为空。

3-创建一个新的字符串变量,以收集本次会话中的所有问题和答案。

4-检索属于此聊天会话的历史记录。

5- 检查历史记录列表是否为空。

6-循环遍历列表,将问题和答案添加在一起。

7- 定义一个端点URL。

8- 通过POST方法创建导出映射数据与JSON主体匹配。

最重要的就是在页面内容上:整个历史记录+新消息内容。

9- 发起POST方法

终端点URL:'https://api.openai.com/v1/chat/completions'

帖子标题

提交请求

帖子回应

10- 提取结果。

11- 创建角色值字符串。

12- 创建 ChatGPT 值字符串。

13- 循环获取回复角色和内容(ChatGPT回答)。

14- 将向聊天记录中添加新的消息内容。这个新的聊天记录不会有一个角色。

15- POST方法的响应消息将添加到聊天记录中,并以“助手”的身份显示。

16-最后一步是清除消息内容。

演示1:数学专家

Demo 2: 生成产品描述

示例3:简化文本

https://youtu.be/tGEAF1WxDI8 的中文字幕如下: "大家好,欢迎来到这个教程。今天我将向您展示如何翻译英文文本为简体中文。让我们开始吧!"

案例2:生成图像。

这个服务的终点 URL 是 https://api.openai.com/v1/images/generations。

在Mendix应用程序中创建两个实体。一个用于输入字符串,另一个用于生成图片。

设计一个类似下面图像的页面。

1- InputContent将是一个字符串,您希望dall-e-3为您生成一张图片。

2- 生成图像按钮将将输入的字符串作为提示用于POST生成服务。

3-删除全部按钮只是清理所有生成的图像。

4- 一个生成图像的列表。

在POST方法上的Json请求体。

导出映射。

成功执行POST方法后的JSON响应。

导入映射结果。

现在我们继续构建生成图像的微流程。

1- 检索配置。

2- 检查输入字符串不是空的。

3- 创建一个端点URL。

4- 创建输入映射对象。

5- 调用POST方法。

帖子标题

发出请求

发帖回复

6- 提取响应对象的第一层。

7- 从步骤6中提取数据列表。

8- 创建图像URL字符串。

9- 循环获取URL字符串并将值更新到步骤8的变量中。

10- 创建对象图像生成

11- 使用社区Java动作将图像URL转换为Mendix对象图像。

12- 清空输入字符串。

13- 刷新生成图像对象。

14- 显示成功消息。

演示:图像生成。

资源:

请访问以下链接以查看英文文本的简体中文译文: https://github.com/tonytbn/TBN-ChatGPT

2024-02-13 04:31:36 AI中文站翻译自原文