LangChain+LLM大模型问答能力搭建与思考

1. 背景

最近,大模型(LLMs,Large Language Models)可谓是NLP领域,甚至整个科技领域最火热的技术了。凑巧的是,我本人恰好就是NLP算法工程师,面临着被LLMs浪潮淘汰的窘境,决定在焦虑之余,试着用新家伙,去解决解决老问题(缓解一下焦虑…)

所以是什么老问题呢?——那就是Bert解决了过、但问题依旧存在的那个——垂直领域问答

2. 原思路简介

由于目前的确已经有许多类似的、写得很优秀的大佬写的文章了,所以我本文不会过多涉及具体的代码。我更倾向于探讨一下我们怎么用这项**“新技术”**,来解决之前就有的、而且颇有价值的”老问题“

首先,最基础的架构我们还是要说一下(免得一段时间以后回顾的时候一脸懵逼,只剩吹牛了)

我们先回顾一下,Bert时代的垂直领域问答系统是怎么构建的?
Bert时代的垂直领域问答系统架构示意图

如上图所示,这就是个问答系统的大概面貌了。当然了,还有些其他辅助模块没在这里体现,这里只拿出了最关键的几个部分:

  1. query理解:充分理解query含义,挖掘query信号,给下一轮的doc(文档)”粉碎机“提供弹药!
  2. 文档召回:这里的召回方式大概可分为2大类,分别是基于query理解得到的信号召回,以及向量召回。
    1. 信号召回:基于ES或其他什么类ES自研框架(为什么要自研,还不是为了体现价值orz…)实现,可以简单理解为关键词召回,即从query和doc中分别找到关键词,然后进行匹配、打分;
    2. 向量召回:信号召回显然是基于”字面“的,而向量召回则是基于语义的。将doc提前向量化建库,然后query再向量化后进行向量检索。
    3. 最后,基于以上两路召回的文档得分,再结合一些其他trick(如质量打分)进行综合排序,取topK进入下一轮大逃杀!
  3. 答案抽取:使用预训练好的模型,分别对topK文档里的答案进行抽取。对于上一代Berter(哦不NLPer)而言,主模型都是Bert或其徒子徒孙。现在,则是最时髦的LLM
  4. 答案处理:后处理模块,可将得到的答案再次排序、可做答案融合、也可根据业务需要,进行合理的后处理,最后输出。

3. LLM出现以后的世界

3.1 LLM时代和Bert时代的差异

那么,在现如今ChatGPT、ChatGLM、Moss、LAMMA等大模型满天飞的世界,上述那套系统有什么变化了呢?

其实,这套系统整体流程变化并不大,只不过是将”答案抽取“模块的Bert时代模型替换成了LLMs时代的模型。而由于LLM在模型能力、允许输入长度等方面都比Bert强不少,所以一定程度上,LLMs时代这套系统对其他几个模块的要求也降低了

举个例子,在Bert时代,query理解是个要做得很重、异常重要的模块,毕竟如果这里能力不足,那下游模型就”巧妇难为无米之炊了“,我上面那张图里query理解部分每个子模块都能撑得起一大块工作。而大家都知道,端到端的模型是大家一直追求的(是吗?毕竟这样要我们NLPer还能做啥?),而且能力足够的端到端模型可以最大程度减少信息损失,所以能力更强的LLMs直接把这个模块的工作包揽了下来,原本的query分词、分类、纠错、关键词等工作变成了制定合适的Prompt然后调试,具体的query理解,就由LLM来搞定了。

下面,我再简介一下结合LLM时,垂直领域问答的架构的样子

3.2 LLM时代垂直领域知识库问答常用架构

LLM时代垂直领域知识库问答架构

架构异常简单,暂时能力所限,仅为博君一笑~

