• 如何使用 Python 集成 ChatGPT API
  • 发布于 2个月前
  • 431 热度
    0 评论
OpenAI 推出 ChatGPT API
最近几天,OpenAI 推出 ChatGPT API,允许任何企业将 ChatGPT 技术集成到它们的应用程序、网站、产品和服务中。这次的 ChatGPT API 是由 OpenAI 极受欢迎的 ChatGPT AI 模型提供支持,该模型被称为“gpt-3.5-turbo”。GPT-3.5 是目前 OpenAI 通过其 API 套件提供的最强大的文本生成模型。

这次 ChatGPT API 最主要有哪些特点?
1.调用成本大幅度降低,该 API 的价格为每 1,000 次调用 0.002 美元,调用成本降低了 90%。
2.企业客户专用容量计划,为客户提供更深入的控制,它允许客户支付计算基础设施的分配来运行OpenAI模型,例如gpt-3.5-turbo,通过 Azure 托管的 API 很可能带有非常精细的管理,比如可以按区域按国家部署。

3.聊天标记语言 (ChatML),ChatML 将文本作为消息序列以及元数据一起提供给 ChatGPT API。这与标准的 ChatGPT 相反,后者将原始文本表示为一系列令牌。例如,单词“fantastic”将被拆分为令牌“fan”、“tas”和“tic”,以及为了防止安全漏洞和滥用途径即时注入攻击,作为开发者,您可以更有效地防范这些种类的攻击(使用角色:System,assistant,user等权限)。


使用Python集成ChatGPT API
好了,废话就不多说了,我们来看看如何使用 Python 集成 ChatGPT API。
1、获取 API 密钥
请先登录 OpenAI 的网站,如果您不是使用免费版,则需要添加一张信用卡进行付费。之后,请进入个人资料部分(右上方),并点击“查看 API 密钥”。

在 OpenAI 个人资料部分,点击“创建新的密钥”,并保存好您的密钥,您之后需要使用它。

2、安装 pip 包
现在,安装 openai 包
pip install --upgrade openai
准备工作完成,我们开始编写代码

3、一个简单的请求
如果您想要发起一个简单的请求,您需要导入 openai 包,并通过传递模型 ID 和消息列表来调用
openai.ChatCompletion.create 方法。
#堆代码 duidaima.com
# main.py
import openai
openai.api_key = "你的Key"
chat_completion = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        # system message first, it helps set the behavior of the assistant
        {"role": "system", "content": "You are a helpful assistant."},
        # I am the user, and this is my prompt
        {"role": "user", "content": "What's the best star wars movie?"},
        # we can also add the previous conversation
        # {"role": "assistant", "content": "Episode III."},
    ],
)
print(chat_completion.choices[0].message.content)
messages 是一个字典列表,包含 role 和 content 两个键。role 可以是 system,用于设置聊天机器人的行为;user 表示与聊天机器人进行交互的用户(也就是我们自己);assistant 则表示聊天机器人本身。在 content 中,我们放置我们的文本内容。

官方文档:
https://platform.openai.com/docs/guides/chat?utm_medium=email&_hsmi=248334739&utm_content=248334739&utm_source=hs_email
运行以上代码将会看到如下输出:

ChatGpt的回复:

As an AI language model, I do not have personal opinions or preferences. However, many people consider "The Empire Strikes Back" to be the best Star Wars movie due to its engaging storyline, iconic characters, and memorable twists.


对应中文翻译:
作为一个人工智能语言模型,我没有个人意见或偏好。不过,许多人认为《星球大战:帝国反击战》是最好的《星球大战》电影,因为它具有引人入胜的故事情节、标志性的角色以及难以忘怀的情节转折。

4、创建聊天客户端
我们可以更进一步,创建一个可以在终端中运行的小型交互式聊天应用。
import openai
import os
#堆代码 duidaima.com
openai.api_key = "你的Key"
messages = [
# 系统消息应该在最前面,它有助于设定助手的行为
{"role": "system", "content": "You are a helpful assistant."},
]
while True:
message = input("‍: ")
if message:
# 检查用户是否想退出程序
if message.lower() in ["exit", "quit"]:
break
messages.append(
{"role": "user", "content": message},
)
chat_completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo", messages=messages
)
# get the reply
reply = chat_completion.choices[0].message.content
print(f": {reply}")
messages.append({"role": "assistant", "content": reply})
接下来我们运行下程序体验下,如下截图所示:

太棒了,是不是很神奇,你可以用这个客户端运行ChatGPT提问简单的问题。

结束
今天的内容就分享到这里,感兴趣的话,大家可以尝试下,希望今天的分享对你有所帮助,感谢你的阅读

用户评论