ChatGPT实践-构建简单的AI聊天机器人(python)

这篇具有很好参考价值的文章主要介绍了ChatGPT实践-构建简单的AI聊天机器人(python)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文指导如何通过调用OpenAI的API完成一个简单的聊天机器人。

背景知识

API介绍

我们可以通过任何语言的 HTTP 请求、官方 Python 、 Node.js 库或社区维护的库与 ChatGPT的API 进行交互,官方API文档:

API Reference - OpenAI API (可自行去查看)

所以python是有现成包用的,会比调用原始的HTTP请求容易一些,python包:

openai/openai-python: The official Python library for the OpenAI API

本文使用Python编程语言完成一个简单的AI聊天机器人。

一次简单的调用

如果要调用ChatGPT的API其实非常简单,只需要几行代码,像下面这样:

import openai

openai.api_key = "替换为你的key"
openai.api_base = "如果走绕路这里填写对应的服务商的网址"

response = openai.ChatCompletion.create(
    model='gpt-3.5-turbo',
    messages=[
        {'role': 'user', 'content': 'hello.'},
    ],
    temperature=1,  # 控制模型输出的随机程度
)
# 打印ChatGPT的回复
print(response.choices[0].message["content"])

运行后可以看到如下打印:

Hello! How can I assist you today?

一次调用就完成了。

几种消息的介绍

上面的messages参数中有一个role关键字,它有3中类型,对应3中消息,这里介绍一下:

系统消息

在ChatGPT的客户端聊天窗口是看不到系统消息的,这个是API中才有的,主要是给开发人员使用的。

系统消息主要用来设置聊天机器人的角色和行为,相当于给它一些默认的指令。

用户消息

就是你在聊天窗口发的内容,称为「用户消息」,

助手消息

就是ChatGPT发给你的内容,称为「助手消息」。

代码

来看看一个简单的完成的AI聊天机器人的代码:

import openai

openai.api_key = "替换为你的"
openai.api_base = "如果走绕路这里填写对应的服务的网址"

def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0):
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=temperature,  # 控制模型输出的随机程度
    )
    return response.choices[0].message["content"]

context = [
    # 上下文中定义一个系统角色,告诉ChatGPT他是一个友好的助手,后面的回复它都会是一个非常友好的态度
    {'role': 'system', 'content': 'You are a friendly assistant.'},
]

def chat_to_bot(prompt):
    # 我们发送的信息角色是user
    context.append({'role': 'user', 'content': f"{prompt}"})
    response = get_completion_from_messages(context)
    # 注意这里,需要将先前的内容一并发给ChatGPT
    # ChatGPT返回回来得消息的角色是assistant
    context.append({'role': 'assistant', 'content': f"{response}"})
    return f'Bot: {response}'

if __name__ == '__main__':
    while True:
        user_input = input("You: ")
        print(chat_to_bot(user_input))

代码解释:

  • 定义了一个get_completion_from_messages函数,该函数向 OpenAI API 发送一系列消息并获取响应。 messages 参数是消息对象的列表,每个对象都有一个“角色”(可以是“系统”、“用户”或“助理”)和“内容”(消息的内容) 。 “温度”参数控制模型输出的随机性。

  • context 定义了对话的初始上下文,告诉模型它正在扮演友好助手的角色。

  • chat_to_bot此函数向聊天机器人发送消息并获取其响应。它将用户的消息和机器人的响应添加到对话上下文中,因此每次对话后都会更新上下文。

  • 主循环中,它反复要求用户输入,将该输入发送到聊天机器人,并打印聊天机器人的响应。对话无限期地继续,直到程序被手动停止。

运行的结果是这样的:

You: hi
Bot: Hello! How can I assist you today?
You: What did I say in the previous sentence?
Bot: In the previous sentence, you said "hi".
You:

可以看到它知道上下文,可以一直对话下去。

注意:每一次API调用都是独立的,要让机器人理解上下文(context),那么每次API调用都需要将之前的聊天内容全部发过去。可以看到,当对话越来越长的时候,对token的消耗非常大,这是LLM的一个特点。文章来源地址https://www.toymoban.com/news/detail-707078.html

