ChatGPT AI聊天机器人实践

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: ChatGPT AI聊天机器人实践

背景

ChatGPT 时代,开发新的 AI 应用的门槛大大降低了,你无需要去研究机器学习,深度学习等等模型,还有去准备GPU硬件,再新的趋势下,伴随着 GPT-3、Stable Diffusion 这样预训练好的大型基础模型的出现,以及这些模型的能力通过开放 API 的形式提供出来,即使没有任何机器学习的理论知识,你只需要一两天时间,就能做出一个能解决实际问题的 AI 应用。

API

大型语言模型的接口其实非常简单,像 OpenAI 就只提供了 Complete 和 Embedding 两个接口,其中,Complete 可以让模型根据你的输入进行自动续写,Embedding 可以将你输入的文本转化成向量。

业务描述

以前实现聊天机器需要套模板。这个的缺点,就是每次的回答都一模一样。当然,我们可以设计多个模版轮换着表达相同的意思,但是最多也就是三四个模版,整体的体验还是相当呆板。

有了 GPT 这样的生成式的语言模型,我们就可以让 AI 自动根据我们的需求去写文案了。只要把我们的需求提给 Open AI 提供的 Completion 接口,他就会自动为我们写出这样一段文字。

ChatGPT 参数

Open AI 提供的 Completion 接口 ,参数列表:

  • engine,OpenAI 使用哪一个引擎,选择text-davinci-003
  • prompt,输入的提示语
  • max_tokens,调用生成的内容允许的最大 token 数量,token 是分词之后的一个字符序列里的一个单元。
  • n,AI 给你生成几条内容供你选择,在这样自动生成客服内容的场景里,我们当然设置成 1。
  • stop,模型输出的内容在遇到什么内容的时候就停下来。

实现


import logging
import openai
from telegram import Update
from telegram.ext import filters, MessageHandler, ApplicationBuilder, CommandHandler, ContextTypes

# 设置日志记录
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO)

# 设置 OpenAI API key
openai.api_key = "你的Open AI Key"

# 定义函数,处理 "/start" 命令
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(chat_id=update.effective_chat.id, text="我是一个机器人,请和我聊天吧!")

# 定义函数,使用 OpenAI 生成回复
async def generate_response(update: Update, context: ContextTypes.DEFAULT_TYPE):
    # 获取用户的消息
    message = update.message.text

    # 使用 OpenAI 生成回复
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=f"{message}\n",
        max_tokens=128,
        n=1,
        stop=None,
        temperature=0.5,
    ).choices[0].text

    # 将回复发送给用户
    await context.bot.send_message(chat_id=update.effective_chat.id, text=response)

