ChatGPT 和 GPT-4 的成功表明,通过强化训练的大型语言模型可以产生可扩展且强大的 NLP 应用程序。
但是,响应的有用性取决于提示,这导致用户探索提示工程空间。此外,大多数现实世界的 NLP 用例需要比单个 ChatGPT 会话更复杂。这就是像LangChain这样的库可以提供帮助的地方!
LangChain 是一个 Python 库,可帮助您利用大型语言模型来构建自定义 NLP 应用程序。
在本指南中,我们将探讨LangChain是什么以及您可以使用它构建什么。我们还将通过使用LangChain构建一个简单的问答应用程序来弄湿我们的脚。
让我们开始吧!
什么是LangChain?
LangChain 由 Harrison Chase 创建,是一个 Python 库,它为使用 LLM 构建 NLP 应用程序提供开箱即用的支持。您可以连接到各种数据和计算源,并构建在特定于域的数据源、私有存储库等上执行 NLP 任务的应用程序。
您可以使用LangChain构建的有趣应用程序包括(但不限于):
1, LangChain模块概述
接下来,让我们来看看LangChain中的一些模块:
语言大模型LLM
LLM 是 LangChain 的基本组件。它本质上是大型语言模型的包装器,有助于使用特定大型语言模型的功能和能力。
链Chains
如前所述,LLM 是 LangChain 中的基本单元。但是,正如名称LangChain所暗示的那样,您可以根据特定任务将LLM调用链接在一起。
例如,您可能需要从特定 URL 获取数据,汇总返回的文本,并使用生成的摘要回答问题。
链条也可以很简单。您可能需要读入用户输入,然后使用该输入来构造提示。然后可用于生成响应。
提示词Prompts
提示是任何 NLP 应用程序的核心。即使在 ChatGPT 会话中,答案也只与提示一样有用。为此,LangChain提供了提示模板,您可以使用这些模板来格式化输入和许多其他实用程序。
文档加载程序和实用程序
LangChain的Document Loaders和Utils模块分别有助于连接到数据源和计算源。
假设您有一个大型经济学文本语料库,您想在上面构建一个 NLP 应用程序。您的语料库可能是文本文件、PDF 文档、HTML 网页、图像等的混合体。目前,文档加载器利用 Python 库非结构化将这些原始数据源转换为可处理的文本。
utils 模块提供 Bash 和 Python 解释器会话等。这些适用于有助于直接与底层系统交互的应用程序。或者,当我们需要代码片段来计算特定的数学量或解决问题而不是计算一次答案时。
智能体Agent
我们提到过,“链”可以帮助将一系列 LLM 调用链接在一起。但是,在某些任务中,调用的顺序通常不是确定性的。下一步可能取决于用户输入和前面步骤中的响应。
对于此类应用程序,LangChain库提供了“智能体”,这些代理可以根据沿途的输入而不是硬编码的确定性序列来执行操作。
除此之外,LangChain还提供与向量数据库的集成,并具有用于维护LLM调用之间状态的内存功能,等等。
2, 使用LangChain构建问答应用程序
现在我们已经了解了LangChain,让我们通过五个简单的步骤使用LangChain构建一个问答应用程序:
第 1 步 – 设置开发环境
在开始编码之前,让我们先设置开发环境。我假设您的工作环境中已经安装了 Python。
您现在可以使用 pip 安装 LangChain 库:
pip install langchain
由于我们将使用 OpenAI 的语言模型,因此我们还需要安装 OpenAI SDK:
第 2 步 – 将OPENAI_API_KEY设置为环境变量
接下来,登录您的 OpenAI 帐户。导航到帐户设置>查看 API 密钥。生成密钥并复制它。
在 Python 脚本中,使用 os 模块并点击环境变量字典 。将“OPENAI_API_KEY”设置为您刚刚复制的密钥:os.environ
第 3 步 – 使用 LangChain 进行简单的 LLM 调用
现在我们已经安装了所需的库,让我们看看如何使用 LangChain 进行简单的 LLM 调用。
为此,让我们导入 OpenAI 包装器。在此示例中,我们将使用 text-davinci-003 模型:
让我们定义一个问题字符串并生成一个响应:
It is difficult to predict which programming language will be the most popular in 2023. However, the most popular programming languages today are JavaScript, Python, Java, C++, and C#, so these are likely to remain popular for the foreseeable future. Additionally, newer languages such as Rust, Go, and TypeScript are gaining traction and could become popular choices in the future.
第 4 步 – 创建提示模板
让我们在学习一门新编程语言的顶级资源上再问一个问题,比如说 Golang:
虽然这对初学者来说效果很好,但当我们试图策划一个资源列表来学习编程语言和技术堆栈列表时,它很快就会变得重复。
这就是提示模板派上用场的地方。您可以创建可以使用一个或多个输入变量设置格式的模板。
我们可以创建一个简单的模板来获取前 k 个资源来学习任何技术堆栈。在这里,我们使用 and 作为:kthisinput_variables
第 5 步 – 运行我们的第一个 LLM 链
我们现在有一个 LLM 和一个提示模板,我们可以在多个 LLM 调用中重用它们。
让我们继续创建一个 LLMChain:
您现在可以将输入作为字典传入并运行 LLM 链,如下所示:
总结
这就结束了!您知道如何使用 LangChain 构建一个简单的问答应用程序。我希望你已经对LangChain的功能有了初步的了解。下一步,尝试探索LangChain以构建更多有趣的应用程序。祝您编码愉快!
文章来源:wearefram.com
20 天前
📢 OpenAI即将发布GPT-4.1,多模态能力再升级! 据多家科技媒体报道,OpenAI计划于下周(2025年4月中旬)推出GPT-4.1,作为GPT-4o的升级版本,进一步强化多模态推理能力,并推出轻量级mini和nano版本。 🔍 关键升级点 更强的多模态处理 GPT-4.1将优化对文本、音频、图像的实时处理能力,提升跨模态交互的流畅度。 相比GPT-4o,新模型在复杂推理任务(如视频理解、语音合成等)上表现更优。 轻量化版本(mini & nano) GPT-4.1 mini 和 nano 将面向不同应用场景,降低计算资源需求,适合移动端或嵌入式设备。 配套新模型(o3 & o4 mini) OpenAI还将推出o3推理模型(满血版)和o4 mini,优化特定任务性能。 部分代码已在ChatGPT网页端被发现,表明发布临近。 ⏳ 发布时间与不确定性 原定下周发布,但OpenAI CEO Sam Altman 曾预警可能因算力限制调整计划。 同期,ChatGPT已升级长期记忆功能,可回顾用户历史对话,提供个性化服务(Plus/Pro用户已开放)。 🌍 行业影响 谷歌(Gemini AI)和微软(Copilot)近期也强化了AI记忆功能,竞争加剧。 GPT-4.1可能进一步巩固OpenAI在多模态AI领域的领先地位,推动商业应用(如智能客服、内容创作等)。 📌 总结:GPT-4.1的发布标志着OpenAI在多模态AI上的又一次突破,但具体性能提升和落地效果仍需观察。我们将持续关注官方更新! (综合自腾讯新闻、The Verge、搜狐等)
1 个月前
OpenAI近期发布了GPT-4o模型,新增的原生图像生成功能在网络上引发了广泛关注。用户可以通过上传图片并输入提示词,将其转换为吉卜力 ( Ghibli ) 风格的艺术作品。这种简单易用的创作方式迅速降低了艺术创作的门槛,使任何人都能轻松生成具有宫崎骏标志性手绘风格、柔和色调和梦幻自然元素的图片。 由于该功能的火爆,OpenAI首席执行官萨姆·奥特曼(Sam Altman)在社交媒体上表示:“看到大家如此喜爱ChatGPT的图像功能非常有趣,但我们的GPU快扛不住了。”他提到,虽然目前对生成次数进行了限制,但这只是暂时的,公司正在努力提升处理效率,免费用户将“很快”每天最多可生成三张图像。 然而,这一热潮也引发了关于版权的讨论。有网友指出,OpenAI可能未经授权使用了吉卜力工作室的作品进行训练,涉嫌侵犯版权。此前,有开发者因推出将照片转换为吉卜力风格的应用程序,收到了吉卜力工作室的律师函,要求下架相关应用。 此外,吉卜力工作室的创始人宫崎骏曾在2016年公开表达对AI生成动画的反感,认为其“令人作呕”,并称这是对生命的侮辱。 尽管存在争议,GPT-4o的这一功能无疑展示了AI在艺术创作领域的强大潜力,但也提醒我们在享受技术便利的同时,需要关注并尊重原创作品的版权和艺术家的权益。
1 个月前
谷歌大模型与人脑语言处理机制研究由谷歌研究院与普林斯顿大学、纽约大学等合作开展。3 月上旬,谷歌的研究成果表明大模型竟意外对应人脑语言处理机制。他们将真实对话中的人脑活动与语音到文本 LLM 的内部嵌入进行比较,发现两者在线性相关关系上表现显著,如语言理解顺序(语音到词义)、生成顺序(计划、发音、听到自己声音)以及上下文预测单词等方面都有惊人的一致性 研究方法:将真实对话中的人脑活动与语音到文本LLM的内部嵌入进行比较。使用皮层电图记录参与者在开放式真实对话时语音生成和理解过程中的神经信号,同时从Whisper中提取低级声学、中级语音和上下文单词嵌入,开发编码模型将这些嵌入词线性映射到大脑活动上。 具体发现 语言理解与生成顺序:在语言理解过程中,首先是语音嵌入预测沿颞上回(STG)的语音区域的皮层活动,几百毫秒后,语言嵌入预测布罗卡区(位于额下回;IFG)的皮层活动。在语言生成过程中,顺序则相反,先由语言嵌入预测布罗卡区的皮层活动,几百毫秒后,语音嵌入预测运动皮层(MC)的神经活动,最后,在说话者发音后,语音嵌入预测STG听觉区域的神经活动。这反映了神经处理的顺序,即先在语言区计划说什么,然后在运动区决定如何发音,最后在感知语音区监测说了什么。 神经活动与嵌入的关系:对于听到或说出的每个单词,从语音到文本模型中提取语音嵌入和基于单词的语言嵌入,通过估计线性变换,可以根据这些嵌入预测每次对话中每个单词的大脑神经信号。全脑分析的定量结果显示,在语音生成和语音理解过程中,不同脑区的神经活动与语音嵌入和语言嵌入的峰值存在特定的先后顺序和对应关系。 “软层次”概念:尽管大模型在并行层中处理单词,人类大脑以串行方式处理它们,但反映了类似的统计规律。大脑中较低级别的声学处理和较高级别的语义处理部分重叠,即存在“软层次”概念。例如,像IFG这样的语言区域不仅处理单词级别的语义和句法信息,也捕捉较低级别的听觉特征;而像STG这样的低阶语音区域在优先处理声学和音素的同时,也能捕捉单词级别的信息。 以往相关研究成果 2022年发表在《自然神经科学》上的论文显示,听者大脑的语言区域会尝试在下一个单词说出之前对其进行预测,且在单词发音前对预测的信心会改变在单词发音后的惊讶程度(预测误差),证明了自回归语言模型与人脑共有的起始前预测、起始后惊讶和基于嵌入的上下文表征等基本计算原理。 发表在《自然通讯》的论文发现,大模型的嵌入空间几何图形所捕捉到的自然语言中单词之间的关系,与大脑在语言区诱导的表征(即大脑嵌入)的几何图形一致。 后续研究还发现,虽然跨层非线性变换在LLMs和人脑语言区中相似,但实现方式不同。Transformer架构可同时处理成百上千个单词,而人脑语言区似乎是按顺序、逐字、循环和时间来分析语言。 总之,该研究表明,语音到文本模型嵌入为理解自然对话过程中语言处理的神经基础提供了一个连贯的框架,尽管大模型与人脑在底层神经回路架构上存在明显不同,但在处理自然语言时有着一些相似的计算原则。
1 个月前
根据《Nature》最新发表的研究,非营利研究机构METR发现了一项被称为“智能体摩尔定律”的规律,即AI智能体(Agent)在完成长期任务方面的能力每7个月翻一番。这一发现揭示了AI在任务完成时间跨度上的指数级增长趋势,并提出了“50%-任务完成时间跨度”这一新指标来衡量AI的能力变化。 核心发现 能力翻倍周期:自2019年以来,AI智能体完成任务的时间跨度每7个月翻一番。这意味着,如果2019年AI完成某项任务所需时间对应人类需要10分钟,那么7个月后,这一时间将缩短至20分钟。 加速趋势:2024年,AI能力的增长速度进一步加快,部分最新模型的能力每3个月翻一番。 未来预测:按照这一趋势,预计5年后(即2030年左右),AI将能够完成许多当前需要人类花费一个月时间才能完成的任务。 研究方法 METR团队通过以下步骤验证了这一规律: 任务设计:设计了170个多样化任务,涵盖软件工程、机器学习、网络安全等领域,并测量人类专家完成这些任务所需的时间,建立“人类基准线”。 指标引入:提出了“50%-任务完成时间跨度”指标,即AI在50%成功率下完成任务的时间长度。这一指标对数据分布的微小变化具有鲁棒性。 模型评估:评估了2019年至2025年间发布的13个前沿AI模型(如GPT系列、Sonnet 3.7等),通过逻辑回归分析计算每个模型的时间跨度。 验证与外部实验 为了验证结果的可靠性,研究团队进行了多项外部实验,包括: 回溯预测:使用2023-2025年数据验证趋势一致性。 任务混乱度分析:评估任务复杂性对AI性能的影响,发现AI在复杂任务上的提升速度与简单任务相似。 基准测试:在SWE-bench等数据集上验证了类似的指数增长趋势。 意义与影响 技术进步:这一发现标志着AI在执行长期任务能力上的显著进步,可能推动AI在软件开发、研究等领域的广泛应用。 劳动力市场影响:AI能力的快速提升可能对劳动力市场产生深远影响,未来或替代部分人类工作,尤其是重复性和耗时任务。 社会挑战:研究提醒社会各界需关注AI技术进步带来的就业和经济挑战,并提前制定应对策略。 未来展望 METR团队预测,按照当前趋势,AI可能在2028年11月达到一个月的任务时间跨度,保守估计则在2031年2月实现。尽管研究存在任务局限性和未来不确定性,但团队确信AI能力每年有1~4倍的增长趋势。 这项研究为AI技术的发展提供了新的量化标准,同时也引发了对AI未来应用和影响的深入思考。
1 个月前
阿里推出新夸克,集成AI对话、深度搜索、深度执行等功能,标志着其从搜索引擎向AI Agent的转型。 新夸克接入通义系列模型,用户规模超2亿,DAU达3430万,位居AI应用榜首。
1 个月前
2025 年 3 月 12 日,清华大学 NLP 实验室联手中南大学等提出 APB 序列并行推理框架,可解决长上下文远距离语义依赖问题,在 128K 文本上比 Flash Attention 快约 10 倍。
1 个月前
2025 年 3 月 12 日消息,OpenAI 发布 Agent 工具包,推出一组新的 API 和工具以简化 Agent 应用程序开发,包括新的 Responses API、网络搜索、文件搜索、计算机使用工具和 Agents SDK 等,还计划在接下来的几周和几个月内发布其他工具和功能。
1 个月前
在自然语言处理和人工智能领域,token通常是指文本中的基本单元,比如一个单词、一个标点符号或者一个子词等。100万token的输入输出量是一个较大的数据规模,以下从不同角度来理解这一概念: 从文本长度角度 一般来说,英文中一个单词可以看作一个token,中文可能一个字或一个词作为一个token。如果平均每个token对应5个字符(这只是一个粗略的估计,实际会因语言、文本类型等因素而不同),那么100万token大约对应500万个字符。以一本普通的中文书籍每页约1000字来算,500万个字符相当于5000页的书籍内容,这是非常庞大的文本量。 从处理难度角度 对于语言模型等人工智能系统来说,处理100万token的输入输出意味着要处理大量的信息。模型需要在这么多的token中理解语义、语法关系,捕捉上下文信息等,这对模型的容量、计算能力和算法设计都提出了很高的要求。模型需要有足够多的参数和足够深的网络结构,才能有效地处理如此大规模的文本数据,以生成准确、合理的输出。 处理如此大量的token还需要消耗大量的计算资源和时间。在训练过程中,可能需要使用高性能的GPU或TPU集群,花费数天甚至数周的时间才能完成训练。在推理阶段,也需要较多的计算资源来快速处理输入并生成输出,以满足实时性或高效性的要求。 从应用场景角度 机器翻译:如果用于机器翻译任务,100万token可能包含了各种领域的大量句子和段落。这意味着模型可以学习到丰富的语言表达方式和翻译模式,能够处理更复杂、更专业的翻译任务,提高翻译的准确性和质量。 文本生成:在文本生成任务中,如创作小说、新闻报道等,100万token的输入可以让模型学习到大量的文本风格、主题和结构信息,从而生成更丰富多样、更具创意和逻辑性的文本内容。 智能客服:对于智能客服系统,100万token的输入输出量可以使系统处理大量的用户咨询和问题,学习到各种常见问题的回答模式和解决方案,从而更准确、更快速地为用户提供服务,提高用户满意度。
1 个月前
埃隆·马斯克领导的美国政府效率部(DOGE)正在开发一款名为 AutoRIF(Automated Reduction in Force)的自动裁员软件,旨在帮助美国政府大规模“精简”工作人员。 AutoRIF 最初由美国国防部在二十多年前开发,已多次更新,并被多个机构用于加速裁员进程。目前,DOGE 的工程师,包括前特斯拉工程师 Riccardo Biasini,正在对 AutoRIF 的代码进行编辑。传统上,裁员由人力资源官员手动处理,首先针对试用期员工。然而,随着新软件和人工智能的使用,政府员工担心未来可能会更大规模、更快速地进行裁员。 最近,美国人事管理办公室(OPM)向政府工作人员发送电子邮件,要求他们列出每周的工作成果,这些信息据称将被输入大型语言模型(LLM)以评估员工的必要性。一些机构,如联邦调查局(FBI),建议员工不要回复这些电子邮件。目前尚不清楚 DOGE 对 AutoRIF 的具体改动内容。 此外,DOGE 的一系列举措显示,第二轮大规模裁员可能更加迅猛。 然而,值得注意的是,政府效率部的举措可能触及根深蒂固的既得利益政治势力,在美国政治极化和两党矛盾激化的背景下,马斯克作为部门领导人可能面临挑战。 总而言之,DOGE 正在推进 AutoRIF 软件的开发,以实现政府裁员的自动化和高效化,但这一过程也引发了对法律、隐私和道德方面的担忧。 (资讯来源:wired.com)
2 个月前
由斯坦福大学教授 Stefano Ermon 创立的初创公司 Inception Labs 推出了 Mercury Coder,这是第一个大规模基于扩散的语言模型 (dLLM)。与按顺序生成文本的传统大型语言模型 (LLM) 不同,Mercury Coder 使用扩散方法同时处理整个序列,类似于 AI 图像和视频生成。结果:该模型声称比现有模型快十倍,运行成本也明显降低。 产品要点: Mercury Coder 是第一个基于扩散的大型语言模型 (dLLM),它使用粗到细的方法生成文本,而不是按顺序预测标记。 它的速度比传统 LLM 快 10 倍,在 NVIDIA H100 GPU 上每秒生成超过 1000 个Token。 早期的基准测试表明,Mercury Coder 可与 GPT-4o Mini 和 Claude 3.5 Haiku 等模型相媲美,同时更具成本效益。 该模型基于斯坦福大学教授 Stefano Ermon 的研究,使用了一种不同的方法——从文本的粗略估计开始,然后并行进行提炼,类似于 Midjourney 和 OpenAI 的 Sora 等 AI 图像和视频生成器的运行方式。 据 Inception Labs 称,Mercury Coder 不仅与众不同,而且速度要快得多。该公司声称该模型可以在 NVIDIA H100 上每秒生成超过 1000 个Token,这种速度通常需要 Groq 或 Cerebras 等专用硬件加速器。该方法还降低了计算成本,使其成为希望优化 AI 基础设施的企业的一个引人注目的选择。 早期基准测试表明,Mercury Coder 的性能可与领先的 LLM 相媲美。在头对头编码评估中,该模型与速度优化模型(如 OpenAI 的 GPT-4o Mini 和 Anthropic的 Claude 3.5 Haiku)相当或优于速度优化模型,同时运行延迟仅为其一小部分。如果这些结果在实际应用中是一致的,那么 dLLM 可以提供传统 LLM 的可行替代方案,尤其是在需要高速响应的场景中,例如客户支持、代码生成和企业自动化。 行业领导者正在注意到这一点。AI 研究员 Andrej Karpathy 指出,Mercury Coder 的扩散方法与常态不同,他指出:“为什么文本生成抵制扩散,而图像和视频生成却接受了它,这一直是个谜。这个模型可以揭示 AI 文本生成的新优势和劣势。 目前,Inception Labs 将 Mercury Coder 定位为现有模型的直接替代方案,提供 API 访问和本地部署。该公司已经与希望减少 AI 延迟和成本的财富 100 强企业合作。Inception 还提及了未来的 dLLM 版本,包括针对对话式 AI 优化的模型。 基于扩散的 LLM 是否会成为传统模型的严重竞争对手还有待观察。但借助 Mercury Coder,Inception Labs 提出了一个令人信服的案例,即 AI 文本生成不必受到当今主流模型中顺序架构的限制。 (资讯来源:Maginative)