如图所示,能看得出,整体架构比Bert时代的简单很多。我们对照着之前的架构来说:

  1. query理解 VS提问模块:前面举过例子,目前提问模块在当前架构下已经几乎没有什么任务了,但如果你想增加一路关键词召回,那么这里也可以借助大模型的能力来解决,用大模型(当然,也可以是传统nlp模型或规则词表)帮你完成关键词提取,然后到下一步中进行使用ES做关键词召回

  2. 两版文档召回模块:这一部分差别其实不大,但随着LLMs的模型能力提升,对于召回质量的忍耐度也在提升。由于Bert时代模型往往有512 tokens的长度限制,所以我们要更加小心地做好召回文段排序和截断、文段之间overlap等事情。但随着大模型目前普遍将文本可输入长度扩到了8K、甚至是16K/32K(当然这里指的是字符,汉字字数会少一些),这就意味着如果需要,我们可将更多的文段喂给LLM。也正因为此,我们现如今往往只用向量召回(LangChain)即可达到要求。当然了,为了进一步提升召回文章的丰富度,开发额外的ES关键词召回、甚至更复杂的召回链路也是可行的。笔者之前有幸在某大厂负责过电商搜索引擎的召回模块,各路召回之复杂实在让人欲仙欲死,然而它们也确实是有用的,有些召回路径满足的是搜索的精准,有的召回路径满足的是物料的丰富,有的召回路径从用户历史兴趣角度考量,也有的召回路径从品类、产地、功能等多角度试图猜到用户所需。不过,由于知识库问答场景往往没有这么多目标,所以我们就尽可能做的轻一些——less is more

  3. 答案抽取模块VS大模型问答模块:虽然核心的模型从Bert变成了本地的微调过的ChatGLM、或ChatGPT-api,但整体思路是一致的。Bert时代首先需要将处理后的query和若干召回的doc拼接成类似[CLS]query[SEP]doc1, [CLS]query[SEP]doc2, …类似的样子,然后分别送给Bert进行答案抽取、输出;LLMs时代,则是将召回的doc和用户query装配成最终Prompt,类似的样子如下:

    """已知信息:
    {context} 根据上述已知信息,简洁和专业地回答用户问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}
    """
    

    以上Prompt模板参考链接。最后,LLM会将答案输出。

  4. 答案处理模块在LLM版本架构中,不再需要这一模块,因为LLM已经将输入资料整合并完成回答了。但Bert时代,由于多段资料分别和query拼接进行答案抽取,所以结果还要对多个答案进行排序。

4. LangChain+LLM实战心得体会

具体LangChain+LLM的代码,笔者参考该repo,并在上面进行了些细微的二次开发。由于该项目已经非常完备了,所以不再赘述。我在这里,主要说一下我在项目开发中遇到的问题和一点思考:

4.1 数据处理和清洗方面

  1. 关于目录:目录部分应提前识别并删除

    这部分关键词巨多(误命中)、各种标点符号巨多(误分段)、大多不是自然语言(用来做目录索引的,没实际的文本含义),引入目录,会在文档召回阶段通过向量或关键词产生大量误召回,建议直接咔嚓掉

  2. 文档分段长度:模型允许的情况下,能长则长;可根据数据酌情向后扩展

    在大模型可接受文本总字数有限的情况下,增加召回数量和增加单文档长度的权衡

    • 首先,由于我所处理的数据是相对干货的政策法规和企业规章,所以文章质量较高;其次,相似的内容较少出现在多个出处、而且有些政策文本会有不少1.xxx, 2.xxx, ..., 10.xxx这种不适合切割的超长内容,所以对我的数据而言,与其召回更多个短文本段,还不如召回更少的长文本段,以减少低相关杂质引入,也防止有用内容被截断。

    • 不过之前我也处理过各种政策解读、财经类新闻的语料,这种语料往往良莠不齐且同一件事有多个相似文章在描述,为了确保结果的全面性,则是召回更多个短文本段更好。

    关于分段截断的问题

    • 一般通用分段方式,是在固定max_length的基础上,对出现。/;/?/....../\n等等地方进行切割。

    • 但这种方式显然比较武断,面对特殊情况需要进一步优化。比如前面的那个1.xxx, 2.xxx, ..., 10.xxx超长内容的情况,直接按这种方法切割就会导致潜在的内容遗漏。

    • 对于这种候选语料”内聚性“很强的情况,容易想到,我们要么在切割语料时动手脚(不把连续数字符号所引领的多段文本切开);要么在切割时照常切割、但在召回时动手脚(若命中了带连续数字符号的这种长文本的开头,那么就一并把后面连续数字符号引领的多段文本一起召回)。笔者目前只想到了这两种方法且还没具体做实验,只是凭空想来,前者方案有较明显瑕疵,因为这样会——

      1. 相对于更短文段而言,长文段的语义更丰富,每个单独的语义点更容易被淹没,所以在有明确语义query的召回下这种长文段可能会吃亏;
      2. 长文段一旦被召回,只要不是针对整段文本的提问,那么也是引入了更多的噪声(不过鉴于LLM的能力,这可能也无伤大雅,就是费点显存or接口费用了)

      但后者就显得更灵活些,不过确实也不够聪明。暂时没想到其他办法,有好想法的人可以来交流一下~

    • 此外,有研究表明,长文本作为输入LLM输入时,LLM倾向于更关注长文本的开头、结尾处,然而中间部分的语义可能会被忽略。这里挖个小坑,下次再来关注一下这方面问题

