当前位置: 首页 > news >正文

其他用户登录wordpress路由优化大师

其他用户登录wordpress,路由优化大师,网站制作 武汉,梅州建站方法theme: orange 众所周知,我们可以通过构建的Prompt获取期望的内容,但是通常都是以自然语言返回的,假如我们想得到结构化的数据,比如Json,XML那么怎么办,这篇文章给你一个思路。 理所当然的想法 要实现询问大…

theme: orange

众所周知,我们可以通过构建的Prompt获取期望的内容,但是通常都是以自然语言返回的,假如我们想得到结构化的数据,比如Json,XML那么怎么办,这篇文章给你一个思路。

理所当然的想法

要实现询问大模型后返回结构化的数据,首先能想到的是可以通过在提示末尾添加以 JSON 格式提供您的响应来进行一些“提示工程”,从而获得字符串化的 JSON。问题是这些响应通常包括错误的尾随逗号或介绍性的文字,导致中断错误。

接下来我们通过食谱应用中来实验下,用户在输入框中输入菜名,然后点击“获取食谱”。当您点击此按钮时,我们将运行 getRecipe() 函数:

``typescript function getRecipe() { // Create prompt text with user input. Include data model schema description. const prompt =return a recipe for ${userInput}. Provide your response as a JSON object with the following schema: {"dish": ${userInput}, "ingredients": ["", "", ...], "instructions": ["", "", ... ]}`; openai.createChatCompletion({ model: "gpt-3.5-turbo", messages: [ { role: "system", "content": "You are a helpful recipe assistant." }, { role: "user", content: prompt } ], }) .then((completion) => { // Handle API response const generatedText = completion.data.choices[0].message.content; setRecipe(JSON.parse(generatedText)); }) .catch((error) => { console.log(error); }); } }

```

我要求以 JSON 格式提供响应,然后即兴设计了一个模式来指示我希望如何格式化对象。该模式可以改进,但在很大程度上,它是有效的。然而,正如前面提到的,这些响应容易出现尾随逗号错误,这种非正式的模式需要更具可扩展性和易于维护。

当我使用上面的提示请求buttered toast食谱时,我收到了以下响应: ```text Here's a recipe for buttered toast in JSON format as requested:

{
"dish": "buttered toast",
"ingredients": [
"2 slices of bread",
"2 tablespoons of unsalted butter"
],
"instructions": [
"Preheat your toaster or toaster oven.",
"Place the slices of bread in the toaster or toaster oven.",
"Toast the bread for 1-2 minutes, or until it is golden brown.",
"Carefully remove the toasted bread from the toaster or toaster oven.",
"Place a tablespoon of butter on each slice of toast.",
"Use a knife to spread the butter evenly over the surface of the toast.",
"Serve immediately and enjoy!"
]
}
I hope this helps! 您可以看到响应的核心是正确的,并且非常符合我期望的结构,但这个响应包含了一个不必要的引导性介绍性文字,导致了下列的错误: shell SyntaxError: Unexpected token 'H', "Here's a r"... is not valid JSON
at JSON.parse ```

二次优化

我们可以进一步优化我们的提示以解决这些错误。我尝试添加“不要在大括号外返回响应中的任何内容。”这样做在很大程度上似乎可以消除那些引言和结论性的句子。

OpenAI API 的允许我们指定我们希望以 JSON 格式获得响应,但我们必须使用 JSON Schema 来实现。我通过创建一个 JSON Schema 对象并将其传递给新函数的参数来更新我们的功能。

typescript function getRecipe() { // Create prompt text with user input const prompt = `return a recipe for ${userInput}`; // Define the JSON Schema by creating a schema object const schema = { "type": "object", "properties": { "dish": { "type": "string", "description": "Descriptive title of the dish" }, "ingredients": { "type": "array", "items": {"type": "string"} }, "instructions": { "type": "array", "description": "Steps to prepare the recipe.", "items": {"type": "string"} } } } // Note the updated model and added functions and function_call lines // Note that we pass our schema object to parameters openai.createChatCompletion({ model: "gpt-3.5-turbo-0613", messages: [ { role: "system", "content": "You are a helpful recipe assistant." }, { role: "user", content: prompt } ], functions: [{ name: "set_recipe", parameters: schema }], function_call: {name: "set_recipe"} }) .then((completion) => { // Note the updated location for the response const generatedText = completion.data.choices[0].message.function_call.arguments; setRecipe(JSON.parse(generatedText)); }) .catch((error) => { console.log(error); }); } 经过这次更新,我收到了以下响应: text { "dish": "Buttered Toast", "ingredients": [ "Bread slices", "Butter" ], "instructions": [ "Heat a non-stick skillet or griddle over medium heat.", "Spread butter on one side of each bread slice.", "Place the bread slices on the hot skillet or griddle, butter side down.", "Cook for about 2-3 minutes or until the bottom side is golden brown and crispy.", "Flip the bread slices and cook for another 1-2 minutes.", "Remove from the skillet or griddle and serve immediately." ] }

当我将这个响应传递给 JSON.parse() 时,没有出现错误。现在,食谱应用程序更加可靠,不容易出现由于 OpenAI API 响应格式不一致而导致的错误。

结论

这种方法需要更多的代码行,而且,至少目前,JSON Schema 是唯一支持的声明性语言。一些开发人员可能仍然想尝试非正式地请求 JSON 对象。但是,如果您正在构建依赖于此 JSON 以将元素呈现到页面的项目,这种方法是值得一试的。

http://www.hkea.cn/news/435275/

相关文章:

  • 做游戏网站有几个要素seo网站关键词优化报价
  • 蓬业东莞网站建设技术支持东莞做网站公司首选
  • 网站版式设计获客渠道有哪些
  • 今日军事新闻简短扬州seo优化
  • 国外好看的教育类网站模板下载东莞做网站最好的是哪家
  • 微擎与wordpress快速优化seo软件推广方法
  • 英文网站设计哪家好免费网站搭建
  • 网站建设公司 销量深圳谷歌seo公司
  • 新蔡哪有做网站建设的全球疫情今天最新消息
  • 怎么做平台网站百度seo报价方法
  • 帮人做网站 怎么收费怎么用网络推广
  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校
  • 南沙区交通和建设局网站中国十大网络销售公司
  • 免费建设网站的方法百度网址大全 官网
  • 手机网站设计制作公司微信推广费用一般多少
  • 建设网站需要什么注册域名费用一般多少钱
  • 女性门户网站源码百度指数功能有哪些
  • 怎么帮公司做网站建设谷歌搜索引擎免费入口 香港
  • 请写出网站建设前期需要做的准备外贸定制网站建设电话
  • 南京门户网站建设网络营销优秀案例
  • 2012服务器如何做网站周口网络推广哪家好
  • 贵阳搜索玩的网站网络舆情软件免费入口