# 定义函数,处理未知命令
async def unknown(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await context.bot.send_message(chat_id=update.effective_chat.id, text="抱歉,我不明白您的命令。")

if __name__ == '__main__':
    # 设置 Telegram 机器人
    application = ApplicationBuilder().token('你的Telegram Token').build()

    # 添加 "/start" 命令处理器
    start_handler = CommandHandler('start', start)
    application.add_handler(start_handler)

    # 添加消息处理器,使用 OpenAI 生成回复
    generate_response_handler = MessageHandler(filters.TEXT & (~filters.COMMAND), generate_response)
    application.add_handler(generate_response_handler)    

    # 添加未知命令处理器
    unknown_handler = MessageHandler(filters.COMMAND, unknown)
    application.add_handler(unknown_handler)

    # 启动机器人,并等待消息的到来
    application.run_polling()
AI 代码解读
相关实践学习
阿里巴巴智能语音交互技术与应用
智能语音交互,是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等。 本课程主要讲解智能语音相关技术,包括语音识别、人机交互、语音合成等。  
目录
打赏
0
0
0
0
18
分享
相关文章
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
Omnitool 是一款开源的 AI 桌面环境,支持本地运行,提供统一交互界面,快速接入 OpenAI、Stable Diffusion、Hugging Face 等主流 AI 平台,具备高度扩展性。
326 94
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
143 62
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
工业巡检进入‘无人化+AI’时代:无人机智能系统的落地实践与未来
无人机智能巡检系统凭借高效性、智能化和精准性,解决了传统人工巡检效率低、成本高、漏检风险大的问题。该系统通过“空中机器人+AI分析”,实现多维度数据采集与分析,大幅提升巡检效率和准确性。广泛应用于能源、交通、工业等领域,助力运维模式升级,成为工业4.0时代基础设施运维的标配工具。
64 19
工业巡检进入‘无人化+AI’时代:无人机智能系统的落地实践与未来
人人都是应用开发者:AI时代的全栈产品经理实践
本文试图最短路径、最轻模式来做一个应用,实现一个需求!仅需三大步+9小步,以下为手把手教学流程。
通义灵码2.0·AI程序员加持下的智能编码实践与测评
通义灵码2.0是阿里云推出的新一代智能编程助手,集成DeepSeek模型并新增多项功能,显著提升开发效率。本文通过实际项目体验新功能开发、跨语言编程、单元测试自动生成和图生代码等功能,展示其在代码生成、质量内建和人机协作方面的优势。相比1.0版本,2.0在模型选择、代码质量和用户体验上均有显著提升。尽管存在依赖网络和多语言混合项目中的不足,但整体表现优异,极大优化了开发流程。[了解更多](https://lingma.aliyun.com/)
108 1
机器人SLAM建图与自主导航:从基础到实践
通过Gazebo平台和gmapping算法成功生成并保存了一张二维仿真环境地图,为后续的机器人自主导航实验奠定了基础。完整代码及更多细节可参考[GitHub仓库](https://github.com/Jieshoudaxue/ros_senior/tree/main/mbot_navigation/config/move_base)。
106 23
鸿蒙赋能智慧物流:AI类目标签技术深度解析与实践
在数字化浪潮下,物流行业面临变革,传统模式的局限性凸显。AI技术为物流转型升级注入动力。本文聚焦HarmonyOS NEXT API 12及以上版本,探讨如何利用AI类目标签技术提升智慧物流效率、准确性和成本控制。通过高效数据处理、实时监控和动态调整,AI技术显著优于传统方式。鸿蒙系统的分布式软总线技术和隐私保护机制为智慧物流提供了坚实基础。从仓储管理到运输监控再到配送优化,AI类目标签技术助力物流全流程智能化,提高客户满意度并降低成本。开发者可借助深度学习框架和鸿蒙系统特性,开发创新应用,推动物流行业智能化升级。
ChatGPT-on-WeChat:Star32.4k, DeepSeek加持!这款开源神器秒变AI助手,聊天体验直接起飞!
嗨,大家好,我是小华同学。今天为大家介绍一款结合DeepSeek引擎的开源项目——ChatGPT-on-WeChat,由开发者zhayujie打造。它将微信变成智能AI助手,支持文本、图片、语音对话,具备定时提醒、天气查询等扩展功能,完全开源且易于定制。项目地址:https://github.com/zhayujie/chatgpt-on-wechat。关注我们,获取更多优质开源项目和高效学习方法。
197 11
DeepSeek vs ChatGPT:AI对决中的赢家是……人类吗?
DeepSeek VS ChatGPT:DeepSeek以开源黑马姿态崛起,凭借低成本、高性能的「DeepSeek-V3」和专为深度推理设计的「DeepSeek-R1」,成为中小开发者的首选。而ChatGPT则较贵。 然而,AI依赖也带来隐忧,长期使用可能导致记忆衰退和“脑雾”现象。为此,推荐Neuriva解决方案,专注力提升30%,记忆留存率提升2.1倍,助力人类在AI时代保持脑力巅峰。 DeepSeek赢在技术普惠,ChatGPT胜于生态构建,人类的关键在于平衡AI与脑力健康,实现“双核驱动”突破极限!
244 7