简单写了一下关于文本生成接口的调用,其余更多的调用方法可在官网查看
import os
from dotenv import load_dotenv, find_dotenv
from openai import OpenAI
import httpx
def gpt_config():
# 为了安全起见,将key写到当前项目根目录下的.env文件中
# find_dotenv() 寻找并定位 .env 文件的路径
# load_dotenv() 读取该 .env 文件,并将其中的环境变量加载到当前的运行环境中
_ = load_dotenv(find_dotenv())
api_key = os.environ.get("OPENAI_API_KEY")
# 使用httpx设置代理
proxy = ''
proxies = {'http://': proxy, 'https://': proxy}
http_client = httpx.Client(proxies=proxies, verify=True)
openai_client = OpenAI(api_key=api_key, http_client=http_client)
return openai_client
def gpt_response(client, prompt, user_input, temperature, max_tokens):
"""
:param client:gpt客户端
:param prompt:system的prompt
:param user_input:用户输入问题
:param temperature:回答的随机性,取值范围0-1
:param max_tokens:模型输出的最大token 数。prompt和模型回复结果的总token 数
:return:
"""
response = client.chat.completions.create(
model="gpt-4o", # 模型名称
messages=[
{"role": "system", "content": prompt},
{"role": "user", "content": user_input}
],
temperature=temperature,
max_tokens=max_tokens
)
assistant_response = response.choices[0].message.content
return assistant_response
if __name__ == '__main__':
prompt = '你是一个乐于助人的人工智能小助手'
user_input = '太阳有多大'
temperature = 0
max_tokens = 2048
client = gpt_config()
res = gpt_response(client, prompt, user_input, temperature, max_tokens)
print(res)