分类
标签
ACG AI ai blog Blogging chatgpt chrome clickhouse cloki Customization Demo discuss Example Fuwari game gin git gitalk golang grafana ilogtai index jwt k8s kubectl mac Markdown mazeball metrics mysql PC Privacy Policies prometheus scurity siri software sqlite thanos twikoo vercel Video Windows yaml zookeeper 企划 动漫 实用 容器化 应用部署 技术 日常 智能插座 杂谈 游戏 游戏开发 源码研究 绘图 编程 聊天 运维 集群 音乐
378 字
2 分钟
Chatgpt的API入门
chatgpt.py
import openai
from PIL import Image
import requests
class AI:
def __init__(self):
# 可以不需要指定api_base,用默认的就好了,前提是网络通,默认需要翻墙
self.api_base = "https://XXX/api/v1"
self.api_key = "sk-XXX"
def chat(self,prompt,msg):
openai.api_base = self.api_base
openai.api_key = self.api_key
chat_completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages = [
# 系统消息,它有助于设置助手的行为
{"role": "system", "content": prompt},
# 用户消息,输入你的问题吧
{"role": "user", "content": msg},
# 我们还可以添加以前的对话,但你需要用while true循环把之前的消息也发送过去,很费token
# {"role": "assistant", "content": messages},
],
)
response = chat_completion.choices[0].message.content
print(response)
return
def image(self,prompt):
openai.api_base = self.api_base
openai.api_key = self.api_key
image_completion = openai.Image.create(
#提示要生成什么样的图片
prompt=prompt,
#数量
n=1,
#大小
size="512x512"
)
image_url = image_completion['data'][0]['url']
r = requests.get(image_url)
with open('test.png', 'wb') as f:
f.write(r.content)
img = Image.open('test.png')
img.show()
return
main.py
from service.chatgpt import AI
import json
def main():
with open('data.json', "r", encoding="utf-8") as f:
msg = json.dumps(json.load(f))
prompt = "你现在是一个告警AI机器人,我会发送过去24小时的告警数据统计信息给你,请生成日报,要有时间范围、告警总数、TOP5告警,告警级别、告警分析、告警建议"
ai = AI()
ai.chat(prompt,msg)
if __name__ == "__main__":
main()
收费:官方是 0.002 美刀/1000token,但是使用api必须把账号升级为付费账号,也就说要绑定国外的信用卡,很麻烦,目前只能用depay这种虚拟信用卡充USD来实现,或者用国内的一些代理之类的了,希望以后有更方便的方法吧。
参考:官方API文档