庆云古诗词

庆云古诗词

chatgpt写代码功能演示 有没有公司用chatgpt写代码

互联资讯 0

2023年11月20日 每日一猜答案: 答案:ABC
每日一猜答案分析:

chat源码,c写代码工具,代码char

备注:文章的截图素材都出自AI智学习,同时该服务接入了ChatGPT3.5和ChatGPT4.0。合法上网就可以使用,服务响应速度非常快。

这是第一步,我们需要决定要向ChatGPT提出什么请求。确定希望函数或例程做什么,或者想学习哪些内容以便将其应用到代码中。确定将传递给代码的参数以及我们的期望输出。然后考虑如何描述这些信息。

这里举个例子:假设我想要实现一个功能,通过程序总结任何网页的内容。我希望输入一篇类似这篇文章的内容,并获得一段经过深思熟虑且合适的简短摘要。

作为输入,我将指定一个网页的URL。

作为输出,我希望获得一个带有摘要的文本块。

以往都是通过网页数据来获取开源库和资源。但是随着ChatGPT的兴起,使用ChatGPT获取这些资源信息更加的快捷。(当然这个也需要大家有相关知识的储备,能够判断信息的准确性)。

下面给大家看看我是如何与ChatGPT进行交互,来免费使用一些开源工具,并在PHP项目中运行。我开始使用一个提示,目的是获取关于哪些库可以提供我所需功能的信息。

这是我的第一个提示:

描述十个不同的开源人工智能库(以及它们适用的编程语言),我可以使用它们来生成任何网页的主要核心内容摘要,忽略任何广告或嵌入内容

这给了我我想要的所有信息,包括提到了OpenAI的产品。我认为OpenAI在这方面表现很好,但是为了这个假设项目,我不想预算用于API费用。所以我将缩小问题的范围。

这些库中有哪些是免费的?

ChatGPT对答案进行了保留。它回答说:

“是的,这十个AI库都是开源的,可以免费使用。但是,其中一些可能有使用限制或需要付费才能访问额外功能或资源。”

基于这个回答,我进一步明确了我的问题。

其中哪些库没有使用限制,也不需要任何额外的支付或许可证?

请注意,这是一个非常典型的对话。我不需要重新问起始问题,我只是在寻求进一步明确问题,就像我有专家在身边寻求帮助一样。在这个例子中,ChatGPT给出的库都支持,但是没有提到我计划使用的PHP语言。所以,这是下一个提示:

在这些库中,我能用PHP吗?

我还是不确定用哪个库合适,所以我再次明确了我的使用计划,然后问道:

如果我想要创建网页新闻文章的摘要,哪个库更好用?

我得到的答案很清楚且有实现的可能:“Sumy专门用于文本摘要,即从一段文本中提取最重要的信息来创建摘要。”所以,现在是时候看看如何在PHP中使用它了。

  1. 请求ChatGPT编写示例代码

这是我写的第一部分:

编写一个名为summarize_article的PHP函数。作为输入,summarize_article将接收一篇来自诸如或之类的新闻相关网站的文章的URL。

ChatGPT返回了一段python实现提前网页内容的代码和PHP代码,分别如下:

首先,创建一个名为 summarizer.py 的 Python 脚本:

# summarizer.py  import sys  import re【【微信】】eautifulSoup  from gensim.summarization import summarize    def extract_content(url):      response=re【【微信】】.get(url)      soup=BeautifulSoup【【网址】】ntent, 'html.parser')      paragraphs=soup.find_all('p')      content=' '.join([p.text for p in paragraphs])            return content    def main(url):      content=extract_content(url)      summary=summarize(content, word_count=100)      print(summary)    if __name__=='__main__':      main(sys.argv[1])

然后,在 PHP 中创建 summarize_article 函数并调用 Python 脚本:

<?php  function summarize_article($url, $word_limit){      $command=escapeshellcmd("python3 summarizer.py " . escapeshellarg($url) . " " . $word_limit);      $summary=shell_exec($command);      return $summary;  }    $url=&#【【网址】】/【【微信】】/【【QQ微信】】";  $word_limit=50;  $summary=summarize_article($url, $word_limit);  echo $summary;  ?>

我告诉ChatGPT使用的编程语言,并告诉它输入内容,同时提供了两个网站作为示例,以帮助ChatGPT了解文章的风格。老实说,我不确定ChatGPT是否忽视了这个指导。