4.2 模型方面

  1. 调整temperature参数规避模型”知识幻觉“

    • 对于知识库问答而言,知识幻觉(一本正经的胡说八道)是最头疼的事情。对于ChatGPT(gpt-3.5-turbo)而言,笔者实验过,当temperature<=0.1,可以有效避免“知识幻觉”(即Prompt中没有问题答案,ChatGPT就会回答”根据已知信息无法回答该问题“),不过这也可能让模型过分谨慎(即使有语义类似的答案,模型也倾向于那不是提问范围内的)。建议可以再尝试一些0.1~0.5之间的temperature,在最大化模型联想能力的同时,确保回复的可靠性

    • 但对于ChatGLM-6B(v1),该模型temperature取值范围在[0, 1],笔者尝试过0.1、0.01等数值,仍然会出现较为严重的模型幻觉。不知道ChatGLM2-6B效果会不会好些。不过6B的打不过号称175B的ChatGPT,也是正常

4.3 问题解决思路方面

这部分只是个人在问题解决过程中的一点想法,与大家分享。

  1. 明确多文档下的知识点问答,和单文档总结之间的区别

    • 该项目LangChain+LLM的思路,是针对多文档下的知识点问答的,目标是在海量语料中精准找到几小段参考文档然后总结出答案;
    • 而单文档总结,即类似ChatPDF的需求,和本项目目标不一致。ChatPDF的目标是尽可能全面地总结出整篇文档的信息。这个需求以目前ChatGPT可接受的16K上下文而言,不少文档可以直接丢进去问答,无需使用召回工具先做知识检索,不完全属于该项目解决的问题范围。
  2. 对于效果不佳的情况,首先应该从更高的角度思考,到底是当前技术不达标,还是使用场景不契合。用检索+问答这种范式解决其不擅长的问题、然后再此基础上搞一大批trick,是非常不可取的,应尽量避免

    • 举个例子,有人问这种问答模式能否解决Excel表格问答?这当然可以试试,结果对表格进行问答效果很差——这个结果很容易预期,毕竟CoT的思想就提到过,做推理、算数学题,这种需要一步步思考的任务在加以一步步引导的情况下,LLM才能得到不错的结果。那么,我们应该在检索+LLM这个项目上做优化以解决Excel表格的问答问题吗?非也。我们应该意识到Excel、或者其他文件中的表结构本身属性是表格,表格是结构化数据、文本是非结构化的,而检索系统(文本召回系统)本身就是为非结构化数据准备的。所以要解决excel文件问答的问题,或许可以把它归类到“NL2SQL”上,用代码/SQL的方式去解决。

    • 我做了简单的尝试,供大家参考,后台模型gpt-3.5-turbo-16K:

      来自你的消息:

      排名球员球队得分命中-出手命中率命中-三分三分命中率命中-罚球罚球命中率场次上场时间
      1乔尔-恩比德76人33.1011.00-20.1054.8%1.00-3.0033%10.00-11.7085.7%6634.60
      2卢卡-东契奇独行侠32.4010.90-22.0049.6%2.80-8.2034.2%7.80-10.5074.2%6636.20
      3达米安-利拉德开拓者32.209.60-20.7046.3%4.20-11.3037.1%8.80-9.6091.4%5836.30
      4谢伊-吉尔杰斯-亚历山大雷霆31.4010.30-20.3051%0.90-2.5034.5%9.80-10.9090.5%6835.50
      5扬尼斯-阿德托昆博雄鹿31.1011.20-20.3055.3%0.80-2.7027.5%7.90-12.2064.5%6332.10
      6杰森-塔特姆凯尔特人30.109.80-21.1046.6%3.20-9.3035%7.20-8.4085.4%7436.90
      7多诺万-米切尔骑士28.3010.00-20.6048.4%3.60-9.3038.6%4.70-5.4086.7%6835.80
      8杰伦-布朗凯尔特人26.6010.10-20.6049.1%2.40-7.3033.5%3.90-5.1076.5%6735.90
      9贾-莫兰特灰熊26.209.30-19.9046.6%1.50-4.9030.7%6.10-8.1074.8%6131.90

      以上这些人谁的出战场次最多?所有人平均出战多少场次?直接给出答案


      来自 ChatGPT 的消息:

      以上这些人中,贾-莫兰特的出战场次最多,共计61场。

      所有人的平均出战场次为63.1场。


      来自你的消息:

      排名球员球队得分命中-出手命中率命中-三分三分命中率命中-罚球罚球命中率场次上场时间
      1乔尔-恩比德76人33.1011.00-20.1054.8%1.00-3.0033%10.00-11.7085.7%6634.60
      2卢卡-东契奇独行侠32.4010.90-22.0049.6%2.80-8.2034.2%7.80-10.5074.2%6636.20
      3达米安-利拉德开拓者32.209.60-20.7046.3%4.20-11.3037.1%8.80-9.6091.4%5836.30
      4谢伊-吉尔杰斯-亚历山大雷霆31.4010.30-20.3051%0.90-2.5034.5%9.80-10.9090.5%6835.50
      5扬尼斯-阿德托昆博雄鹿31.1011.20-20.3055.3%0.80-2.7027.5%7.90-12.2064.5%6332.10
      6杰森-塔特姆凯尔特人30.109.80-21.1046.6%3.20-9.3035%7.20-8.4085.4%7436.90
      7多诺万-米切尔骑士28.3010.00-20.6048.4%3.60-9.3038.6%4.70-5.4086.7%6835.80
      8杰伦-布朗凯尔特人26.6010.10-20.6049.1%2.40-7.3033.5%3.90-5.1076.5%6735.90
      9贾-莫兰特灰熊26.209.30-19.9046.6%1.50-4.9030.7%6.10-8.1074.8%6131.90

      以上这些人谁的出战场次最多?所有人平均出战多少场次?使用pandas计算,给出可执行代码,无需将全部数据重新列举一遍


      来自 ChatGPT 的消息:

      您可以使用以下代码来计算出战场次最多和平均出战场次:

      import pandas as pd# 创建数据表
      data = {'排名': [1, 2, 3, 4, 5, 6, 7, 8, 9],'球员': ['乔尔-恩比德', '卢卡-东契奇', '达米安-利拉德', '谢伊-吉尔杰斯-亚历山大', '扬尼斯-阿德托昆博', '杰森-塔特姆', '多诺万-米切尔', '杰伦-布朗', '贾-莫兰特'],'球队': ['76人', '独行侠', '开拓者', '雷霆', '雄鹿', '凯尔特人', '骑士', '凯尔特人', '灰熊'],'得分': [33.10, 32.40, 32.20, 31.40, 31.10, 30.10, 28.30, 26.60, 26.20],'命中-出手': ['11.00-20.10', '10.90-22.00', '9.60-20.70', '10.30-20.30', '11.20-20.30', '9.80-21.10', '10.00-20.60', '10.10-20.60', '9.30-19.90'],'命中率': ['54.8%', '49.6%', '46.3%', '51%', '55.3%', '46.6%', '48.4%', '49.1%', '46.6%'],'命中-三分': ['1.00-3.00', '2.80-8.20', '4.20-11.30', '0.90-2.50', '0.80-2.70', '3.20-9.30', '3.60-9.30', '2.40-7.30', '1.50-4.90'],'三分命中率': ['33%', '34.2%', '37.1%', '34.5%', '27.5%', '35%', '38.6%', '33.5%', '30.7%'],'命中-罚球': ['10.00-11.70', '7.80-10.50', '8.80-9.60', '9.80-10.90', '7.90-12.20', '7.20-8.40', '4.70-5.40', '3.90-5.10', '6.10-8.10'],'罚球命中率': ['85.7%', '74.2%', '91.4%', '90.5%', '64.5%', '85.4%', '86.7%', '76.5%', '74.8%'],'场次': [66, 66, 58, 68, 63, 74, 68, 67, 61],'上场时间': [34.60, 36.20, 36.30, 35.50, 32.10, 36.90, 35.80, 35.90, 31.90]
      }df = pd.DataFrame(data)# 找出出战场次最多的球员
      max_appearances = df['场次'].max()
      player_with_max_appearances = df.loc[df['场次'] == max_appearances, '球员'].values[0]print("出战场次最多的球员是:", player_with_max_appearances)# 计算平均出战场次
      average_appearances = df['场次'].mean()print("所有球员的平均出战场次是:", average_appearances)
      

      输出结果为:

      出战场次最多的球员是: 杰森-塔特姆
      所有球员的平均出战场次是: 64.33333333333333
      

      ###来自你的消息:

      排名球员球队得分命中-出手命中率命中-三分三分命中率命中-罚球罚球命中率场次上场时间
      1乔尔-恩比德76人33.1011.00-20.1054.8%1.00-3.0033%10.00-11.7085.7%6634.60
      2卢卡-东契奇独行侠32.4010.90-22.0049.6%2.80-8.2034.2%7.80-10.5074.2%6636.20
      3达米安-利拉德开拓者32.209.60-20.7046.3%4.20-11.3037.1%8.80-9.6091.4%5836.30
      4谢伊-吉尔杰斯-亚历山大雷霆31.4010.30-20.3051%0.90-2.5034.5%9.80-10.9090.5%6835.50
      5扬尼斯-阿德托昆博雄鹿31.1011.20-20.3055.3%0.80-2.7027.5%7.90-12.2064.5%6332.10
      6杰森-塔特姆凯尔特人30.109.80-21.1046.6%3.20-9.3035%7.20-8.4085.4%7436.90
      7多诺万-米切尔骑士28.3010.00-20.6048.4%3.60-9.3038.6%4.70-5.4086.7%6835.80
      8杰伦-布朗凯尔特人26.6010.10-20.6049.1%2.40-7.3033.5%3.90-5.1076.5%6735.90
      9贾-莫兰特灰熊26.209.30-19.9046.6%1.50-4.9030.7%6.10-8.1074.8%6131.90

      以上这些人谁的出战场次最多?所有人平均出战多少场次?使用sql计算,无需将全部数据重新列举一遍


      ###来自 ChatGPT 的消息:

      根据给出的数据,可以使用SQL查询来计算出战场次最多的球员和平均出战场次。

      出战场次最多的球员可以通过查询最大的场次数来得到:

      SELECT 球员, MAX(场次) AS 最多场次
      FROM 表名;
      

      平均出战场次可以通过查询所有球员的场次数并计算平均值来得到:

      SELECT AVG(场次) AS 平均场次
      FROM 表名;
      

      请将"表名"替换为实际的表名,然后执行上述SQL查询即可得到结果。

      总结一下:

      1. 以上这些人谁的出战场次最多?所有人平均出战多少场次?”这2个问题的答案分别是“杰森塔图姆”和65.67场
      2. 我分别让模型用3种方式输出结果:1-直接输出、2-给出pandas代码后输出、3-只给SQL代码。
      3. 三种方式里,方法1直接错误,两个问题皆错;方法2最后给出答案时,问题2“平均出战场次”算错了。但它给出了正确的pandas代码,执行后两个问题都能得到正确结果;方法3我禁止其输出答案,只给出SQL代码,最后验证sql代码准确无误;
      4. 此外,为了减少大量数据反复传给LLMs增加其负担,实际上可以只给它带表头的2~3行数据,让其明白数据格式即可。

      所以由此可见,与其让它自己推理复杂计算,还不如让它给出代码,然后你自己去执行代码。当然,这里的问题确实是超级简单了,大家可以再试试上难度的统计问题

    • 此外,据了解,OpenAI官方推出的Code Interpreter就是专门干这个的(你可以把它当成个Data Analyzer,感兴趣的童鞋可以试试:OpenAI-Code Interpreter)

