在本教程中,我们将通过示例解释如何在 Python 中使用 ChatGPT API。

访问 ChatGPT API 的步骤

请按照以下步骤访问 ChatGPT API。

  1. 访问OpenAI Platform。

    使用您的 Google、Microsoft 或 Apple 帐户进行注册。地址为:

    https://platform.openai.com/

  2. 创建帐户后,下一步是生成秘密 API 密钥以访问 API。

    API 密钥如右所示 –sk-xxxxxxxxxxxxxxxxxxxx

  3. 如果你的电话号码之前未与任何其他 OpenAI 帐户关联,可能会获得免费积分来测试 API。

    否则需要在你的帐户中添加至少 5 美元,费用将根据使用的使用情况和型号类型而定。

    具体还可以查看OpenAI 网站上的定价详细信息。

  4. 现在,就可以使用下面的代码调用 API。


访问 ChatGPT API 的 Python 代码

步骤 1:要安装 OpenAI Python 库,请运行以下命令:pip install openai

第 2 步:输入你的 API 密钥,并在下面代码的参数中os.environ["OPENAI_API_KEY"] =输入你想要询问的问题。

prompt


import os
import openai

# Set API Key
os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxxxxxxxxxxxxxxxx"
openai.api_key = os.getenv("OPENAI_API_KEY")

def chatGPT(prompt,
model="gpt-3.5-turbo",
temperature = 0.7,
top_p=1
):
error_message = ""
try:
response = openai.ChatCompletion.create(
model = model,
messages = [{'role': 'user', 'content': prompt}],
temperature = temperature,
top_p = top_p
)

except Exception as e:
error_message = str(e)

if error_message:
return "An error occurred: {}".format(error_message)
else:
return response['choices'][0]['message']['content']

# Run Function
print(chatGPT("efficient way to remove duplicates in python. Less verbose response."))

模型参数中,可以输入gpt-3.5-turbogpt-4-turbogpt-4,指向各自的最新模型版本。

ChatGPT 自定义指令

如果希望 ChatGPT 在提供响应时使用一些高级指令。

也就是说,希望 ChatGPT 了解你的哪些信息以提供响应。例如,你希望模型“像语言专家一样行事,并用外行人的术语提供响应”。可以system_instruction在下面的代码中的参数中输入指令。

# System Message
def chatGPT(prompt,
system_instruction=None,
model="gpt-3.5-turbo",
temperature = 0.7,
top_p=1
):
error_message = ""
try:
messages = [{'role': 'user', 'content': prompt}]
if system_instruction:
messages.insert(0, {'role': 'system', 'content': system_instruction})

response = openai.ChatCompletion.create(
model = model,
messages = messages,
temperature = temperature,
top_p = top_p
)

except Exception as e:
error_message = str(e)

if error_message:
return "An error occurred: {}".format(error_message)
else:
return response['choices'][0]['message']['content']

# Run Function
print(chatGPT(prompt = "who are you and what do you do?",
system_instruction = "You are Janie Jones, the CEO of Jones Auto."))

如何像 ChatGPT 官网一样交谈

ChatGPT 网站会记住之前的对话,同时提供当前问题的答复。例如:你问“2+2”,它回答“4”。然后你问诸如“它的平方是多少”之类的后续问题,它会返回“16”。所以它会记住之前的“2+2”响应。

默认情况下,ChatGPT API 不会记住之前的对话。但是,我们可以通过在每个 API 请求中向 ChatGPT API 提供之前的问题和响应,让 ChatGPT API 记住之前的对话。


# ChatGPT Chat
import os
import openai
os.environ['OPENAI_API_KEY'] = "sk-xxxxxxxxxxxxxxxxxxxxxxx"
openai.api_key = os.getenv("OPENAI_API_KEY")


chatHistory = []
def chatGPT_chat(prompt, modelName="gpt-3.5-turbo", temperature=0.7, top_p=1):
params = {
"model": modelName,
"temperature": temperature,
"top_p": top_p
}

chatHistory.append({"role": "user", "content": prompt})

response = openai.ChatCompletion.create(
**params,
messages=chatHistory
)

answer = response["choices"][0]["message"]["content"].strip()
chatHistory.append({"role": "assistant", "content": answer})
<br style="margin: 0px; padding: 0px; outline-style: initial; outline-width: 0px; max-width: 100%;

Keyword: Claude

Leave a Reply