新書推薦:
《
空气炸锅懒人食谱
》
售價:NT$
254.0
《
大学问·命若朝霜:《红楼梦》里的法律、社会与女性
》
售價:NT$
403.0
《
维京人新史:从斯堪的纳维亚到丝绸之路
》
售價:NT$
454.0
《
孩子·挑战(全新图解版)
》
售價:NT$
398.0
《
大明1644(全二册)
》
售價:NT$
490.0
《
爱的流动
》
售價:NT$
301.0
《
帝国之翼:胡林翼的官场与战场
》
售價:NT$
398.0
《
史记全本注译(布面精装,全套9册) 附赠“朕来也”文创扑克牌1副!
》
售價:NT$
3315.0
編輯推薦:
ChatGPT和OpenAI开发的GPT模型不仅改变了我们的写作和研究方式,还改变了我们处理信息的方式。《LangChain大模型应用开发》讨论了聊天模式下的LLM的运作、能力和局限性,包括ChatGPT和Gemini。书中通过一系列实际例子演示了如何使用LangChain框架构建可随时投入生产、响应迅速的LLM应用程序,用于客户支持、软件开发辅助和数据分析等任务,这说明了LLM在实际应用中的广泛用途。
內容簡介:
《LangChain大模型应用开发》帮助读者在项目中探索微调、提示工程以及部署和监控的最佳实践时,解锁LLM的全部潜力。无论你是构建创意写作工具、开发复杂的聊天机器人,还是制作尖端的软件开发辅助工具,《LangChain大模型应用开发》都将是你的路线图,帮助你自信且创造性地掌握生成式人工智能的变革力量。
主要内容
●使用LangChain创建LLM应用,如问答系统和聊天机器人
●理解变换模型和注意力机制
●使用pandas和Python自动进行数据分析和可视化
●掌握提示工程以提高LLM性能
●微调LLM并了解释放其力量的工具
●将LLM作为服务部署,并应用评估策略
●使用开源LLM与文档本地互动,以防止数据泄露
關於作者:
Ben Auffarth是一位经验丰富的数据科学领导者,拥有计算神经科学博士学位。Ben分析过TB级数据,在核数多达64k的超级计算机上模拟过大脑活动,设计并开展过湿法实验室实验,构建过处理承保应用的生产系统,并在数百万文档上训练过神经网络。他著有Machine Learning for Time?Series和Artificial Intelligence with Python Cookbook两本书,现于Hastings Direct从事保险工作。
目錄 :
第1章 什么是生成式人工智能 1
1.1 生成式人工智能简介 1
1.1.1 什么是生成式模型 4
1.1.2 为什么是现在 5
1.2 了解大规模语言模型 6
1.2.1 GPT模型是如何工作的 7
1.2.2 GPT模型是如何发展的 12
1.2.3 如何使用大规模语言模型 17
1.3 什么是文本到图像模型 18
1.4 人工智能在其他领域的作用 22
1.5 小结 23
1.6 问题 23
第2章 面向大规模语言模型应用程序:LangChain 25
2.1 超越随机鹦鹉 25
2.1.1 大规模语言模型的局限性 27
2.1.2 如何减少大规模语言模型的局限性 27
2.1.3 什么是大规模语言模型应用程序 28
2.2 LangChain简介 30
2.3 探索LangChain的关键组件 33
2.3.1 链 33
2.3.2 智能体 34
2.3.3 记忆 35
2.3.4 工具 36
2.4 LangChain如何工作 38
2.5 LangChain软件包结构 40
2.6 LangChain与其他框架的比较 41
2.7 小结 43
2.8 问题 44
第3章 LangChain入门 45
3.1 如何为本书设置依赖 46
3.2 探索API模型集成 49
3.2.1 环境设置和API密钥 50
3.2.2 OpenAI 51
3.2.3 Hugging Face 52
3.2.4 谷歌云平台 53
3.3 大规模语言模型交互基石 54
3.3.1 大规模语言模型 54
3.3.2 模拟大规模语言模型 55
3.3.3 聊天模型 56
3.3.4 提示 57
3.3.5 链 59
3.3.6 LangChain表达式语言 60
3.3.7 文本到图像 61
3.3.8 Dall-E 61
3.3.9 Replicate 63
3.3.10 图像理解 64
3.4 运行本地模型 65
3.4.1 Hugging Face transformers 66
3.4.2 llama.cpp 68
3.4.3 GPT4All 69
3.5 构建客户服务应用程序 70
3.5.1 情感分析 70
3.5.2 文本分类 71
3.5.3 生成摘要 72
3.5.4 应用map-reduce 73
3.5.5 监控词元使用情况 76
3.6 小结 77
3.7 问题 77
第4章 构建得力助手 79
4.1 使用工具回答问题 80
4.1.1 工具使用 80
4.1.2 定义自定义工具 81
4.1.3 工具装饰器 82
4.1.4 子类化BaseTool 82
4.1.5 StructuredTool数据类 83
4.1.6 错误处理 84
4.2 使用工具实现研究助手 85
4.3 探索推理策略 89
4.4 从文件中提取结构化信息 95
4.5 通过事实核查减少幻觉 100
4.6 小结 102
4.7 问题 102
第5章 构建类似ChatGPT的聊天机器人 103
5.1 什么是聊天机器人 104
5.2 从向量到RAG 105
5.2.1 向量嵌入 106
5.2.2 在LangChain中的嵌入 107
5.2.3 向量存储 109
5.2.4 向量索引 110
5.2.5 向量库 111
5.2.6 向量数据库 112
5.2.7 文档加载器 117
5.2.8 LangChain中的检索器 118
5.3 使用检索器实现聊天机器人 120
5.3.1 文档加载器 121
5.3.2 向量存储 122
5.3.3 对话记忆:保留上下文 125
5.4 调节响应 130
5.5 防护 131
5.6 小结 132
5.7 问题 132
第6章 利用生成式人工智能开发软件 133
6.1 软件开发与人工智能 134
6.2 使用大规模语言模型编写代码 138
6.2.1 Vertex AI 138
6.2.2 StarCoder 139
6.2.3 StarChat 143
6.2.4 Llama 2 144
6.2.5 小型本地模型 145
6.3 自动化软件开发 147
6.3.1 实现反馈回路 149
6.3.2 使用工具 152
6.3.3 错误处理 154
6.3.4 为开发人员做最后的润色 155
6.4 小结 157
6.5 问题 157
第7章 用于数据科学的大规模语言模型 159
7.1 生成式模型对数据科学的影响 160
7.2 自动化数据科学 162
7.2.1 数据收集 163
7.2.2 可视化和EDA 164
7.2.3 预处理和特征提取 164
7.2.4 AutoML 164
7.3 使用智能体回答数据科学的问题 166
7.4 使用大规模语言模型进行数据探索 169
7.5 小结 173
7.6 问题 173
第8章 定制大规模语言模型及其输出 175
8.1 调节大规模语言模型 176
8.2 微调 180
8.2.1 微调设置 181
8.2.2 开源模型 184
8.2.3 商业模型 187
8.3 提示工程 188
8.3.1 提示技术 190
8.3.2 思维链提示 192
8.3.3 自一致性 193
8.3.4 思维树 195
8.4 小结 198
8.5 问题 198
第9章 生产中的生成式人工智能 199
9.1 如何让大规模语言模型应用程序做好生产准备 200
9.2 如何评估大规模语言模型应用程序 202
9.2.1 比较两个输出 204
9.2.2 根据标准进行比较 205
9.2.3 字符串和语义比较 206
9.2.4 根据数据集进行评估 207
9.3 如何部署大规模语言模型应用程序 211
9.3.1 FastAPI Web服务 213
9.3.2 Ray 216
9.4 如何观察大规模语言模型应用程序 219
9.4.1 跟踪响应 221
9.4.2 可观察性工具 223
9.4.3 LangSmith 224
9.4.4 PromptWatch 225
9.5 小结 227
9.6 问题 227
第10章 生成式模型的未来 229
10.1 生成式人工智能的现状 229
10.1.1 挑战 230
10.1.2 模型开发的趋势 231
10.1.3 大科技公司与小企业 234
10.1.4 通用人工智能 235
10.2 经济后果 236
10.2.1 创意产业 238
10.2.2 教育 239
10.2.3 法律 239
10.2.4 制造业 239
10.2.5 医学 240
10.2.6 军事 240
10.3 社会影响 240
10.3.1 虚假信息与网络安全 241
10.3.2 法规和实施挑战 241
10.4 未来之路 243
內容試閱 :
在充满活力、飞速发展的人工智能领域,生成式人工智能作为一股颠覆性力量脱颖而出,它将改变我们与技术的交互方式。《LangChain大模型应用开发》是对大规模语言模型(Large Language Model,LLM)(推动这一变革的强大引擎)这一错综复杂的世界的一次探险,旨在让开发人员、研究人员和人工智能爱好者掌握利用这些工具所需要的知识。
探究深度学习的奥秘,让非结构化数据焕发生机,了解GPT-4等大规模语言模型如何为人工智能影响企业、社会和个人开辟道路。随着科技行业和媒体对这些模型的能力和潜力的热切关注,现在正是探索它们如何发挥作用、蓬勃发展并推动我们迈向未来的大好时机。
这本书就像你的指南针,指引你理解支撑大规模语言模型的技术框架。本书提供了一个引子,让你了解它们的广泛应用、基础架构的精巧以及其存在的强大意义。《LangChain大模型应用开发》面向不同的读者,从初涉人工智能领域的人到经验丰富的开发人员。我们将理论概念与实用的、代码丰富的示例融为一体,让你不仅从知识上掌握大规模语言模型,还能创造性地、负责任地应用大规模语言模型。
当我们一起踏上这段旅程时,让我们做好准备,塑造此时此刻正在展开的人工智能生成叙事,同时也被它所塑造——在这一叙事中,你将用知识和远见武装自己,站在这一令人振奋的技术演进的最前沿。
读者对象
《LangChain大模型应用开发》面向开发人员、研究人员以及其他任何有兴趣进一步了解大规模语言模型的人。本书的编写简洁明了,包含大量代码示例,你可以边做边学。
无论是初学者还是经验丰富的开发人员,对于任何想要充分利用大规模语言模型并在大规模语言模型和LangChain方面保持领先的人来说,这本书都将是宝贵的资源。
主要内容
第1章介绍了以深度学习为核心的生成式人工智能如何彻底改变了文本、图像和视频的处理方式。该章介绍了大规模语言模型等生成式模型,详细介绍了它们的技术基础和在各个领域的变革潜力;涵盖了这些模型背后的理论,重点介绍了神经网络和训练方法,以及类人内容的创建。该章概述了人工智能的演变、Transformer架构、文本到图像模型(如Stable Diffusion),并涉及声音和视频应用。
第2章揭示了超越大规模语言模型随机鹦鹉(模仿语言但无法真正理解语言的模型)的必要性。针对过时的知识、行动限制和幻觉风险等局限性,该章重点介绍了LangChain如何集成外部数据和干预措施,以实现更连贯的人工智能应用。该章批判性地探讨了随机鹦鹉的概念,揭示了产生流畅但无意义语言的模型缺陷,并阐述了提示、思维链推理和检索增强生成是如何改善大规模语言模型以解决语境、偏差和不透明等问题。
第3章介绍了基础知识,帮助设置运行书中所有示例的环境。该章首先介绍了Docker、Conda、Pip和Poetry的安装指南,然后详细介绍了如何集成OpenAI的ChatGPT和Hugging Face等不同提供商的模型,包括获取必要的API密钥。该章还讨论了在本地运行开源模型的问题。最后,该章将构建一个大规模语言模型应用程序来协助客户服务智能体,以实例说明LangChain如何简化操作并提高响应的准确性。
第4章通过加入事实核查来减少虚假信息,采用复杂的提示策略进行总结,整合外部工具来增强知识,从而将大规模语言模型转变为可靠的助手。该章探讨了用于信息提取的密度链(Chain of Density),以及用于自定义行为的LangChain装饰器和表达语言。该章还介绍了LangChain中处理长文档的map-reduce,并讨论了管理API使用成本的词元数监控。
该章着眼于实现一个Streamlit应用程序来创建交互式大规模语言模型应用程序,并利用函数调用和工具的使用来超越基本的文本生成。该章介绍了两种不同的智能体范式——规划-求解(plan-and-solve)和零样本(zero-shot)——以演示决策策略。
第5章深入探讨了利用检索增强生成(Retrieval-Augmented Generation,RAG)来增强聊天机器人的能力,这种方法可让大规模语言模型获取外部知识,提高其准确性和特定领域的熟练程度。该章讨论了文档向量化、高效索引以及使用Milvus和Pinecone等向量数据库进行语义搜索。我们实现了一个聊天机器人,结合调节链来确保负责任的沟通。这个聊天机器人可以在GitHub上找到,它是探索对话记忆和上下文管理等高级主题的基础。
第6章探讨了大规模语言模型在软件开发中的新兴作用,强调了人工智能在自动编码任务和充当动态编码助手方面的潜力。该章探讨了人工智能驱动的软件开发现状,用模型进行实验以生成代码片段,并介绍了使用LangChain智能体来自动化软件设计开发。对智能体性能的批判性反思强调了人类监督对减少错误和复杂设计的重要性,为人工智能和人类开发人员共生合作的未来奠定了基础。
第7章探讨了生成式人工智能与数据科学的交集,强调了大规模语言模型在提高生产力和推动科学发现方面的潜力。该章概述了当前通过AutoML实现数据科学自动化的范围,并将大规模语言模型与增强数据集和生成可执行代码等高级任务相结合,扩展了AutoML数据学科自动化概念。该章还介绍了使用大规模语言模型进行探索性数据分析、运行SQL查询和可视化统计数据的实用方法。最后,智能体和工具的使用展示了大规模语言模型如何解决以数据为中心的复杂问题。
第8章深入探讨了微调和提示工程等调节技术,这些技术对于定制大规模语言模型性能以适应复杂的推理和专业任务至关重要。该章对微调(fine-tuning)和提示工程(prompting)进行了解读。微调是指根据特定任务的数据对大规模语言模型进行进一步训练,而提示工程则是指战略性地引导大规模语言模型生成所需要的输出。该章还实施了高级提示策略,如少样本学习(few-shot?learning)和思维链(chain-of-thought),以增强大规模语言模型的推理能力。该章不仅提供了微调和提示工程的具体实例,还讨论了大规模语言模型的未来发展及领域应用。
第9章探讨了在实际应用中部署大规模语言模型的复杂性,涵盖了确保性能、满足监管要求、规模稳健性和有效监控的最佳实践。该章强调了评估、可观察性和系统化操作的重要性,以使生成式人工智能在客户参与和具有财务后果的决策中受益。该章还概述了利用Fast API、Ray等工具以及LangServe和 LangSmith等新工具部署和持续监控大规模语言模型应用程序的实用策略。这些工具可以提供自动评估和衡量标准,支持各部门负责任地采用生成式人工智能。
第10章探讨了生成式人工智能的潜在进步和社会技术挑战,探讨了这些技术对经济和社会的影响,讨论了工作取代、虚假信息及人类价值一致性等伦理问题。在各行各业为人工智能引发的颠覆性变革做好准备之际,本章反思了企业、立法者和技术专家建立有效治理框架的责任。该章还强调了引导人工智能发展以增强人类潜能的重要性,同时解决了深度伪造、偏见和人工智能武器化等风险;还强调了透明度、道德部署和公平使用的紧迫性,以积极引导生成式人工智能革命。
充分利用本书
要充分受益于本书所提供的价值,至少需要对Python的基本知识有一个了解。此外,掌握一些机器学习或神经网络的基础知识也会有所帮助,但这并不是必需的。请务必遵守第3章3.1节中设置的Python环境说明,并获取OpenAI和其他提供商的访问密钥。
notebook和项目使用方式
《LangChain大模型应用开发》的代码托管在GitHub上,网址是https://github.com/benman1/generative_ai_ with_langchain。在该仓库中,你可以找到每一章目录,其中包含了本书中需要的notebook和项目。也可扫描封底二维码下载本书源代码。如前所述,在使用代码之前,请确保按照第3章所述的说明安装必要的依赖项。如果你有任何问题或疑虑,请在Discord上提问或在GitHub上提交问题。
下载彩色图片
我们还提供了一个PDF文件,其中包含本书所用截图/图表的彩色图片。可扫描封底的二维码下载。
文本约定
本书中使用了一些文本约定。
CodeInText(文本代码):表示文本、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄中的代码词。例如“将下载的WebStorm-10*.dmg磁盘镜像文件挂载到系统中的另一个磁盘”。
代码块设置如下:
from langchain.chains import LLMCheckerChain
from langchain.llms import OpenAI
llm = OpenAI(temperature=0.7)
text = ”What type of mammal lays the biggest eggs?”
当我们希望你注意代码块中的特定部分时,相关的行或项会以粗体显示:
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token=”YOUR_API_TOKEN”)
pandas_ai = PandasAI(llm)
任何命令行输入或输出的写法如下:
pip install -r requirements.txt