dr_py/py/chatgpt调用.py
2023-04-23 21:04:12 +08:00

57 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File : chatgpt调用.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date : 2023/2/7
import json
import time
# 文档地址: https://platform.openai.com/docs/api-reference/completions/create
import requests
API_KEY = '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'
AUTH = f'Bearer {API_KEY}'
def ask_chatpgt(word):
"""
问chatgpt得到答案
"""
headers = {
'Content-Type':'application/json',
'Authorization':AUTH,
}
# print(headers)
pdata = {
"model": "text-davinci-003",
"prompt": word,
"temperature": 0.9,
"max_tokens": 1000,
"top_p": 1,
"frequency_penalty": 0.0,
"presence_penalty": 0.6,
"stop": [" AI:"]
}
# print(pdata)
t1 = time.time()
ret = ''
try:
r = requests.post('https://api.openai.com/v1/completions',data=json.dumps(pdata),headers=headers)
ret = r.json()
answer = ret['choices'][0]['text']
except Exception as e:
answer = f'发生了错误:{e} {ret}'
# print(ret)
# print(answer)
t2 = time.time()
sec = round((t2 - t1)*1000,2)
print(f'共计耗时:{sec}毫秒,{answer}')
return [answer,sec]
if __name__ == '__main__':
print(ask_chatpgt('1+1等于几'))
# https://chat.openai.com/auth/login
# http://fastapi.frp.mudery.com/other_request/chatgpt
# http://spider.scwinbao.com:8274/other_request/chatgpt
# print(ask_chatpgt('假如我处于一个荒岛,现在我来扮演玩家,你来扮演电脑,你给我选项,我们玩一个荒岛求生的游戏'))
# print(ask_chatpgt('以 背影为题写一篇400字的作文'))