随便推荐

新书推荐

LangChain入门指南:构建高可复用、可扩展的LLM应用程序

内容简介  · · · · · ·

这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。第1~2章概述LLM技术的发展背景和LangChain框架的设计理念。从第3章开始,分章深入介绍LangChain的6大模块,包括模型I/O、数据增强、链、记忆等,通过大量代码示例让读者了解其原理和用法。第9章通过构建PDF问答程序,帮助读者将之前学习的知识应用于实践。第10章则介绍集成,可拓宽LangChain的用途。第11章为初学者简要解析LLM的基础理论,如Transformer模型等。

《LangChain入门指南:构建高可复用、可扩展的LLM应用程序》以LangChain这个让人熟悉的框架为主线,引导读者一步一步掌握LLM应用开发流程,适合对大语言模型感兴趣的开发者、AI应用程序开发者阅读。

作者简介  · · · · · ·

李特丽,LangChain中文网联合创始人,优秀的软件工程师。曾翻译LangChain、OpenAi、Milvus等AI开发三件套的中文文档,帮助中国开发者快速上手AI开发。
康轶文,LangChain中文网创始人,2005年从个人站长做起,成为第一代SEO“大神”;2012年转型移动互联网营销,成为中国Apple Ads代理商,获得苹果千万美元授信;2022年转型月付制AI数字员工全托管服务,是一位经验丰富的数字员工和人工智能应用专家。