5. 总结

本文从实战角度出发,对垂直领域知识库问答这个问题,在Bert时代和LLMs时代的解决方案均做了简述。此外,本文还对LLM时代的LangChain+LLM的方案在实战中出现的问题进行了探讨,最后,还简单尝试了一下ChatGPT在数据分析方面的潜力。

欢迎大家多多点赞关注,一起交流学习吧😊

PS,转载请注明出处哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15072.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给AI挖坑 | 实测New Bing能否回答员工那些刁钻的问题?

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 之前玩ChatGPT&#xff0c;发现这玩意很擅长胡说八道&#xff0c;比如你让它写一段发言稿&#xff0c;并引用鲁迅名言&#xff0…

如何用Rosetta全家桶设计一个抗体?

新冠肆虐无药可医&#xff0c; 医护冒险奋战在前线。 实验室里抗体设计&#xff0c; 试管里混合液波光粼粼&#xff0c; 分子结构、细胞实验频频。 日以继夜&#xff0c;孜孜不倦&#xff0c; 只为破解疫情的难题。 我们紧密团结&#xff0c;努力前行&#xff0c; 心中不灭的信…

【ChatGPT 】《ChatGPT 后续:我开发了一个超级阅读器,免费分享给大家》- 知识点目录

《ChatGPT 后续&#xff1a;我开发了一个超级阅读器&#xff0c;免费分享给大家》 00:00 我们开发了超级阅读器 01:37 思路和开发过程 03:00 使用方式 03:43 AI 工具加持开发效率 04:14 更多可能性 04:57 局限性 1. 介绍&#xff1a;PandaGPT 上传文献聊天窗口提问 2. DALL…

