我用Python轻松玩转ChatGPT的聊天机器人和AI画画
创始人
2024-05-23 13:19:36

ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。用户只需注册一个OpenAI账号和申请一个api_key就可供开发人员使用,并且可以与各种编程语言(如 JavaScript、Python 等)集成。

DALL-E 是 OpenAI 开发的一种生成式预训练转换器 (GPT) 模型,可以根据文本描述生成图像。它在文本和图像数据集上进行训练,使其能够理解两者之间的关系并生成与给定文本描述相匹配的图像。该 API 可供开发人员使用,并且可以与各种编程语言(如 JavaScript、Python 等)集成。

这里要说明一些OpenAI的账号注册目前看来在国内无法注册,但是可以想一些变通的方法或者让国外的亲朋好友帮你注册和申请api_key,只要拿到api_key就可以在国内调用ChatGPT机器人模型和AI画画模型了:

聊天机器人API接口参数说明

  • model:模型名词
  • prompt:您对机器人提出的问题
  • temperature:自定义模型的行为的参数,该参数控制生成文本的随机性级别。较高的temperature会导致更多变化且可能不太连贯的响应,而较低的temperature会产生更可预测且可能更连贯的响应
  • max_tokens:应答语句的长度

下面我们介绍一下通过python来开发一个基于windows命令行窗口的简单实用的ChatGPT的聊天小程序。首先我们需要在命令行中安装openai包:

pip install openai

接下来可以开始编写基于windows命令行窗口的聊天程序chat.py:

import openai
import os
os.system('')#注册的api_key
openai.api_key = "sk-xxxxxxxxxx"
def get_answer(question):response = openai.Completion.create(model="text-davinci-003",prompt=question,temperature=0.5, max_tokens=1024 )    return response.choices[0].textdef ask_question():flag=Truegreeting="\033[1;31m我是ChatGPT聊天机器人,我可以回答您的任何问题!如果您想退出,请输入:quit\033[0m"print()print(greeting)print()while(flag==True):question = input()if(question!='quit'):answer=get_answer(question)answer = answer[2:]print()print(f"\033[1;31m机器人:{answer}\033[0m")print()else:flag=Falseprint()print("\033[1;31m机器人:后会有期,bye!\033[0m")   ask_question()

接下来我们将chat.py文件拷贝到 d:\ ,然后我们在windows命令行中执行该聊天程序:

python d:\chat.py

下面是我和机器人之间的有趣对话:

 

 

 

 DALL-E 的AI画画 API接口参数说明

  • model:用于图像生成的 DALL-E 模型。
  • prompt:你想要用来生成图像的文本提示
  • response_format:响应的格式 - 在本例中为“url”。
  • n: 生成的图片数量,默认为1
  • size :生成的图片尺寸 256×256,512×512,1024×1024

import openai
from PIL import Image
from io import BytesIO
import requests as req#注册的api_key
openai.api_key="sk-jWpXXXXXXXXXX" #用来生成图像的文本提示
prompt="一只坐在椅子上仰望星空的猫" 
#生成图像
response=openai.Image.create(prompt=prompt,n=3,model="image-alpha-001",size="512x512",response_format="url") #第一张图片
image_rul=response["data"][0]["url"]
res=req.get(image_rul)
Image.open(BytesIO(res.content))

 

#第二张图片
image_rul=response["data"][1]["url"]
res=req.get(image_rul)
Image.open(BytesIO(res.content))

 

#第三张图片
image_rul=response["data"][2]["url"]
res=req.get(image_rul)
Image.open(BytesIO(res.content))

 小结

ChatGPT聊天机器人相对来说效果比较好,机器人知识面比较广,几乎没有回答不出来的问题,甚至可以替你编写代码,但是缺点是机器人只能针对当前问题做出回答,无法参考上下文的内容来准确回答问题,比如如果你多次问机器人的姓名,机器人会每次都给出不同的姓名,而且有时候机器人会给出明显错误的回答。个人感觉ChatGPT最大的优点是知识面比较广就像一本百科全书它什么都知道,但是结合上下文的能量比较差,还远远无法做的像真人那样和人类互动。

DALL-E是openai的一个AI绘画模型,该模型稍显稚嫩,和目前业界比较成熟的AI绘画模型相比还有所差距。DALL-E的绘画效果还比较粗糙,画面缺少美感,物体的形状轮廓都不是很理想,所以该模型还有很大的提升空间。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...