接下来,我将告诉它如何完成大部分工作:

在summarize_article函数内部,获取提供的URL的网页内容。使用PHP内部的Sumy库和其他必要的库,提取文章的主要正文部分,忽略任何广告或嵌入内容,并将其概括为大约50个单词。确保摘要由完整的句子组成。如果需要,可以超过50个单词来完成最后一句。

ChatGPT根据我的要求调整了一下代码:

首先,创建 Python 脚本 summarizer.py

# summarizer.py  import sys  import re【【微信】】eautifulSoup  from sumy.parsers.plaintext import PlaintextParser  from sumy.nlp.tokenizers import Tokenizer  from sumy.summarizers.lsa import LsaSummarizer  from sumy.nlp.stemmers import Stemmer  from sumy.utils import get_stop_words    def extract_content(url):      response=re【【微信】】.get(url)      soup=BeautifulSoup【【网址】】ntent, 'html.parser')      paragraphs=soup.find_all('p')      content=' '.join([p.text for p in paragraphs])            return content    def summarize_lsa(content, sentence_count):      language="english"      parser=PlaintextParser.from_string(content, Tokenizer(language))      stemmer=Stemmer(language)      summarizer=LsaSummarizer(stemmer)      summarizer.stop_words=get_stop_words(language)      summary=summarizer(parser.document, sentence_count)            return ' '.join([str(sentence) for sentence in summary])    def main(url, word_limit):      content=extract_content(url)      sentence_count=3 # 设定摘要句子数量      summary=summarize_lsa(content, sentence_count)      print(summary)    if __name__=='__main__':      main(sys.argv[1], int(sys.argv[2]))

然后,在 PHP 中创建 summarize_article 函数并调用 Python 脚本:

<?php  function summarize_article($url, $word_limit){      $command=escapeshellcmd("python3 summarizer.py " . escapeshellarg($url) . " " . $word_limit);      $summary=shell_exec($command);      return $summary;  }    $url=&#【【网址】】/【【微信】】/【【QQ微信】】";  $word_limit=50;  $summary=summarize_article($url, $word_limit);  echo $summary;  ?>

这与我指导人工作的方式非常相似。我希望那个人知道他们不仅仅局限于Sumy。如果他们需要其他工具,我希望他们可以使用。

我还指定了一个大致的字数,以便限定我对摘要的要求。后续版本的程序可能会将该数字作为参数进行处理。然后,我以指定结果的方式结束:

处理完成后,编写summarize_article函数以使其以纯文本形式返回摘要。
<?php  function summarize_article($url, $word_limit){      $command=escapeshellcmd("python3 summarizer.py " . escapeshellarg($url) . " " . $word_limit);      $summary=shell_exec($command);      return $summary;  }    $url=&#【【网址】】/【【微信】】/【【QQ微信】】";  $word_limit=50;  $summary=summarize_article($url, $word_limit);  echo $summary;  ?>

这样一个提前网页摘要的功能就实现了。我只通过提供要求和思路,具体的资源查询、代码实现都是ChatGPT来完成。

经过我长时间的尝试,目前ChatGPT编写代码比较适合单一功能的编写。要用他来完成整个项目的开发是不靠谱的,其中最重要的原因是完全由ChatGPT编写的代码无法维护,如果整个项目的都是ChatGPT编写的你想要进行二次开发都无从下手。

但是,ChatGPT帮助开发者搜寻资源库和整理实现方案是非常高效的。再次ChatGPT能够高效的帮助我们实现单一功能的代码编写,提高开发者的编程效率。

以上内容来自我的公众号【AI智学习】,我是小编请别再投诉转载了。

这是我自己写的东西!


跟chat gpt聊天聊哪些话题 和chatgpt聊天的正确打开方式


接《你真的会跟 ChatGPT 聊天吗?(上)》,本文下半部分没有*猫那么搞笑的内容啦!即使如此,哪怕你对文中提及的技术不大了解,也可以毫无压力地看完这篇,描述如何更好地获得 ChatGPT 生成内容的文章。因为我也是利用 Azure OpenAI 等认知服务来学习,然后就这样写出来的。所以,舒服地坐下来,慢慢看吧~

胡浩