目录  · · · · · ·

  • 第1 章 LangChain:开启大语言模型时代的钥匙
    • 1.1 大语言模型概述
      • 1.1.1 什么是大语言模型
      • 1.1.2 大语言模型的发展
      • 1.1.3 大语言模型的应用场景
      • 1.1.4 大语言模型的基础知识
    • 1.2 LangChain 与大语言模型
  • 第2 章 LangChain 入门指南
    • 2.1 初识LangChain
      • 2.1.1 为什么需要LangChain
      • 2.1.2 LLM 应用开发的最后1 公里
      • 2.1.3 LangChain 的2 个关键词
      • 2.1.4 LangChain 的3 个场景
      • 2.1.5 LangChain 的6 大模块
    • 2.2 LangChain 的开发流程
      • 2.2.1 开发密钥指南
      • 2.2.2 编写一个取名程序
      • 2.2.3 创建你的第一个聊天机器人
    • 2.3 LangChain 表达式
  • 第3 章 模型I/O
    • 3.1 什么是模型I/O
    • 3.2 模型I/O 功能之模型包装器
      • 3.2.1 模型包装器分类
      • 3.2.2 LLM 模型包装器
      • 3.2.3 聊天模型包装器
    • 3.3 模型I/O 功能之提示词模板
      • 3.3.1 什么是提示词模板
      • 3.3.2 提示词模板的输入和输出
      • 3.3.3 使用提示词模板构造提示词
      • 3.3.4 少样本提示词模板
      • 3.3.5 多功能提示词模板
    • 3.4 模型I/O 功能之输出解析器
      • 3.4.1 输出解析器的功能
      • 3.4.2 输出解析器的使用
      • 3.4.3 Pydantic JSON 输出解析器
      • 3.4.4 结构化输出解析器
  • 第4 章 数据增强模块
    • 4.1 数据增强模块的相关概念
      • 4.1.1 LEDVR 工作流
      • 4.1.2 数据类型
    • 4.2 加载器
    • 4.3 嵌入模型包装器
      • 4.3.1 嵌入模型包装器的使用
      • 4.3.2 嵌入模型包装器的类型
    • 4.4 文档转换器
    • 4.5 向量存储库
      • 4.5.1 向量存储库的使用
      • 4.5.2 向量存储库的搜索方法
    • 4.6 检索器
      • 4.6.1 检索器的使用
      • 4.6.2 检索器的类型
  • 第5 章 链
    • 5.1 为什么叫链
      • 5.1.1 链的定义
      • 5.1.2 链的使用
      • 5.1.3 基础链类型
      • 5.1.4 工具链类型
    • 5.2 细说基础链
      • 5.2.1 LLM 链
      • 5.2.2 路由器链
      • 5.2.3 顺序链
    • 5.3 四大合并文档链
      • 5.3.1 Stuff 链
      • 5.3.2 Refine 链
      • 5.3.3 MapReduce 链
      • 5.3.4 重排链
    • 5.4 揭秘链的复杂性
      • 5.4.1 复杂链的“套娃”式设计
      • 5.4.2 LEDVR 工作流的终点:“上链”
  • 第6 章 记忆模块
    • 6.1 记忆模块概述
      • 6.1.1 记忆组件的定义
      • 6.1.2 记忆组件、链组件和Agent 组件的关系
      • 6.1.3 设置第一个记忆组件
      • 6.1.4 内置记忆组件
      • 6.1.5 自定义记忆组件
    • 6.2 记忆增强检索能力的实践
      • 6.2.1 获取外部数据
      • 6.2.2 加入记忆组件
    • 6.3 记忆增强Agent 能力的实践
    • 6.4 内置记忆组件的对比
      • 6.4.1 总结记忆组件
      • 6.4.2 会话记忆组件和会话窗口记忆组件的对比
      • 6.4.3 知识图谱记忆组件和实体记忆组件的比较
  • 第7 章 Agent 模块
    • 7.1 Agent 模块概述
      • 7.1.1 Agent 组件的定义
      • 7.1.2 Agent 组件的运行机制
      • 7.1.3 Agent 组件入门示例
      • 7.1.4 Agent 组件的类型
    • 7.2 Agent 组件的应用
      • 7.2.1 Agent 组件的多功能性
      • 7.2.2 自定义Agent 组件
      • 7.2.3 ReAct Agent 的实践
    • 7.3 工具组件和工具包组件
      • 7.3.1 工具组件的类型
      • 7.3.2 工具包组件的类型
    • 7.4 Agent 组件的功能增强
      • 7.4.1 Agent 组件的记忆功能增强
      • 7.4.2 Agent 组件的检索能力增强
  • 第8 章 回调处理器
    • 8.1 什么是回调处理器
      • 8.1.1 回调处理器的工作流程
      • 8.1.2 回调处理器的使用
      • 8.1.3 自定义链组件中的回调
    • 8.2 内置回调处理器
    • 8.3 自定义回调处理器
  • 第9 章 使用LangChain 构建应用程序
    • 9.1 PDF 问答程序
      • 9.1.1 程序流程
      • 9.1.2 处理PDF 文档
      • 9.1.3 创建问答链
    • 9.2 对话式表单
      • 9.2.1 OpenAI 函数的标记链
      • 9.2.2 标记链的使用
      • 9.2.3 创建提示词模板
      • 9.2.4 数据更新和检查
    • 9.3 使用LangChain 实现BabyAGI
      • 9.3.1 BabyAGI 介绍
      • 9.3.2 环境与工具
      • 9.3.3 向量存储
      • 9.3.4 构建任务链
      • 9.3.5 创建BabyAGI
      • 9.3.6 运行BabyAGI
  • 第10 章 集成
    • 10.1 集成的背景与LLM 集成
    • 10.2 LLM 集成指南
      • 10.2.1 Azure OpenAI 集成
      • 10.2.2 Hugging Face Hub 集成
    • 10.3 聊天模型集成指南
      • 10.3.1 Anthropic 聊天模型集成
      • 10.3.2 PaLM 2 聊天模型集成
      • 10.3.3 OpenAI 聊天模型集成
    • 10.4 向量库集成指南
      • 10.4.1 Chroma 集成
      • 10.4.2 Pinecone 集成
      • 10.4.3 Milvus 集成
    • 10.5 嵌入模型集成指南
      • 10.5.1 HuggingFaceEmbeddings 嵌入集成
      • 10.5.2 LlamaCppEmbeddings 嵌入集成
      • 10.5.3 Cohere 嵌入集成
    • 10.6 Agent toolkits 集成指南
      • 10.6.1 CSV Agent 的集成
      • 10.6.2 Pandas Dataframe Agent 的集成
      • 10.6.3 PowerBI Dataset Agent 的集成
    • 10.7 Retrievers 集成指南
      • 10.7.1 WikipediaRetriever 集成
      • 10.7.2 ArxivRetriever 集成
      • 10.7.3 Azure Cognitive Search 集成
  • 第11 章 LLM 应用开发必学知识
    • 11.1 LLM 的核心知识
      • 11.1.1 文本嵌入
      • 11.1.2 点积相似性和余弦相似性
      • 11.1.3 注意力机制
    • 11.2 Transformer 模型
    • 11.3 语义搜索
      • 11.3.1 语义搜索的工作原理
      • 11.3.2 RAG 的工作原理
    • 11.4 NLP 与机器学习基础
      • 11.4.1 LLM 应用开发中的传统机器学习方法
      • 11.4.2 NLP 文本预处理
      • 11.4.3 构建分类器
  • 附录A LangChain 框架中的主要类
  • 附录B OpenAI 平台和模型介绍
  • 附录C Claude 2 模型介绍
  • 附录D Cohere 模型介绍
  • 附录E PaLM 2 模型介绍
  • 附录F Pinecone 向量数据库介绍
  • 附录G Milvus 向量数据库介绍