搭建正版GPT4.0!不用ChatGPT账号,不要API!

手把手教你免费搭建正版GPT4.0&#xff01;不用ChatGPT账号&#xff0c;不要API&#xff01; 项目简介 项目地址&#xff1a;https://github.com/ramonvc/freegpt-webui优点&#xff1a; 完全免费且不需要任何 API 密钥 ❌&#x1f511; 该项目的特点是使用G4F API 的WebUI …

他做了一个「ChatGPT 杀手」,a16z 抢着投

比「GPT 侦探」更重要的是&#xff0c;AI 生成内容在不同行业的「容忍度」。 图片来源&#xff1a;由无界版图AI工具生成 作者 | 美漪编辑 | 靖宇 最近两个月&#xff0c;科技圈最热的话题&#xff0c;无疑是 OpenAI 推出的对话式 AI 应用 ChatGPT&#xff0c;不仅可以让它给你…

巴比特 | 元宇宙每日必读:ChatGPT「代码解释器」正式解禁,它补齐了ChatGPT的哪些短板?用户该如何使用?...

摘要&#xff1a;7月9日&#xff0c;OpenAI 的聊天机器人 ChatGPT 推出了新功能&#xff1a;代码解释器&#xff08;Code Interpreter&#xff09;。这个新功能已经对所有 Plus 订阅用户开放&#xff0c;其扩展了 ChatGPT 的功能&#xff0c;为用户带来了更好的交互式编程体验和…

