以下是基于 Python 调用目前最新的 OpenAI 的 API 的方法:
首先,我们提供了一个 Python 库,您可以按如下方式安装:
$ pip install openai
安装后,可以使用绑定和 API Key 运行以下命令:
import os
import openai
# Load your API key from an environment variable or secret management service
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Completion.create(model="text-davinci-003",prompt="Say this is a test",temperature=0,max_tokens=7)
绑定还将安装一个命令行实用程序,您可以按如下方式使用:
$ openai api completions.create -m text-davinci-003 -p"Say this is a test"-t 0 -M 7 --stream
ChatGPT 基于 OpenAI 最先进的语言模型 gpt-3.5-turbo。使用 OpenAI 的 API,您可以使用 gpt-3.5-turbo 构建您自己的应用来做以下事情:
这个指引说明了如何调用基于聊天的语音模型的 API并分享了一些能获取到更好结果的技巧。您也可以体验新的OpenAI 在线编辑器的聊天格式。
另外,在当地时间 6 月 13 日,OpenAI 发布函数调用及其他 API 更新。现在开发人员可以向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象。这是一种更可靠地将 GPT 的能力与外部工具和 API 连接起来的新方法。传送门:Function calling and other API updates 官网有很详细的例子。
我们提供了一个Python库,你可以按如下方式安装:$ pip install openai安装后,可以使用绑定(the bindings)和API Key运行以下命令:import os import openai # Load your API key from an environment variable or secret management service openai.api_key = os.getenv("OPENAI_API_KEY")response = openai.Completion.create(model="text-davinci-003",prompt="Say this is a test",temperature=0,max_tokens=7)绑定(the bindings)还将安装一个命令行实用程序,你可以按如下方式使用:$ openai api completions.create -m text-davinci-003 -p"Say this is a test"-t 0 -M 7 --stream
[ChatGPT](https://chat.openai.com/chat)基于OpenAI最先进的语言模型gpt-3.5-turbo。使用OpenAI的API,你可以使用gpt-3.5-turbo构建你自己的应用来做这些事情:起草一份邮件或者其他文字内容写Python代码回答关于一组文档的问题创建会话代理(conversational agents)给你的软件提供一个自然语言的接口辅导各种学科语言翻译假扮成游戏中货其他内容的角色这个指引说明了如何[调用基于聊天的语音模型的API](https://platform.openai.com/docs/api-reference/chat)并分享了一些能获取到更好结果的技巧。你也可以体验新的[OpenAI在线编辑器的聊天格式](https://platform.openai.com/playground?mode=chat)。
可以发现为了让ChatGPT返回符合要求的JSON格式,prompt的定制就尤为重要和复杂。好消息是,在当地时间6月13日,OpenAI发布函数调用及其他API更新。现在开发人员可以向gpt-4-0613和gpt-3.5-turbo-0613描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的JSON对象。这是一种更可靠地将GPT的能力与外部工具和API连接起来的新方法。传送门:[Function calling and other API updates](https://openai.com/blog/function-calling-and-other-api-updates)官网有很详细的例子,这里就不再描述代码了。我用本文案例总结大致流程:有个好处是不需要让ChatGPT生成SQL了,减少SQL注入的风险。本地写一个函数执行this.app.mysql.select(table,condition),根据GPT返回的函数名、参数(字段和where)来查询数据,更为安全。但这个方法又有局限性,事先定义函数查询不如SQL查询来的灵活,所以这里也可以让函数改为SQL查询this.app.mysql.query(sql),GPT的函数调用改为:getSqlQuery(sql:string),函数名getSqlQuery,参数:sql,更为灵活。总结:让GPT与函数调用结合,本地控制返回JSON格式,prompt的定制更为简单,AI的输出更为可控。根据实际业务需求采用函数查询或SQL查询,值得一试!