[AI]-(第1期):OpenAI-API调用

在这里插入图片描述

文章目录

    • 一、OpenAI API中使用GPT-3.5-turbo模型
      • 充值方式
      • 使用模型
      • 计费方式
      • 价格说明
      • 相关限制和条款
    • 二、接入一个OpenAI API流程
      • 1. 获取OpenAI API 密钥
      • 2. 集成ChatGPT到小程序
      • 3. 处理用户输入
      • 4. 调用OpenAI API
      • 5. 返回回复至小程序
      • 6. 持续优化
      • 7. Postman请求示例
    • 三、通用AI客服机器人的开发流程
      • 1. 定义业务需求和目标
      • 2. 选择合适的技术平台
      • 3. 收集和整理数据
      • 4. 训练 AI 模型
      • 5. 开发和测试
      • 6. 集成到业务系统
      • 7. 发布和推广
      • 8. 持续改进和优化
    • 参考

一、OpenAI API中使用GPT-3.5-turbo模型

充值方式

  1. OpenAI账户注册:首先需要在OpenAI官方网站注册一个账户。
  2. API密钥获取:注册后,你需要获取API密钥,用于调用OpenAI API。
  3. 充值账户:在OpenAI账户中,你可以选择充值你的账户,通常通过信用卡或其他在线支付方式进行支付。

使用模型

  1. 选择GPT-3.5-turbo模型:在调用OpenAI API时,你需要明确选择使用GPT-3.5-turbo模型。
  2. 指定引擎和模型:在API调用时,需要明确指定使用GPT-3.5-turbo模型,以及相应的引擎参数。

计费方式

  1. 按调用次数计费:OpenAI API的使用通常按照调用次数进行计费,即每次使用API调用都会产生费用。
  2. 按调用时长计费:有些情况下,OpenAI API的使用也可能按照调用时长进行计费,具体取决于API的使用情况和套餐。

价格说明

  1. 价格透明:OpenAI通常会提供清晰明确的价格列表,列出每种API调用的价格和费用。
  2. 费用预估:在使用API之前,你可以根据预估的调用量和频率,估算出相应的费用。

相关限制和条款

  1. 使用限制:OpenAI API的使用可能受到一些限制,例如每次调用的最大字符数、每月总调用量等。
  2. 使用条款:在使用OpenAI API之前,建议你仔细阅读相关的使用条款和服务协议,了解API的使用规则和限制。

需要注意的是,以上信息可能会根据OpenAI的政策和服务条款发生变化,建议你在使用API之前仔细阅读最新的价格和使用说明。

虽然你付费调用API(充值最少$5),但是还是会有一些限制,以GPT-3.5-turbo为例子:

MODELTOKEN LIMITSREQUEST AND OTHER LIMITSBATCH QUEUE LIMITS
gpt-3.5-turbo40,000 TPM3 RPM 200 RPD200,000 TPD
  • TPM/TPD、RPM/TPD: 表示 tokens per minute or day(TPM/TPD)每分钟/每天的token数、 requests per minute or day (RPM/RPD)每分钟/每天的请求数
  • MODEL (模型): gpt-3.5-turbo 表示制定了具体的模型
  • TOKEN LIMITS(每个请求的最大token数限制) :“最大40,000 TPM” 意味着在使用 GPT-3.5-turbo 模型时,API可以在一分钟内处理的token数量最多为 40,000。这意味着你可以向模型发送多达 40,000 个token的文本,而API能够在一分钟内返回模型的回复。
  • REQUEST AND OTHER LIMITS(请求和其他限制): 每分钟/每天请求次数限制:OpenAI API 可能会限制每个用户或每个API密钥在一分钟内可以发出的请求次数。如果超过了这个限制,可能会收到请求被拒绝的错误消息。
  • BATCH QUEUE LIMITS(批量队列限制):每天对批量的队列请求的限制

二、接入一个OpenAI API流程