ChatGPT应用组队学习来了!

Datawhale学习 联合主办&#xff1a;Datawhale、百度文心 Datawhale联合百度文心&#xff0c;五月为大家带来AIGC应用专题&#xff1a;大模型从入门到应用&#xff0c;学习大纲如下&#xff08;文末整理了这次学习的所有资料&#xff09;&#xff1a; 参与学习 ▶ 活动时间&am…

阿尔法狗咬向ChatGPT七寸

图片来源&#xff1a;由无界AI生成 瞄准ChatGPT&#xff0c;谷歌的下一枚炮弹已经准备好&#xff0c;只待发射。而担负起发射任务的&#xff0c;是谷歌DeepMind。 昨天&#xff0c;谷歌DeepMind的CEO德米斯哈萨比斯&#xff08;Demis Hassabis&#xff09;在采访中放出豪言&…

谷歌版ChatGPT突然公测!上手实测结果在此,体验申请通过飞快

杨净 金磊 发自 凹非寺量子位 | 公众号 QbitAI 谷歌吃了大亏之后&#xff0c;这次一声不吭&#xff0c;放了大招&#xff1a; 对标ChatGPT的Bard测试版&#xff0c;刚刚正式对外发布。 而且这次用户在申请候补名单之后&#xff0c;无需经历漫长的等待时间。 没错&#xff0c;量…

对抗 ChatGPT 的创业武器:专注和紧密的反馈循环

ChatGPT 超越谷歌主导地位 在我的上一篇文章中,我探讨了 ChatGPT 超越谷歌主导地位的可能牛市案例。但我也对我认为是熊市的情况表示赞赏。正如我提到的,ChatGPT 的无界界面有点像,而不是 DoorDash 的重点推出策略,DoorDash 在美国所有城市和商品类别中同时推出,当你订购…

