调用OpenAI的API后,发现比月费$20要贵.....

准备工作

环境介绍

  • Miniconda,Python,IPython,VsCode
    • 懒得介绍了
    • 环境是VsCode中的Jupyter(ipynb),需提前安装ipykernel和openai这两个包
  • 每轮输出的内容被保存至一个markdown文件中,可以下载Office Viewer(Markdown Editor)这个插件查看
# test.ipynb
from IPython.display import clear_output, Markdown, display      
from openai import OpenAI

client = OpenAI()
system_content = "你是一个精通计算机科学的工程师。请注意:输出的LaTeX公式必须用美元符号($)包围,所有代码块必须使用Markdown语法高亮显示。"

# 初始化消息列表
messages = [
    {"role": "system", "content": system_content},
]

while True:
    user_content = input("'exit' to quit: ")

    if user_content.lower() == "exit":
        break

    # 添加用户消息到消息列表
    messages.append({"role": "user", "content": user_content})

    # 每次请求前都确保系统信息在第一条
    messages_with_system = [{"role": "system", "content": system_content}] + messages

    # 创建对话完成
    completion = client.chat.completions.create(
        model="gpt-4o",
        messages=messages_with_system,
        stream=True,
    )

    response = ""

    display_str = ""  # 初始化显示字符串
    for chunk in completion:
        content = chunk.choices[0].delta.content
        if content:
            display_str += content  # 将新字符添加到字符串
            clear_output(wait=True)  # 清除之前的输出
            display(Markdown(display_str))  # 以Markdown格式显示当前字符串

    # 写入到文件中保存
    with open("openai.md", "a", encoding="utf-8") as file:
        file.write(display_str)

    # 添加新一轮的相应
    messages.append({"role": "assistant", "content": response})

环境介绍

  • 30-50条的超长语句问答(gpt-4o),大概$0.7…

在这里插入图片描述

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值