要在小程序中使用ChatGPT实现客服机器人,你可以按照以下步骤进行:

1. 获取OpenAI API 密钥

首先,你需要注册OpenAI账号并获取API密钥。然后,你可以使用这个密钥来调用OpenAI的文本生成API。

2. 集成ChatGPT到小程序

你可以通过HTTP请求或WebSocket等方式将小程序与OpenAI API连接起来。根据你的实际需求选择合适的集成方式。

3. 处理用户输入

在小程序中,你可以设置一个输入框,让用户输入问题或者需要咨询的内容。当用户发送消息后,将消息发送到你的服务器端进行处理。

4. 调用OpenAI API

在服务器端,接收到用户的消息后,你可以调用OpenAI的API来生成回复。将用户的消息作为输入,调用API后得到的文本作为回复。

5. 返回回复至小程序

将生成的回复文本发送回小程序,并在聊天界面显示给用户。

6. 持续优化

根据用户的反馈和使用情况,不断优化ChatGPT的模型和对话逻辑,提高机器人的智能程度和回复质量。

以下是一个简单的示例代码(假设你已经完成了小程序前端的开发,这里只展示后端服务器端的代码):

import openai
from flask import Flask, request, jsonify# 设置OpenAI API密钥
openai.api_key = 'YOUR_OPENAI_API_KEY'app = Flask(__name__)@app.route('/chat', methods=['POST'])
def chat():user_input = request.json['message']# 调用OpenAI API生成回复response = openai.Completion.create(engine="text-davinci-003",prompt=user_input,max_tokens=150)bot_reply = response.choices[0].text.strip()return jsonify({'reply': bot_reply})if __name__ == '__main__':app.run(debug=True)

7. Postman请求示例

postman请求
请求地址:http://127.0.0.1:5000/chat
方式:POST
请求头:Content-Type:application/json
数据:raw {"message":"hello,who are you ?"}---
curl -X POST -H "Content-Type: application/json" --data '{"message":"hello,who are you ?"}' http://127.0.0.1:5000/chat返回结果核心内容:openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs:https://platform.openai.com/docs/guides/error-codes/api-errors.报错是因为我的API没有Token额度了       

在这个示例中,我们使用Flask作为后端框架,创建了一个简单的API接口 /chat,当收到POST请求时,调用OpenAI API生成回复,并返回给客户端。

你需要根据自己的实际需求和业务逻辑进行适当的调整和扩展。同时,要确保保护用户隐私和数据安全,遵循相关的法律法规和隐私政策。

三、通用AI客服机器人的开发流程

要开发一款适合自己业务的 AI 机器人,你可以按照以下步骤进行:

1. 定义业务需求和目标

首先,明确你的业务需求和目标。确定你的 AI 机器人的主要功能和用途,以及它应该解决的问题和提供的服务。

2. 选择合适的技术平台

根据你的业务需求和目标,选择合适的技术平台和工具来开发 AI 机器人。常见的技术平台包括 OpenAI、Google Dialogflow、Microsoft Bot Framework 等。

3. 收集和整理数据

准备好用于训练 AI 模型的数据。根据你的业务需求,收集和整理相关的文本数据、语料库、知识库等。数据的质量和数量对于 AI 模型的训练非常重要。

4. 训练 AI 模型

使用选择的技术平台和工具,利用准备好的数据来训练 AI 模型。根据你的业务需求和数据特点,选择合适的模型架构和训练算法进行训练。

5. 开发和测试

根据业务需求和训练好的模型,开发 AI 机器人的应用程序。编写代码实现机器人的功能,并进行测试和调试,确保机器人的稳定性和准确性。

6. 集成到业务系统

将开发好的 AI 机器人集成到你的业务系统中,让它可以与用户进行交互并提供服务。根据需要,在网站、应用程序、社交媒体等渠道上添加机器人的接入点。

7. 发布和推广

