开发OpenAI对话工具的细节问题

看到很多用OpenAI开发对话功能的例子,发现都存在问题,影响了产品的效果。所以写了这篇短文,希望对大家有帮助。

调用过程中,不携带上下文信息

绝大多数外面开放的聊天对话产品,都没有携带上下文信息,一般代码如下:

import openai
import os

# 从OpenAI网站上获取API密钥
openai.api_key = os.environ["OPENAI_API_KEY"]

# 设置模型ID
model_engine = "text-davinci-003"

# 设置要提问的问题
question = "你的问题"

# 调用OpenAI的chat函数
response = openai.Completion.create(
    engine=model_engine,
    prompt=(f"Q: {question}\nA:"),
    max_tokens=1024,
    n=1,
    stop=None,
    temperature=0.7,
)

# 输出答案
print(response.choices[0].text.strip())

看出这段代码的问题没有?完全没有携带对话的上下文信息,这样会导致每个聊天对话都是独立的,你想延续上文继续进行对话,发现根本不是你要的结果。

了解了这些,聪明的你肯定知道应该如何写携带上下文的正确的代码了,大致代码如下:

import openai
import os

# 从OpenAI网站上获取API密钥
openai.api_key = os.environ["OPENAI_API_KEY"]

# 设置模型ID
model_engine = "text-davinci-003"

# 设置要提问的问题
question = "这次的问题"

# 调用OpenAI的chat函数
response = openai.Completion.create(
    engine=model_engine,
    prompt=(f"Q:上几次聊天的内容\nA:上几次Chat GPT的回答。\nQ: {question}\nA:"),
    max_tokens=1024,
    n=1,
    stop=None,
    temperature=0.7,
)

# 输出答案
print(response.choices[0].text.strip())

你可以根据实际情况,传递多少次对话的上下文进去。

当然了,传递的越多,token会消耗越多,价格也越贵。建议选择一个合适的对话次数即可。

欢迎更多的朋友参与讨论(OpenAI交流区)如何使用OpenAI进行产品开发。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值