多年从事基础架构相关工作,熟悉全栈虚拟化、终端用户和边缘计算等,对多个技术方向有所涉猎。乐于学习并分享 Azure 和 AI,曾在很多大型研讨会演讲,如微软的 TechEd、MEDC、Tech Summit、Ignite,威睿的 【【微信】】、vForum、ENPOWER,以及苹果、戴尔等技术会议。同时也是很多社区大会如 Global AI Bootcamp、Global Azure Bootcamp、Global M365 Bootcamp 等活动的组织者和演讲者。

GPT 使用了如此庞大的语料库数据集,以至于任何人类个体基本上都无法望其项背。那么问题也就来了――对于人来说,同一个问题,不同角色不同场景的理解和回答会大相径庭。那我们如何期待 GPT 能够以更准确的方式回答我们的问题呢?

答案是,为 AI 分配角色。我们也可以将之视为角色扮演(Cosplay)。这样 GPT 会以你定义的角色,更加合适地回答你的问题。

我们先向 GPT 模型提一个问题:“如果我面试人工智能专家,你会提出什么样的问题?”?

可以看到,GPT 回答得还蛮不错,但是不太像人工智能公司的 HR 提的问题,感觉没那么专业。

以下是一个例子:“你是一个人事的专家,已经从事招聘工作超过10年,帮助企业面试候选人。你的任务是提出常见的问题来确认候选人是否满足要求,并且愿意入职。如果你理解你的角色,请回复‘知道了’。”

这一轮提问感觉就更专业、更注重实际 AI 工作经验了。

实际上 GPT-3.5 和 GPT-4 模型已经使用新的 ChatCompletion 接口取代之前模型使用的 Completion 接口,它们的差别在第一小节的截图中其实已经展示了。ChatCompletion 在会话开始的时候,会使用一个系统消息来配置模型的角色:

在这条消息里,我们就可以用文本来设置对话模型的角色扮演,让后续的对话更加准确合适。

以下是一个例子:为了把神经语音接入到 GPT,我需要生成的代码支持 SSML。于是我们甚至可以在这里提出对回复文本的格式要求。

正如你看到的,我在系统角色中要求回答问题必须使用 SSML。于是,GPT-4 模型给了我如下的答复:

我其实已经可以直接把回复的文本提供给?Azure Speech?认知服务?[1]来生成语音(TTS,Text To Speech),让基于神经语音的人工智能声音抑扬顿挫了。

?

实际上,我们前一节的内容已经涉及到一点个性化了,其实我们完全可以通过个性化的设定和要求获得完全不同的人工智能生成内容。

以下是一个例子:我们使用小学生的语气,生成一段话,说明人工智能为什么不会取代人类。

可以发现,这位 GPT-3“小学生”看过一些人工智能的书,回答的很准确,知道目前人工智能还不具备创造力和情感。但更多的知识可能就有限了。我们换一个方式。

以下是一个例子:我们冒充非常有经验的人工智能专家,以比较诙谐的例子回答这个问题。

这次生成的内容,就和前面的内容有些不同。GPT-3 通过一个便于理解的例子,说明了创造性是目前人工智能所无法实现的。

我们不能指望一次就从 GPT 获得期望的回答,按照我们的期望去调整提问,不断尝试。个性化的回答会更“不像”人工智能生成的,甚至更容易通过检测 ChatGPT 生成内容的测试。

?

大语言模型(LLM)在回答一些比如计算类的逻辑问题时,经常会出现啼笑皆非的结果。这时候使用思考链(CoT,Chain of Thought)来帮助 LLM 解释其推理过程会有帮助。

简单来说,思考链就是引导模型把一个问题的描述拆分为一系列更能说明逻辑的问题,以此加强模型处理更复杂的算术、常识和符号推理能力。

以下的例子来自于论文?Chain-of-Thought Prompting Elicits Reasoning in Large Language Models?[2]。

在这篇论文中,作者使用了 GSM8K 的数据集。这个数据集包含了一些根据两三句话写算式算答案的样例――这不就是小学应用题嘛,但 GPT-3 在此数据集上回答问题的准确率非常感人。

和人一样,如果将一个“复杂”问题或者没有“完全”描述的问题,诱导产生中间推理步骤,就能够有效提高对问题的理解。

仅仅通过将 CoT 指令“让我们一步一步考虑”添加到 【【微信】】 数据集的每个输入查询中,GPT-3 的准确性就从17.7%提高到了78.7%[3]。由此可见,当人工智能还不那么“智能”的时候,使用思考链将一个问题分解为逻辑联系的多个问题将会帮我们获得更准确的回复。

