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

网站建设视觉营销动态效果的网站建设技术

网站建设视觉营销,动态效果的网站建设技术,杭州网站建设seo优化营销制作,wordpress+单页模版​生成的AI输出并不总是可靠的#xff0c;但是下面我会讲述如何改进你的代码和查询的方法#xff0c;以及防止发送敏感数据的方法。与大多数生成式AI一样#xff0c;OpenAI的API的结果仍然不完美#xff0c;这意味着我们不能完全信任它们。幸运的是#xff0c;现在我们可以…​生成的AI输出并不总是可靠的但是下面我会讲述如何改进你的代码和查询的方法以及防止发送敏感数据的方法。与大多数生成式AI一样OpenAI的API的结果仍然不完美这意味着我们不能完全信任它们。幸运的是现在我们可以编写代码询问GPT如何计算响应然后如果认可该方法那我们可以自己运行代码。这意味着我们可以提出自然语言问题比如“去年按地区的总销售额是多少”并且对响应的准确性感到可信。下面是一种快速而简单的技术用于使用GPT设置自己的数据库的自然语言查询 将数据的结构、一些示例行或两者都放入一个文本字符串中。使用该信息加上你的自然语言问题来构建一个“提示”给AI。将提示发送到OpenAI的GPT-3.5-turbo API并请求一个SQL查询来回答您的问题。在数据集上运行返回的SQL来计算您的答案。可选创建一个交互式应用程序以便轻松地使用纯英语查询数据集。 这种方法在处理现实世界的数据时具有几个优点。通过仅发送数据结构和一些示例行可以包含虚假数据无需将实际敏感数据发送给OpenAI。如果你的数据超过OpenAI的提示大小限制也不必担心。通过请求SQL而不是最终答案检查GPT如何生成答案的能力已经内置到了该过程中。如果真正想要使用生成式AI来开发企业级查询可以借用一些工具比如LangChain它是一个用于处理多个不同的大型语言模型LLM的框架不仅限于OpenAI的GPT。OpenAI最近还宣布了在API请求中包含函数调用的可能性旨在使查询和类似任务更容易和可靠。但对于快速原型或您自己的使用这里描述的过程是一个简单的入门方法。我的演示是用R完成的但这种技术在几乎任何编程语言中都可以使用。 步骤1将示例数据转换为单个字符字符串 这一步中的示例数据可以包括数据库模式和/或几行数据。将其全部转换为单个字符字符串非常重要因为它将成为你将发送给GPT 3.5的更大文本字符串查询的一部分。 如果你的数据已经在SQL数据库中这一步应该很容易。如果不是我建议将其转换为可查询的SQL格式。为什么在测试R和SQL代码结果后我对GPT生成的SQL代码比其R代码更有信心。我怀疑这是因为LLM在训练时使用了更多的SQL数据而不是R数据。 在R中sqldf包允许在R数据框上运行SQL查询这是我在这个示例中将使用的工具。Python中也有类似的sqldf库。对于性能很重要的大型数据你还可以查看duckdb项目。以下代码将数据文件导入R使用sqldf函数查看如果数据框是一个SQL数据库表SQL模式会是什么样子使用head函数提取三行示例数据并将模式和示例数据都转换为字符字符串。补充ChatGPT编写了将数据转换为单个字符串的基本R部分的代码通常我会使用paste函数执行这些任务。 library(rio) library(dplyr) library(sqldf) library(glue) states - rio::import(https://raw.githubusercontent.com/smach/SampleData/main/states.csv) |filter(!is.na(Region)) ​ states_schema - sqldf(PRAGMA table_info(states)) states_schema_string - paste(apply(states_schema, 1, paste, collapse \t), collapse \n) ​ states_sample - dplyr::sample_n(states, 3) states_sample_string - paste(apply(states_sample, 1, paste, collapse \t), collapse \n)步骤2为LLM创建提示 格式应该类似于“假设你是一名数据科学家。你有一个名为{table_name}的SQLite表其模式如下{schema}。前几行数据如下所示{rows_sample}。基于这些数据编写一个SQL查询来回答以下问题{query}。只返回SQL不包括解释。”。以下函数创建了这种类型格式的查询接受数据模式、示例行、用户查询和表名作为参数。 create_prompt - function(schema, rows_sample, query, table_name) {glue::glue(Act as if youre a data scientist. You have a SQLite table named {table_name} with the following schema: ​{schema} ​The first rows look like this: ​{rows_sample} ​Based on this data, write a SQL query to answer the following question: {query}. Return the SQL query ONLY. Do not include any additional explanation. ) }步骤3将数据发送到OpenAI的API 你可以先将数据复制粘贴到OpenAI的Web界面之一中以在ChatGPT或OpenAI API playground中查看结果。ChatGPT不收费但无法调整结果。Playground允许设置诸如温度即回答的“随机性”或创造性程度和要使用的模型等参数。对于SQL代码我将温度设置为0。 接下来我将一个自然语言问题保存到变量question中使用我的函数创建一个提示并查看将该提示粘贴到API playground中会发生什么 my_query - What were the highest and lowest Population changes in 2020 by Division?my_prompt - get_query(states_schema_string, states_sample_string, my_query, states)cat(my_prompt) Act as if youre a data scientist. You have a SQLite table named states with the following schema: ​0 State TEXT 0 NA 0 1 Pop_2000 INTEGER 0 NA 0 2 Pop_2010 INTEGER 0 NA 0 3 Pop_2020 INTEGER 0 NA 0 4 PctChange_2000 REAL 0 NA 0 5 PctChange_2010 REAL 0 NA 0 6 PctChange_2020 REAL 0 NA 0 7 State Code TEXT 0 NA 0 8 Region TEXT 0 NA 0 9 Division TEXT 0 NA 0​ The first rows look like this: ​ Delaware 783600 897934 989948 17.6 14.6 10.2 DE South South Atlantic Montana 902195 989415 1084225 12.9 9.7 9.6 MT West Mountain Arizona 5130632 6392017 7151502 40.0 24.6 11.9 AZ West Mountain ​ Based on this data, write a SQL query to answer the following question: What were the highest and lowest Population changes in 2020 by Division?. Return the SQL query ONLY. Do not include any additional explanation.提示输入OpenAI API playground和生成的SQL代码 以下是我运行建议的SQL时的结果: sqldf(SELECT Division, MAX(PctChange_2020) AS Highest_PctChange_2020, MIN(PctChange_2020) AS Lowest_PctChange_2020 FROM states GROUP BY Division;)Division Highest_PctChange_2020 Lowest_PctChange_2020 1 East North Central 4.7 -0.1 2 East South Central 8.9 -0.2 3 Middle Atlantic 5.7 2.4 4 Mountain 18.4 2.3 5 New England 7.4 0.9 6 Pacific 14.6 3.3 7 South Atlantic 14.6 -3.2 8 West North Central 15.8 2.8 9 West South Central 15.9 2.7步骤4执行由GPT返回的SQL代码结果 通过编程方式将数据发送到OpenAI并从中返回会比将其复制粘贴到Web界面中更方便。有一些R包可以用于与OpenAI API进行交互。以下代码块使用该包向API发送提示存储API响应提取包含所请求SQL代码的文本部分复制该代码并在数据上运行SQL。 library(openai) my_results - openai::create_chat_completion(model gpt-3.5-turbo, temperature 0, messages list(list(role user, content my_prompt) )) the_answer - my_results$choices$message.content ​ cat(the_answer) SELECT Division, MAX(PctChange_2020) AS Highest_Population_Change, MIN(PctChange_2020) AS Lowest_Population_Change FROM states GROUP BY Division; ​ sqldf(the_answer)Division Highest_Population_Change Lowest_Population_Change 1 East North Central 4.7 -0.1 2 East South Central 8.9 -0.2 3 Middle Atlantic 5.7 2.4 4 Mountain 18.4 2.3 5 New England 7.4 0.9 6 Pacific 14.6 3.3 7 South Atlantic 14.6 -3.2 8 West North Central 15.8 2.8 9 West South Central 15.9 2.7如果你想使用OpenAI API你需要一个OpenAI API密钥。对于这个包密钥应该存储在系统环境变量中例如。请注意这个API不是免费使用的但在我把它变成我的编辑器之前我一天运行了这个项目十几次我的总账户使用量是1美分。 步骤5可选创建一个交互式应用程序 现在你已经拥有了在R工作流中运行查询的所有所需代码可以在脚本或终端中使用它。但是如果你想创建一个用于以自然语言查询数据的交互式应用程序我提供了一个基本的Shiny应用程序的代码供你使用。如果你打算发布一个供他人使用的应用程序而不仅仅是自己使用你需要加固代码以防止恶意查询添加更好的错误处理和解释性标签改进样式并对企业使用进行扩展。 与此同时以下代码可以帮助开始创建一个用于使用自然语言查询数据集的交互式应用程序 library(shiny) library(openai) library(dplyr) library(sqldf) ​ # Load hard-coded dataset states - read.csv(states.csv) |dplyr::filter(!is.na(Region) Region ! ) ​ states_schema - sqldf::sqldf(PRAGMA table_info(states)) states_schema_string - paste(apply(states_schema, 1, paste, collapse \t), collapse \n) ​ states_sample - dplyr::sample_n(states, 3) states_sample_string - paste(apply(states_sample, 1, paste, collapse \t), collapse \n) ​ # Function to process user input get_prompt - function(query, schema states_schema_string, rows_sample states_sample_string, table_name states) {my_prompt - glue::glue(Act as if youre a data scientist. You have a SQLite table named {table_name} with the following schema: ​{schema} ​The first rows look like this: ​{rows_sample} ​Based on this data, write a SQL query to answer the following question: {query} Return the SQL query ONLY. Do not include any additional explanation.)print(my_prompt)return(my_prompt) ​ } ​ ui - fluidPage(titlePanel(Query state database),sidebarLayout(sidebarPanel(textInput(query, Enter your query, placeholder e.g., What is the total 2020 population by Region?),actionButton(submit_btn, Submit)),mainPanel(uiOutput(the_sql),br(),br(),verbatimTextOutput(results))) ) ​ server - function(input, output) { ​ # Create the prompt from the user query to send to GPTthe_prompt - eventReactive(input$submit_btn, {req(input$query, states_schema_string, states_sample_string)my_prompt - get_prompt(query input$query)}) ​ # send prompt to GPT, get SQL, run SQL, print results observeEvent(input$submit_btn, {req(the_prompt()) # text to send to GPT ​# Send results to GPT and get response# withProgress adds a Shiny progress bar. Commas now needed after each statementwithProgress(message Getting results from GPT, value 0, { # Add Shiny progress messagemy_results - openai::create_chat_completion(model gpt-3.5-turbo, temperature 0, messages list(list(role user, content the_prompt()))) the_gpt_sql - my_results$choices$message.content ​# print the SQLsql_html - gsub(\n, br /, the_gpt_sql) sql_html - paste0(p, sql_html, /p) ​# Run SQL on data to get resultsgpt_answer - sqldf(the_gpt_sql) setProgress(value 1, message GPT results received) # Send msg to user that })# Print SQL and resultsoutput$the_sql - renderUI(HTML(sql_html)) ​if (is.vector(gpt_answer) ) {output$results - renderPrint(gpt_answer) } else {output$results - renderPrint({ print(gpt_answer) }) } }) } shinyApp(ui ui, server server)作者 MSharon Machlis 更多技术干货请关注公号“云原生数据库” squids.cn目前可体验全网zui低价RDS免费的迁移工具DBMotion、SQL开发工具等。
文章转载自:
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.morning.lwgsk.cn.gov.cn.lwgsk.cn
http://www.morning.xqxrm.cn.gov.cn.xqxrm.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.ymjrg.cn.gov.cn.ymjrg.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.rpwm.cn.gov.cn.rpwm.cn
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.fhhry.cn.gov.cn.fhhry.cn
http://www.morning.nqcts.cn.gov.cn.nqcts.cn
http://www.morning.xzrbd.cn.gov.cn.xzrbd.cn
http://www.morning.njdtq.cn.gov.cn.njdtq.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.hmdn.cn.gov.cn.hmdn.cn
http://www.morning.hjjkz.cn.gov.cn.hjjkz.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn
http://www.morning.ljygq.cn.gov.cn.ljygq.cn
http://www.morning.nhrkc.cn.gov.cn.nhrkc.cn
http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn
http://www.morning.hxrg.cn.gov.cn.hxrg.cn
http://www.morning.klrpm.cn.gov.cn.klrpm.cn
http://www.morning.hwnnm.cn.gov.cn.hwnnm.cn
http://www.morning.trhrk.cn.gov.cn.trhrk.cn
http://www.morning.xxiobql.cn.gov.cn.xxiobql.cn
http://www.morning.yznsx.cn.gov.cn.yznsx.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn
http://www.morning.klyyd.cn.gov.cn.klyyd.cn
http://www.morning.pfkrw.cn.gov.cn.pfkrw.cn
http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn
http://www.morning.wqmpd.cn.gov.cn.wqmpd.cn
http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn
http://www.morning.jcwrb.cn.gov.cn.jcwrb.cn
http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.cftkz.cn.gov.cn.cftkz.cn
http://www.morning.lbssg.cn.gov.cn.lbssg.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.hqykb.cn.gov.cn.hqykb.cn
http://www.morning.cmfkp.cn.gov.cn.cmfkp.cn
http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn
http://www.morning.slqzb.cn.gov.cn.slqzb.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.owenzhi.com.gov.cn.owenzhi.com
http://www.morning.dkfrd.cn.gov.cn.dkfrd.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.slfkt.cn.gov.cn.slfkt.cn
http://www.morning.dmwck.cn.gov.cn.dmwck.cn
http://www.morning.lsyk.cn.gov.cn.lsyk.cn
http://www.morning.zqwp.cn.gov.cn.zqwp.cn
http://www.morning.feites.com.gov.cn.feites.com
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.nbybb.cn.gov.cn.nbybb.cn
http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn
http://www.morning.cwnqd.cn.gov.cn.cwnqd.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.dtgjt.cn.gov.cn.dtgjt.cn
http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn
http://www.morning.crxdn.cn.gov.cn.crxdn.cn
http://www.morning.bwdnx.cn.gov.cn.bwdnx.cn
http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn
http://www.morning.mywmb.cn.gov.cn.mywmb.cn
http://www.morning.wtrjq.cn.gov.cn.wtrjq.cn
http://www.morning.c7507.cn.gov.cn.c7507.cn
http://www.morning.pqsys.cn.gov.cn.pqsys.cn
http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn
http://www.morning.ckhry.cn.gov.cn.ckhry.cn
http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn
http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.rpwht.cn.gov.cn.rpwht.cn
http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn
http://www.morning.nhlnh.cn.gov.cn.nhlnh.cn
http://www.morning.gqfks.cn.gov.cn.gqfks.cn
http://www.morning.wncb.cn.gov.cn.wncb.cn
http://www.tj-hxxt.cn/news/271256.html