到了这里,关于ChatGPT实践-构建简单的AI聊天机器人(python)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《花雕学AI》34:用13种Prompt玩转AI聊天机器人—揭秘ChatGPT模型

    引言: 聊天机器人是一种能够通过自然语言进行交流的智能系统,它可以模仿人类的对话方式,提供各种信息、服务或娱乐。随着人工智能技术的发展,聊天机器人的应用越来越广泛,从电商、教育、医疗、旅游等领域,到社交、游戏、文学等领域,都可以看到聊天机器人的

    2024年02月05日
    浏览(50)
  • 基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人

    参考: GitHub - mayooear/gpt4-pdf-chatbot-langchain: GPT4 LangChain Chatbot for large PDF docs 使用新的GPT-4 api为多个大型PDF文件构建chatGPT聊天机器人。 使用的技术栈包括LangChain, Pinecone, Typescript, Openai和Next.js。LangChain是一个框架,可以更容易地构建可扩展的AI/LLM大语言模型应用程序和聊天机器

    2024年02月11日
    浏览(47)
  • 基于Llama2和LangChain构建本地化定制化知识库AI聊天机器人

    参考: 本项目 https://github.com/PromtEngineer/localGPT 模型 https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML 云端知识库项目:基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人_Entropy-Go的博客-CSDN博客          相比OpenAI的LLM ChatGPT模型必须网络连接并通过API key云端调用模型,担心

    2024年02月08日
    浏览(58)
  • ChatGPT使用拓展资料:AI大模型之美 -客户服务、聊天机器人和情感分析

    本文将介绍一款基于OpenAI API的人工智能(AI)应用程序,该应用程序可以用于客户服务、聊天机器人和情感分析等任务。该应用程序使用Python编程语言和OpenAI API实现,可以自动化回答用户的问题,并根据用户的输入生成智能响应。 OpenAI是一家致力于人工智能研究的公司,其

    2024年02月13日
    浏览(48)
  • 不会编程也能搭建聊天机器人?ChatGPT + Notion AI助你一臂之力!

    体验链接:Aitrend ChatBot (无需环境,无需账号,打开即用,完全免费,回答能力同ChatGPT) 背景介绍 本文主要谈关于如何使用ChatGPT(实际使用主力工具为Notion AI),应用官方API接口,搭建一个完整的聊天机器人。 本文的核心目的不是教会读者如何去搭建一个机器人,而是学会

    2024年02月12日
    浏览(41)
  • 探索ChatGLM-LLaMA-chinese:新一代AI聊天机器人与多语言建模的创新实践

    项目地址:https://gitcode.com/27182812/ChatGLM-LLaMA-chinese-insturct 在人工智能领域,语言模型的进步不断刷新我们的认知。今天,我们将深度剖析一个令人瞩目的开源项目——ChatGLM-LLaMA-chinese,它是一个基于阿里云大模型的多语言聊天机器人,具有丰富的功能和高度的可定制性。 Chat

    2024年04月11日
    浏览(53)
  • ChatGPT提示词指令大全调教指南,6个网站让你轻松玩转AI聊天机器人!

    ChatGPT 的火热程度大家都看在眼里。很多人都想知道 : 要想用好 ChatGPT 需要什么 Prompt 提示词、提问模板 经常想“要怎么才能让ChatGPT更好的回答问题” ? 其实 ChatGPT 的操作一点也不难 我觉得甚至不用特别专业的指导就可以去掌握它 你就当他是一个真人 然后和他对话就行了

    2024年02月06日
    浏览(61)
  • 聊天机器人意图构建与反馈收集

    聊天机器人意图构建与反馈收集 随着越来越多的企业投入到聊天机器人项目,如何管理日益复杂的聊天机器人成为行业的一个挑战。构建一个聊天机器人变得越来越容易,但项目中出现问题也变得越发普遍,特别是在意图(intent)架构不恰当时。 不恰当意图架构引发的问题 聊

    2024年04月12日
    浏览(39)
  • Azure Machine Learning - 聊天机器人构建

    本文介绍如何部署和运行适用于 Python 的企业聊天应用示例。 此示例使用 Python、Azure OpenAI 服务和 Azure AI 搜索中的检索扩充生成(RAG)实现聊天应用,以获取虚构公司员工福利的解答。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理

    2024年01月19日
    浏览(51)
  • 使用LangChain构建问答聊天机器人案例实战(三)

    使用LangChain构建问答聊天机器人案例实战 LangChain开发全流程剖析 接下来,我们再回到“get_prompt()”方法。在这个方法中,有系统提示词(system prompts)和用户提示词(user prompts),这是从相应的文件中读取的,从“system.prompt”文件中读取系统提示词(system_template),从“u

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包