GPT-4 的训练提高了模型的高级推理能力,简单地说,考试成绩就好多了!所以 CoT 的帮助可能不是那么明显,但仍然值得试试。

?

在 CoT 的基础上,其实还有继续提升的做法,比如,在前文说的思考链做法上,生成多个思考链(推理路径),然后对答案进行多数投票,票高者称为答案。

这个做法本身是无监督的,它从语言模型的译码器来生成一组不同的推理路径;每个推理路径可能导致不同的最终答案,所以我们通过边缘化采样推理路径,在最后的答案集中,找到最一致的答案来确定最优答案。这种方法类似于人类经验:如果多个不同的思维方式导致同样的答案,会给我们更大的信心――最终的答案估计是正确的。

这个操作可以显著提高思考链的性能。以结合到 GPT-3 模型为例,在前文谈到的 GSM8K 数据集上获得了+17.9%绝对精度增长[4]。

?

在介绍从少到多(L2M,Least-to-Most)方法之前,我们花一点时间看看 OpenAI 的一个里程碑研究成果――用人类反馈总结书籍[5]。这篇文章其实是为了机器学习模型对齐人类意图,但举的例子很有意思:对一本书进行总结的模型。

我的理解是分为几层过程,先对书的小节进行总结,然后对这些总结的结果再做一层总结,依次类推几次,就实现了对书籍甚至电影等作品的内容总结。

我们把这个方法反过来用,不就正好可以拿来解决复杂推理问题吗?

首先将复杂的推理问题拆分为一系列相关的子问题(问题简化),然后按顺序解决这些子问题(问题解决)。提示在解决子问题时包含三个部分:

?(1) 演示如何解决子问题的常量示例;

?(2) 可能为空的、已回答先前子问题和生成的解决方案列表;

?(3) 下一个要回答的问题。

传递给模型的提示,包含演示如何减少复杂问题的示例,后跟要减少的特定问题。换个角度想想,每个子问题的解决都将推动解决下一个问题,就像我们小时候老师教我们的一样:解答题目的每个子问题都能得分,并提高我们解答最终题目的信心,最后解答出整个题目。

?

生成知识提示(Generated Knowledge Prompting)涉及两个步骤:

?(1) 使用少样本学习,演示从语言模型生成与问题相关的知识陈述;

?(2) 使用第二语言模型对每个知识陈述进行预测,然后选择置信度最高的预测。

其核心思想是从语言模型中生成有用的知识,然后将这些知识作为输入提示与问题一起提供。这种方法不需要任务特定的监督来进行知识集成,也不需要访问结构化的知识库。其性能受到三个因素的影响:知识质量、知识数量和推理过程中集成知识的策略。

生成知识提示可以提高大规模、最先进的模型在四个常识推理任务上的性能,包括 NumerSense、CSQA(【【微信】】)、CSQA 2.0 和 QASC 基准测试。突出了大规模语言模型作为改进常识推理的外部知识的灵活来源,使得模型回复问题不再显得那么缺乏常识。

关于如何跟 ChatGPT 聊天我们就先聊到这里啦!回忆一下,虽然我们参考了很多比较前沿的论文和文章,但大道至简,其中的道理却很容易为人理解。那么,就让我们用更好的提问方式,释放 GPT 模型的能力吧!

参考链接:

[1] ERIC-URBAN. 语音服务文档 - 教程和 API 参考 - Azure 认知服务 - Azure Cogniti【【微信】】[EB/OL]. [2023-04-11]. https://learn.microsoft.com/zh-cn/azure/cogniti【【微信】】peech-service/?WT.mc_id=AI-M【【微信】】.

[2] WEI J, WANG X, SCHUURMANS D, 等. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models[M/OL]. arXiv, 2023[2023-04-09]. http://arxiv.org/abs/2201.11903.

[3] CHEN J, CHEN L, HUANG H, 等. When do you need Chain-of-Thought Prompting for ChatGPT?[M/OL]. arXiv, 2023[2023-04-10]. http://arxiv.org/abs/2304.03262.

[4] WANG X, WEI J, SCHUURMANS D, 等. Self-Consistency Impro【【微信】】soning in Language Models[M/OL]. arXiv, 2023[2023-04-09]. http://arxiv.org/abs/2203.11171.

[5] Summarizing books with human feedback[EB/OL]. [2023-04-11]. https://openai.com/research/summarizing-books.