发布和推广你的 AI 机器人,让用户知道它的存在并开始使用。可以通过宣传、广告、推送消息等方式来推广机器人,并持续改进和优化机器人的功能和性能。

8. 持续改进和优化

根据用户反馈和使用情况,持续改进和优化你的 AI 机器人。收集用户反馈并进行分析,不断优化机器人的功能、对话流程和性能,以提升用户体验和满意度。

以上是一个通用的开发流程,你可以根据自己的业务情况和技术能力进行调整和扩展。如果你需要更详细的技术支持或定制化方案,建议你聘请专业的 AI 开发团队或咨询专家来协助实现。

参考

  • [openapi-api调用模型限额](ht tps://platform.openai.com/settings/organization/limits)
  • openai
  • api-errors
  • Prompt Engineering Guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/13150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

43k Star!推荐一款功能强大的开源笔记软件!

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

每日学习 - APK解包

文章目录 APK的定义解析APKAPK 是什么每个文件的意义classes.dexAndroidManifest.xmlassetslibres & resources.arsc 反编译工具apktool apk解包 秒了~ APK的定义 APK(Android Package Kit)是用于部署和分发Android操作系统上应用程序的软件包格式。…

pytest教程-47-钩子函数-pytest_sessionfinish

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_sessionstart钩子函数的使用方法,本小节我们讲解一下pytest_sessionfinish钩子函数的使用方法。 pytest_sessionfinish 钩子函数在 Pytest 测试会话结束时调用,…

自然语言处理通用框架BERT原理解读

相关代码见文末 1.概述 问题背景: 传统Seq2Seq模型的局限性: 早期的机器翻译和文本生成任务常采用基于循环神经网络(RNN)的序列到序列(Seq2Seq)模型,这类模型在处理长序列时容易遇到梯度消失/爆炸问题,导致训练效率低,难以捕捉长期依赖。 RNN网络的问题: RNN及其变…

中国农业大学:学硕11408复试线上涨40分,今年还会持续涨吗?中国农业大学计算机考研考情分析!

中国农业大学(China Agricultural University),简称“中国农大”,坐落于中国首都北京,由中华人民共和国教育部直属,中央直管副部级建制,水利部、农业部和北京市共建,位列国家“双一流…

【PostgreSQL支持中文的全文检索插件(zhparser)】

PostgreSQL本身是支持全文检索的,提供两个数据类型(tsvector,tsquery),并且通过动态检索自然语言文档的集合,定位到最匹配的查询结果。其内置的默认的分词解析器采用空格进行分词,但是因为中文的词语之间没…

Vue3:分类管理综合案例实现

综合案例 实现分类管理功能 路由 在main.js中引入router 访问根路径’/后跳转到布局容器 加载布局容器后重定向到’/nav/manage’ 加载我们需要的组件 这样可以在布局容器中切换功能模块时,只对需要修改的组件进行重新加载 const router createRouter({history: create…

APP封装后防止破解的全方位策略

移动应用开发完成后,封装(编译打包)是发布前的重要步骤。然而,一旦APP发布,就可能面临被逆向工程破解的风险,从而导致源代码泄露、数据被盗取等严重后果。 本文将介绍一系列实用的策略和技术,帮…

邦注科技 工业冷水机的风冷和水冷的区别介绍

工业冷水机在工业生产中扮演着重要角色,特别是在需要精确控制温度的应用中。风冷式冷水机和水冷式冷水机是两种常见的类型,它们之间存在一些显著的区别。 热交换的来源不同: 风冷式冷水机:热交换的来源是气体。它采用空气冷却方…

STL——vector容器【动态数组】

vector基本概念 功能&#xff1a;vector数据结构和数组非常相似&#xff0c;也成为单端数组 头文件&#xff1a;<vector> vector与普通数组的区别&#xff1a;不同之处在于数组是静态空间&#xff0c;而vector可以动态扩展 动态扩展&#xff1a; 并不是在原空间之后续…

代理IP与网络隐私

随着科技的发展&#xff0c;越来越多的人开始享受网络的便利&#xff0c;人们逐步在社交媒体上分享自己的生活。这些公开信息是可以被所有人浏览观看的&#xff0c;但是也会存在部分隐私信息我们并不想要被人知晓&#xff0c;这就牵扯到网络隐私保护问题。 代理IP对于网络隐私保…

链接表存储图(C++注释详解): 构建表 深度优先遍历 (DFS)

链接表的结构体单元: #define size 100 typedef struct node {int idx;//下一个节点的索引int wt;//权重, 也可根据实际情景存储边的信息struct node* next; }Node; Node* hd[size]; // 存储图的邻接表 链接表的的构建: int main() {int n, m;cin >> n >> m; //…

【2024系统架构设计】回顾历史,查缺补漏篇 ③

前言 hello,大家好: 💡💡💡 我们一起来备考软考高级系统架构设计师吧,本专栏提供综合知识、案例科目、论文(论点和部分示例范文)等内容,包括知识点总结和记忆小妙招哦。 🚀🚀🚀 可以减少资料查找和收集的时间,提高效率,我们一起集中精力学习干货吧! 💡…

iOS 创建pch文件

1.参考链接&#xff08;xcode8添加方法&#xff0c;之前的跟这个差不多&#xff09;&#xff1a; 参考链接 2.自我总结&#xff1a; &#xff08;1&#xff09;创建pch文件: 注意点&#xff1a;1&#xff09;注意选中所有的targets&#xff08;看图明义&#xff09; 2&…

Android系统不同版本存储权限

一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储&#xff08;读写&#xff09;权限&#xff0c;除了在AndroidManifest.xml文件里声明&#xff0c;app运行时也要动态申请使用对应的权限 提醒&#xff1a;应用私有存储不需要动态申请权…

基于Java的飞机大战游戏的设计与实现(论文 + 源码)

关于基于Java的飞机大战游戏.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89313362 基于Java的飞机大战游戏的设计与实现 摘 要 现如今&#xff0c;随着智能手机的兴起与普及&#xff0c;加上4G&#xff08;the 4th Generation mobile communication &#x…

欧拉公式的讲解

啊&#xff0c;哈喽&#xff0c;小伙伴们大家好。我是#张亿&#xff0c;今天呐&#xff0c;学的是欧拉公式 在不同的学科中有着不同的含义和应用。在复变函数中&#xff0c;欧拉公式表述为e^(ix)(cos xisin x)&#xff0c;其中e是自然对数的底&#xff0c;i是虚数单位&#x…

Java 自然排序和比较器排序区别?Comparable接口和Comparator比较器区别?

注&#xff1a;如果你对排序不理解&#xff0c;请您耐心看完&#xff0c;你一定会明白的。文章通俗易懂。建议用idea运行一下案例。 1&#xff09;自然排序和比较器排序的区别&#xff1f; 自然排序是对象本身定义的排序规则&#xff0c;由对象实现 Comparable 接口&#xff…

Tomcat无法连通的调试方法1-service方式无法连通

作者&#xff1a;私语茶馆 1.局域网Tomcat服务不通 组网如下&#xff1a; 问题&#xff1a; Tomcat Server 服务方式启动后&#xff0c;无法访问&#xff0c;但命令行方式启动可以。IP地址都在同网段或不同网段现象都一样。 2.Tomcat 服务安装与调试 在Windows下&#xff0c;…

计算机系列之排序算法

20、排序算法 1、直接插入排序&#xff08;这里以从小到大排序为例&#xff09; ◆要注意的是&#xff0c;前提条件是前i-1个元素是有序的&#xff0c;第i个元素依次从第i-1个元素往前比较&#xff0c;直到找到一个比第i个元素值小的元素&#xff0c;而后插入&#xff0c;插入…