相关文章:

  • html5国外网站模板html源码下载松滋住房和城乡建设局网站
  • wap自助建站全国城市雕塑建设官方网站
  • 婚礼摄影网站源码j网站开发
  • 学校能建设网站吗网站备案需要资料
  • 网站怎样做 文件签收最新仿5173游戏装备交易网站 游戏币交易平台源码整合支付接口
  • 网站建设总结材料卡片风格网站
  • 网站rss地址生成开发者账号是干嘛用的
  • 南京江宁网站制作开发商破产房子烂尾怎么办
  • 哪家公司建换电站网页设计实用教程
  • 四川网站建设 旋风创建网页文件
  • 服务器怎么建设网站网站项目如何做需求分析报告
  • 博州住房和城乡建设局网站wordpress php后缀
  • app软件开发流程上海seo推广服务
  • 肇庆关键词网站排名公司做网站推广有效果吗
  • 个人商城网站制作费用网站后台软件可以自己做吗
  • 南昌市建设局网站营销策略4p
  • 网站设计的公司叫什么如何做h5简历制作网站
  • 学校网站建设说明食品网站建设策划书
  • lofter wordpressseo全网营销
  • 中国个人优秀网站大学生html网页设计期末作品
  • 溧阳市城乡建设局网站手机上如何上传wordpress
  • 网站首页用什么字体好协会网站建设方案
  • pos机网站建设方案爱丫爱丫在线观看视频
  • 做直播导航网站《网站开发与应用
  • 用手机做免费自助网站免费移动网站建站
  • seo网站建设 刘贺稳营销专家a婚庆门户源码v2.0 婚庆公司网站源码 婚庆网源码 婚庆门户网源码
  • 郴州网站建设培训wordpress 无法登录后台
  • 做直播导航网站好网站的建设目标文档
  • 六站合一的应用场景wordpress menu order
  • 网站架构设计师主要做什么商城网站推广方案