一文搞懂 Langchain Models (一)

本文探索了LangChain中的“模型”,它提供统一接口,让处理不同语言或嵌入服务更简单。介绍了LangChain与语言模型连接的三个核心组成部分,着重讲解了其支柱——语言模型,包括LLMs、聊天模型和文本嵌入模型,并将详细介绍各模型及展示代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


theme: orange

在这篇文章中,我们来探索下LangChain中的“模型”。从本质上讲,模型使得处理不同的语言或嵌入服务变得容易,因为它们提供了一个统一的接口。这意味着无论您是使用OpenAI还是Hugging Face,您都可以通过相同的方式与“模型”进行交互,从而使开发和迭代变得更加简单。

Model I/O

任何语言模型应用程序的核心要素都是模型。LangChain 为您提供了与任何语言模型连接的构件。下面三个核心组成部分:

  • 提示( Prompts):模板化、动态选择和管理模型输入,主要关注管理和优化提示,同时还包括提示序列化。这个模块允许您微调输入到语言模型的提示,从而显著提高输出的相关性和准确性。
  • 语言模型(Language models):作为Langchain的支柱,赋予框架多样化的语言模型能力。通过模型模块,您可以无缝地将各种语言模型集成到基于Langchain的应用程序中。
  • 输出解析器(Output parsers):从模型输出中提取信息,其是帮助构建语言模型响应结构的类。输出解析器主要需要实现两种方法,包括获取格式指令(Get format instructions)和解析(Parse)

image.png

本文着重讲一下Langchain的支柱 Language models。

Language models

image.png

LangChain提供三种类型的模型:

  • LLMs:大型语言模型,接受文本字符串作为输入并返回文本字符串作为输出。
  • 聊天模型:通常由语言模型支持的模型,但它们的API结构更加明确。
  • 文本嵌入模型:接受文本作为输入并返回一系列浮点数(嵌入)的模型。

接下来,我将详细介绍每一种模型,解释它们是什么,它们是如何工作的,并展示一些代码示例进行演示。

### 推荐算法概述 推荐系统旨在预测用户的兴趣并向用户提供个性化的建议。这类系统广泛应用于电子商务、社交媒体以及娱乐行业等领域,帮助用户发现感兴趣的商品或内容。为了构建有效的推荐引擎,通常采用三种主要类型的推荐技术:基于内容的过滤(Content-based Filtering),协同过滤(Collaborative Filtering),混合模型(Hybrid Models)[^4]。 #### 协同过滤原理 在众多推荐算法中,协同过滤是最常用的种方法之。其核心思想在于利用大量其他用户的行为数据来进行个性化推荐。具体来说,如果两个用户在过去表现出相似的兴趣偏好,则认为他们在未来也会有类似的喜好;同样地,对于同类商品而言,被群具有相同品味的人所喜爱意味着这些产品之间存在关联性[^4]。 ##### 用户-项目矩阵(U-V矩阵) 以视频平台为例,可以建立个二维表格形式的关系结构——用户-视频矩阵(User-to-Item Matrix),其中每行代表位特定观众的历史观看记录,而每列则对应不同影片的信息。当面对稀疏的数据集时,可以通过填充缺失值或者仅保留评分较高的条目等方式简化处理过程。 ##### 计算相似度 针对上述提到的两种情况(即寻找相似用户和查找相近物品),需要定义合适的距离度量方式来量化彼此间的差异程度。常见的衡量标准包括余弦相似度(Cosine Similarity)、皮尔逊相关系数(Pearson Correlation Coefficient)等。例如,在计算两部电影之间的相似度时,可以选择后者作为评价指标: \[ \text{similarity}(A, B)=\frac{\sum_{i=1}^{n}\left(r_{Ai}-\bar{r}_{A}\right)\left(r_{Bi}-\bar{r}_{B}\right)}{\sqrt{\sum_{i=1}^{n}\left(r_{Ai}-\bar{r}_{A}\right)^{2}} \cdot \sqrt{\sum_{i=1}^{n}\left(r_{Bi}-\bar{r}_{B}\right)^{2}}} \] 这 \( r_{Xj} \) 表示第 j 位用户给定 X 物品打下的分数,\( \overline {r_X } \) 则表示所有涉及此项目的平均得分。 ```python import numpy as np from scipy.spatial.distance import pdist, squareform def pearson_corr_matrix(data): """Calculate the Pearson correlation coefficient matrix.""" corr = 1 - squareform(pdist(data.T, metric='correlation')) return corr ``` #### 实现步骤 尽管具体的实施方案可能因应用场景的不同有所变化,但总体上遵循以下几个原则: - **数据预处理**:清洗并整理原始日志文件中的交互事件; - **特征提取**:根据业务需求选取恰当维度描述实体属性; - **模型训练**:运用机器学习框架完成参数估计工作; - **效果评估**:借助离线测试集验证性能表现,并持续迭代优化方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值