chatgpt赋能Python-python_queque

Python Queue模块实现队列的介绍 Python语言是一种通俗易懂、功能丰富的编程语言。它的标准库还包括许多有用的模块&#xff0c;用于实现各种数据结构和算法。其中&#xff0c;Queue模块是一种实现队列的模块。这个模块实现了多线程编程时所必需的队列数据结构。 什么是队列&…

ChatGPT已能操控机器人,工程师连代码都不用写,网友:微软在搞天网?

Alex 发自 凹非寺量子位 | 公众号 QbitAI 当我还在跟ChatGPT吹牛尬聊时&#xff0c;有人已经在拿它操控机器人了。 不是别人&#xff0c;正是OpenAI的金主爸爸、不久前刚拿ChatGPT“重新发明搜索引擎”的微软。 到目前为止&#xff0c;开发者调教机器人不仅技术门槛高&#xff…

火爆外网的ChatGPT,改Bug,敲代码不在话下

目录 前言 一、ChatGPT 是什么&#xff1f; 二、ChatGPT到底有什么用 1.可以回答问题 2.帮你创作文章和标题 3.调试代码和修复代码 4.检测安全漏洞&#xff0c;也许还能创建PoC 总结 前言 这几天ChatGPT AI 可谓是火的一塌糊涂&#xff0c;那么它到底是什么&#xff1f…

Python使用itchat库+图灵机器人(新手上路)

前不久有个朋友说&#xff0c;谁谁的男朋友写个机器人&#xff0c;然后聊天很嗨的样子&#xff0c;看下面图&#xff0c;然后今天下午闲着&#xff0c;就把整理了下思路&#xff0c;采用Python进行如下开发&#xff0c;具体步骤如下&#xff1a; 1、第一步&#xff0c;因为我是…

图灵 | 计算机器与智能

【“计算机器与智能”选自《Mind》&#xff0c;no.2236&#xff08;1950.10&#xff09;&#xff0c;P433-460。牛津大学出版社允许重印。刘西瑞、王汉琦 翻译】 1. 模仿游戏 我建议来考虑这个问题 &#xff1a;“机器能够思维吗&#xff1f;” 这可以从定义 “机 器” 和 “思…

图灵奖得主LeCun评ChatGPT不算创新,被网友骂柠檬精

“ChatGPT并不算创新。” “OpenAI做的这个东西跟其他实验室相比&#xff0c;根本算不上什么进步。” 这两天&#xff0c;图灵奖得主LeCun公开和大热趋势“唱反调”&#xff0c;瞬间引发网友围观。 要知道&#xff0c;ChatGPT功能强大又好玩&#xff0c;火爆全网&#xff0c;任…

本地化部署大语言模型 ChatGLM

本地化部署大语言模型 ChatGLM 本地化部署大语言模型 ChatGLM前期筹备GitHub 基础包语言模型文件基础配置显存查看方法 Anaconda 模块ChatGLM-6B 网页部署Anaconda 环境创建根目录操作基础依赖加载transformers 和 protobuf 库加载Pytorch 源修改依赖库补充补充依赖 pypi 配置c…

麻将AI 不完全信息博弈学习笔记(完结)

前言 在这学期的数据结构必修课中&#xff0c;老师向我们提供了两道题&#xff1a; 其一是六子棋问题&#xff1b; 其二是麻将AI问题&#xff1b; 前者是经典的完全信息博弈问题&#xff0c;根据我已有的知识&#xff0c;利用博弈树和合理的剪枝可以提供一种高效的解法&#x…

数据库入门教程--01建库建表插入数据以及数据的修改

if exists(select * from sysdatabases where name Datatest) Drop database Datatest go--判断是否已存在数据库Datatest&#xff0c;并删除 create database Datatest--创建数据库 on--创建数据文件 (nameDatatest,--数据库中文件名filenameD:\数据库练习文件夹\Datatest.mdf…

医疗版ChatGPT直播评测!治疗方案与真人医生96%一致

杨净 发自 凹非寺量子位 | 公众号 QbitAI 国内首个医疗大模型&#xff0c;已经在“接诊”患者了。 最近&#xff0c;一组AI医生医院真实站岗数据曝光&#xff1a; 共接诊120多名患者&#xff0c;从问诊、检查到诊疗方案全流程覆盖&#xff1b;涉及心内科、消化内科、呼吸内科、…