法治的细节

◎编辑推荐:

◇2020年度法治人物、中国政法大学罗翔教授全新法律随笔,解读热点案件,思辨法治要义。

◇集结罗翔近两年对法治与社会的观察,论法理、聊读书、谈爱情,人间清醒与你坦诚相见。

◇盘点近年热点案件,理性而不失温度,从N号房事件到张玉环案,如何在现实中追求正义?

◇从法律视角破解电车难题,思辨刑罚边界、胎儿权利等法理冲突,在时事中保持理性思考

◇收录罗翔走红后的心路历程,不仅普法,更分享人生经历与感悟,附罗翔青年照。

◎内容简介:

《法治的细节》是中国政法大学法学教授罗翔全新的法学随笔,面向大众读者,从热点案件解读、法学理念科普、经典名著讲解等6大板块,普及法律常识与法治观念。内容包括辛普森案、电车难题、性同意制度等法律基本常识,或N号房、张玉环案等时事热点的案件,多维度培育法律思维,助力法治社会的构建,点亮每个人心中的法治之光。

此外,本书还收录了罗翔在爆红后的心路历程,分享其求学成长经历,袒露其心境的变化与成熟,与读者一起通过阅读与思辨,走出生活中的迷茫时刻,在现实中共同完善法治的细节。

◎媒体评价:

理性而不失温度,感性而不失高度。这不仅是罗翔老师这样法律传播者的愿望,也是在法治社会中我们应有的态度。

——《人民日报》

法律可能让人觉得很生涩,离生活比较远。但是罗老师能让你知道法律跟生活是非常贴近的。他自己本身很懂,所以可以用最简单直白的语言讲出来。

——《南方周末》

罗翔老师不仅给你提供法律专业视角下的独特解读,还时不时来一场哲学教育,让你感受到一种被降维打击的快感,获得感和成就感满满。

——《第一财经》

外皮是喜感的口音,搞笑的例证;内核则是在多年的实践和思辨中寻求真理,催人上进,成为内容产业中的一股“清流”。这恐怕是罗翔之所以能持续受欢迎的原因所在。

——《中国新闻周刊》

罗翔老师满足了人们对有力量的通识教育的想像。用荒诞、极端案件逗笑人的同时,夹带出对尊重生命、尊重常识和对理想主义的呼唤。

——《三联生活周刊》

“津津有味”是罗翔弹幕里的高频词。除此之外,人们喜欢他,很大程度上也是因为他的真性情。

——《网易》

查理·芒格的智慧:投资的格栅理论(原书第2版)

作为巴菲特的黄金搭档和幕后智囊,芒格与巴菲特创造了有史以来最优秀的投资纪录。芒格极其熟练地掌握了各种不同的学科,能够在投资时考虑到许多普通人不会考虑到的因素。

芒格用一个非常形象的比喻来说明不同学科的不同思维方式是如何相互作用的:格栅模型。“你的头脑中已经有了许多思维方式,你得按自己直接和间接的经验将其安置在格栅模型中。”

芒格告诉我们,将不同学科的思维模式联系起来建立融会贯通的格栅,是投资的最佳决策模式。用不同学科的思维模式思考同一个投资问题,如果能得出相同的结论,这样的投资决策更正确。懂得越多,理解越深,投资者就越聪明智慧。

芒格认为:“要努力学习,掌握更多股票市场、金融学、经济学知识,但同时要学会不要将这些知识孤立起来,而要把它们看成包含了心理学、工程学、数学、物理学的人类知识宝库的一部分。用这样宽广的视角就会发现,每一学科之间都相互交叉,并因此各自得以加强。一个喜欢思考的人能够从每个学科中总结出其独特的思维模式,并会将其联想结合,从而达到融会贯通。”

真正的、永远的成功属于那些首先努力建立思维模式格栅,然后学会以善于联系、多学科并用的方式思考的人们。

