相似性度量 Similarity Metric
了解不同相似性度量方式之间的区别和优缺点,为最佳相似性度量方式选择做出明智的决定
在下表中,您可以看到我们将在本文中讨论的相似性度量以及影响度量的向量的属性
Similarity Metric | 使用向量特征 |
---|---|
欧几里得距离 | 角度和方向 |
余弦相似度 | 方向 |
点基相似度 | 角度和方向 |
了解不同相似性度量方式之间的区别和优缺点,为最佳相似性度量方式选择做出明智的决定
在下表中,您可以看到我们将在本文中讨论的相似性度量以及影响度量的向量的属性
Similarity Metric | 使用向量特征 |
---|---|
欧几里得距离 | 角度和方向 |
余弦相似度 | 方向 |
点基相似度 | 角度和方向 |
LangChain 中通过 Chain 来链接各个组件和功能,模型之间彼此链接,或模型与其他组件链接
将多个组件相互链接,组合成一个链的想法简单但强大,简化了复杂应用程序的实现,使之更加模块化,能够创建出单一的、连贯的应用程序,从而使调试、维护和改进应用程序变得容易;这也是 LangChain 名称的由来
需要注意,在现版本中 LangChain 已经在主推 LangChain Expression Language(LCEL),逐渐废弃旧版本中手动创建 Chain 的方式以及旧的 Chain 实现,不过这里也参考早期 Chain 的使用方式,LCEL 留在后面进行学习
链的使用主要是以下两个步骤:
在研究什么是向量嵌入之前,先来了解向量
向量是一种具有大小和方向的数学结构;例如我们可以将向量视为空间中的一个点,方向是从
(0,0,0)
到向量空间(vector space)中该点的箭头
底层的 LLM 和聊天模型都是无状态的,所以 LangChain 的链式模型和代理模型同样都是无状态的,意味着它们会独立处理每次调用
某些应用程序中,比如聊天机器人,记住先前的交互是至关重要的;LangChain 提供了用于管理和操作以前的聊天消息的辅助工具,这些工具被设计成模块化的,其次 LangChain 提供了将这些工具轻松整合到链式模型中的方法
轻量级的包装器,方便保存人类消息、AI 消息,以及获取的方法
摘自 MySQL 5.7 官方文档 14 章 The InnoDB Storage Engine 下的 InnoDB Locking and Transaction Model
主要内容为 InnoDB 引擎下的锁机制和事务模型
MySQL :: MySQL 5.7 Reference Manual :: 14.7 InnoDB Locking and Transaction Model
FOR UPDATE
是 SELECT 语句的可选参数
MySQL :: MySQL 5.7 Reference Manual :: 13.2.9 SELECT Statement
如果将 FOR UPDATE
和支持页锁或行锁的数据库引擎一起使用(比如
InnoDB),被查询的行将被写锁定,直到当前事务结束 使用
LOCK IN SHARE MODE
将设置共享锁,允许其他事务读取检查的行,但不更新或删除它们
当使用类似的语句
CREATE TABLE new_table SELECT ... FROM old_table
不能在
SELECT
中使用 FOR UPDATE
如果您尝试执行此操作,则该语句将被拒绝,并显示
Can't update table 'old_table' while 'new_table' is being created.