1. OpenAI api简介
OpenAI api是一种开放的应用程序编程接口,通过这个接口,开发者可以访问OpenAI开发的chatgpt模型。chatgpt api是OpenAI api中的一个具体实现,它基于chatgpt模型提供了人工智能服务接口。通过chatgp api,开发者可以构建各种对话应用程序,如聊天机器人、虚拟助手等,提高应用程序的自然语言处理能力。
OpenAI提供了两种相似但又不同的api分别是Chatcompletion和Completion。Chat Completion的底层模型是gpt-3.5和gpt-4.0,而Completion的底层模型是text-davinci-003。那么在实际开发中应该选择哪个接口呢?
OpenAI的官方建议使用gpt-4或gpt-3.5-turbo中的一个,可根据使用这些模型的任务复杂程度来选择。一般来说,gpt-4在各种评估中表现更好。特别是,gpt-4更擅长仔细遵循复杂的指令。相比之下,gpt-3.5-turbo更有可能只遵循复杂多部分指令中的一部分。与gpt-3.5-turbo相比,gpt-4更不容易编造信息,这被称为“幻觉”行为。此外,gpt-4的上下文窗口更大,最多可以包含8192个标记,而gpt-3.5-turbo只有4096个标记。但是,gpt-3.5-turbo的输出延迟较低,并且每个标记的成本要低得多。所以在开发中可以首选ChatCompletion这个接口,本文都是基于ChatCompletion这个接口来介绍的。
2. OpenAI接口的基本收费标准
OpenAI的接口收费标准主要分为两种情况,一种是针对网页版会话的普通用户,一种是通过api调用模型的开发者。对于开发者,OpenAI api调用费用的核心计算方式是基于“token”的数量。这里的“token”指的是分解单元,中文大致等同于一个词。需要注意的是,OpenAI会根据用户存储的信息和使用量进行收费。例如,chatgpt提供了一定数量的api调用额度,如果超出套餐额度,则需按照每100万个api调用收费2美元的费用标准进行计费,所以在平时的调用中要注意token的使用量。
下图是OpenAI官方给出的gpt-3.5 Turbo和gpt-4的API调用收费标准(数据获取时间为2023年11月1日):
二、chatgpt api接口使用
要调用chatgpt api接口,您需要完成以下几个步骤:
1. 注册OpenAI账号并获得api密钥(api key可以在OpenAI官网的api keys处获取)。
注意:记得在拿到api key之后要自己保存好,因为在官网上这个api key只能显示一次,之后是没办法再查询和复制的。同时记得要在Billing里面设置好银行卡来确定付款方式,不然没办法成功调用api。
2. 选择合适的编程语言:根据您的需求和应用场景,选择合适的编程语言(如Python、JavaScript、Java等)进行api调用。
3. 安装必要的库或模块:根据所选编程语言,安装必要的库或模块,以便在代码中发起HTTP请求。
4. 编写代码:根据官方文档配置api请求参数,如输入文本、生成文本长度等。在代码中加入您的api密钥,以进行身份验证。
5. 发起api请求:运行编写好的代码,发起api请求。成功调用后,chatgpt将返回相应的结果,如生成的文本或情感分析结果等。
6. 处理api响应:对api返回的结果进行处理,将其集成到您的应用、网站或服务中。
以下是使用Python调用chatgpt api接口的简单示例:
import openai
# Basic chatting
messages = [
{“role”: “system”, “content”: “You give very short answers”},
{“role”: “user”, “content”: “How are you today today?”},
]
openai.api_key = OPENAI_API_KEY
response = openai.ChatCompletion.create(
model=GPT_MODEL,
messages=messages
)
print(response)
简单说明一下,messages主要包含用户对于gpt的指示以及提出的问题,其中role:system指的是给gpt的system prompt,这包含了用户对于GPT回复的总体要求,在这个例子中要求gpt以尽可能短的方式来回答提出的问题(主要是为了减少tokens的使用量,省钱)。而role:user则代表我们向GPT所提出的问题或者目标,这里就简单地向gpt问好。
将模型和messages定义好之后使用ChatCompletion来生成回复,之后得到的返回结果如下:
{
”id”: “chatcmpl-84cWIIkggMl6kl48XeZQJBNv4wLar”,
”object”: “chat.completion”,
”created”: 1696112074,
”model”: “gpt-3.5-turbo-0613”,
”choices”: [
{
”index”: 0,
”message”: {
”role”: “assistant”,
”content”: “I am fine.”
},
”finish_reason”: “stop”
}
],
”usage”: {
”prompt_tokens”: 22,
”completion_tokens”: 4,
”total_tokens”: 26
}
}
gpt会返回一个JSON格式的对象,其中包含了调用的基本信息如ID,模型以及api类型,同时也包含了回复的信息以及token的使用情况。其中gpt的回复在choices的messages中,可以使用response[“choices”][0][“message”][“content”]来提取信息。
三、注意事项
在使用chatgpt api接口时,需要注意以下几点:
1.优化输入:为了获得最佳效果,需要根据您的需求精心设计输入提示。明确指示您希望获得的回答或建议,以提高生成的文本质量。
2.处理输出:在处理api的响应时,注意检查输出文本的质量和可用性。您可以通过预处理和后处理步骤优化输出,例如过滤敏感内容、删除无关信息等。
3.限制使用:由于api访问权限可能受到限制,需要密切关注您的api使用情况,以确保不超出配额。您可以通过api控制台查看调用次数、使用量、错误率等统计数据。根据这些数据,可以优化应用程序的性能和api的使用效率。
4.错误处理:在开发过程中,务必确保妥善处理api可能返回的错误。例如,请求超时、无效的api密钥等。为应对这些错误,您可以设计相应的异常处理机制,提高程序的稳定性。
5.保持更新:由于ChatGPT可能会进行更新和优化,建议您定期关注官方发布的更新信息,以便及时了解新功能和性能改进。同时,也需注意api版本变更可能带来的兼容性问题。
四、chatgpt api接口的应用场景
chatgpt api可用于各种应用场景,包括但不限于:
聊天机器人:通过chatgpt api,开发者可以构建智能的聊天机器人,实现自然、流畅、智能的对话。
虚拟助手:将chatgpt api集成到虚拟助手应用中,可以帮助用户解答问题、提供建议等。
智能客服:利用chatgpt api提供高效的客服支持,回答用户的问题和解决问题。
文本分析:通过chatgpt api对文本进行分析,例如情感分析、实体识别等。