如果你想一窥这位投资天才的思维格栅模型,不妨从本书中寻找答案。

敌人与邻居:阿拉伯人和犹太人在巴勒斯坦和以色列

巴勒斯坦的这片土地,是犹太人经卷上所指的应许之地,也是许多阿拉伯人世世代代的居所。1917年,奥斯曼帝国落败,结束在这里4个世纪的统治;英国外交大臣发表《贝尔福宣言》,支持犹太人在这片土地上建立民族家园。一个世纪的撕扯与动荡就此开启。

分歧从一开始就难以调和。从19世纪末首批犹太定居点的建立、20世纪30年代的阿拉伯起义,到以色列在1948年的建国、1967年的六日战争,再到1993年的《奥斯陆协议》,以及2002年以来修建的隔离墙……对于同样的事件,双方说法截然不同。犹太复国主义者眼中的公正和胜利,对巴勒斯坦人来说则是不公、失败、流亡和羞辱。

对于这片土地上两个民族百年难解的纷争,记者兼历史学家伊恩·布莱克意识到,只能通过关注他们如何看待自己、历史以及彼此来理解。于是,他借助文献资料、解密档案、口述历史,还有他自己的现场报道,寻求真相和对话。他留意历史的变迁、国家间的斡旋和博弈,因为那是冲突的肇因和驱动力;他更在意被卷入这百年动荡的普通人的生活,因为冲突的撕裂,他们在日常感受得至为真切。

一百年来,缓和的机会一再错失,促使这两个民族和平、自由、公平地作为邻居而不是敌人相处的协议从未达成。如今,没有任何迹象表明这场冲突即将落幕,而理解,是面向未来的开始。

---------------------

1. 一片土地上两个民族的百年纷争,讲清最棘手地区冲突的来龙去脉

巴以冲突可以说是最棘手的地区纷争,牵动全球,却似乎始终无解。1917年英国政府《贝尔福宣言》发表已过去一个世纪,没有任何迹象表明这场冲突即将落幕,所以理解它比以往更加重要。

《敌人与邻居》从奥斯曼帝国末期,首批犹太复国主义者来到巴勒斯坦地区说起,一直讲到奥巴马卸任美国总统的2017年,从头梳理阿拉伯人和犹太人在这片土地的百年纠缠,透视地缘、国家格局的变化。

2. 以资深记者的切身观察、学者的挖掘反思,公正呈现历史全貌

作者伊恩·布莱克是《卫报》资深记者,伦敦政治经济学院政治学博士、资深研究员。他精通阿拉伯语、希伯来语,置身中东冲突现场36年,长期往来于中东北非地区。在新作《敌人与邻居》里,他依托解密档案、文献资料、口述历史、现场报道,既用政治和历史学者的视野,勾勒大国博弈下的上层决策过程,又以现场报道的视角,还描绘普通阿拉伯人、犹太人在冲突撕扯下的想法和生活。

3. 平衡呈现冲突双方观点,获得巴勒斯坦和以色列学者的共同认可

《贝尔福宣言》、《皮尔报告》、以色列建国、六天战争、联合国决议……百年历史上的所有大事,在冲突双方那里都有完全不同的解释。一方口中的英雄是另一方眼里的罪人;一方眼中的公正和胜利,对另一方来说则意味着不公、失败、流亡和羞辱。

巴以双方各说各话,对话难以展开。《敌人与邻居》平衡呈现双方的观点,讲述客观事实,在截然不同的说法之间找到了中间立场,获得巴勒斯坦和以色列学者的认可,让人看到,双方或许有希望基于共同认可历史展开对话。

4. 研究巴以冲突的里程碑式作品,赞誉奖项众多

因为分歧难以弥合,所以书写巴勒斯坦问题历史的作品往往侧重于其中一方的视角。《敌人与邻居》以其公正平衡获得巴以双方学者的认可,可以说是里程碑式的著作,也因此获得众多奖项赞誉。在《贝尔福宣言》发表一百周年的2017年,《金融时报》《经济学人》《星期日泰晤士报》《卫报》等众多主流媒体都将《敌人与邻居》列为年度好书。它的细腻、平衡、客观获得前英国驻联合国大使格林斯托克、著有《奥斯曼帝国的衰亡》的学者尤金·罗根、作家塞巴斯蒂安·福克斯等等的一致认可。

Github | Docker | Project