一架梯子,一头程序猿,仰望星空!
OpenAI开发教程 > 内容正文

OpenAI 知识问答系统开发


1.基于OpenAI实现知识问答

通过OpenAI实现知识问答有两种方式:

2.问答Prompt

我们先看看问答相关的Prompt提示语怎么写,怎么调教AI

Q: 什么是蝙蝠侠?
A: 蝙蝠侠是一个虚构的漫画人物。

Q: 什么是torsalplexity?
A: 未知。

Q: 什么是Devz9?
A: 未知。

Q: 谁是乔治·卢卡斯?
A: 乔治·卢卡斯是美国电影导演和制片人,以创建《星球大战》而闻名。

Q: 加利福尼亚州的首府是什么?
A: 萨克拉门托。

Q: 绕地球的是什么?
A: 月亮。

Q: 弗雷德·里克森是谁?
A: 未知。

Q: 什么是原子?
A: 原子是组成一切的微小粒子。

Q: 阿尔万·蒙茨是谁?
A: 未知。

Q: 什么是Kozar-09?
A: 未知。

Q: 火星有几个卫星?
A: 两个,分别是火卫一和火卫二。

Q: 什么是语言模型?
A:

说明:问答提示语(Prompt),通过给出一个问答例子,Q代表问题,A代表回答,告诉AI如何回答问题,最后一个A留空,意思就是让AI接着回答问题。

AI回答内容:

语言模型是一种计算机程序,用于预测一段文本中下一个词或字符的可能性。它可以基于历史文本数据来学习语言规律和模式,从而生成新的文本或者进行文本分类、翻译、自动摘要等自然语言处理任务。

3.API请求参数

JSON请求参数如下

{
  "model": "text-davinci-003",
  "prompt": "Q: 什么是蝙蝠侠?A: 蝙蝠侠是一个虚构的漫画人物。Q: 什么是torsalplexity?A: 未知。Q: 什么是Devz9?A: 未知。Q: 谁是乔治·卢卡斯?A: 乔治·卢卡斯是美国电影导演和制片人,以创建《星球大战》而闻名。Q: 加利福尼亚州的首府是什么?A: 萨克拉门托。Q: 绕地球的是什么?A: 月亮。Q: 弗雷德·里克森是谁?A: 未知。Q: 什么是原子?A: 原子是组成一切的微小粒子。Q: 阿尔万·蒙茨是谁?A: 未知。Q: 什么是Kozar-09?A: 未知。Q: 火星有几个卫星?A: 两个,分别是火卫一和火卫二。Q: 什么是语言模型?A:",
  "temperature": 0
}

参数说明:

  • model 使用那个模型
  • prompt 提示语
  • temperature 是一种用于控制生成文本多样性的超参数,取值 0-2,取值越低,代表多样式越低,选择0,基本上每次返回的结果都一样,如果取值越大,每次返回的结果可能都不一样

API请求例子

curl https://api.openai.com/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
  "model": "text-davinci-003",
  "prompt": "Q: 什么是蝙蝠侠?A: 蝙蝠侠是一个虚构的漫画人物。Q: 什么是torsalplexity?A: 未知。Q: 什么是Devz9?A: 未知。Q: 谁是乔治·卢卡斯?A: 乔治·卢卡斯是美国电影导演和制片人,以创建《星球大战》而闻名。Q: 加利福尼亚州的首府是什么?A: 萨克拉门托。Q: 绕地球的是什么?A: 月亮。Q: 弗雷德·里克森是谁?A: 未知。Q: 什么是原子?A: 原子是组成一切的微小粒子。Q: 阿尔万·蒙茨是谁?A: 未知。Q: 什么是Kozar-09?A: 未知。Q: 火星有几个卫星?A: 两个,分别是火卫一和火卫二。Q: 什么是语言模型?A:",
  "temperature": 0
}'

关联主题