这里使用的API是中转的。因此需要加一个base_url。
首先,需要用到的库。
import os
from openai import OpenAI
from docx import Document
from dotenv import load_dotenv, find_dotenv
os是用来设置和获取环境变量的,docx是用来创建word文档的(这里要注意,在install的时候,记得安装python-docx库,docx库太旧了,其中没有Document函数。)。OpenAI是用来创建聊天实例的。
记得加载环境变量。
然后环境变量.env文件设置。
BASE_URL="https://api.pumpkinaigc.online/v1"
OPENAI_API_KEY = '你的key'
这里我将调用GPT,并且获得输出文本的代码封装在一起,输入是prompt(也可以自行设置其它关于GPT的参数),输出是回复的文本。
def get_gpt_response(prompt):
"""
调用GPT并获取回答的文本
参数:
prompt (str): 要发送给GPT模型的提示
model (str): 使用的GPT模型,默认"gpt-4"
temperature (float): 温度,默认为0.7
max_tokens (int): 最大生成的token数,默认为4096
"""
client = OpenAI(
api_key=openai_api_key, # 可以省略
base_url=base_url
)
completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": prompt,
}
],
model="gpt-4") # 或者其他模型
response=completion.choices[0].message.content
print(response)
return response
将回复的文本保存为word文档。
def save_text_to_word(text, filename):
"""
将文本保存为Word文档
参数:
text (str): 要保存的文本
filename (str): 保存的Word文档文件名
"""
doc = Document()
doc.add_heading('GPT-4 Response', level=1)
doc.add_paragraph(text)
doc.save(filename)
print(f"响应内容已保存到 {filename}")
使用。
# 示例用法
if __name__ == "__main__":
prompt = "你的prompt。"
gpt_response = get_gpt_response(prompt)
print(gpt_response)
save_text_to_word(gpt_response, 'gpt_response.docx')