【Langchain学习笔记(二)】Langchain安装及使用示例

Langchain介绍

前言

本文中介绍 Langchain 安装方法, 什么是 LangSmith 及其作用, 如何调用国产大模型,并以简单案例进行展示。

备注:本系列文章基于B站课程: 马士兵-AI大模型全套教程(学习路线+LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer+DeepSeek) 学习整理得到。

1、Langchain 安装

pip install langchain
pip install langchain-openai 

2、LangSmith 是什么

是一个用于构建生产级 LLM 应用程序的平台,它提供了调试、测试、评估和监控基于任何 LLM 框架构建的链和智能代理的功能,并能与 Langchain 无缝集成。

登录并且获取 LangSmish 的 API key

在这里插入图片描述

2.1 LangSmith 的作用

其主要作用包括:

  • 调试与测试:通过记录 Langchain 构建的大模型应用的中间过程,开发者可以更好地调整提示词等中间过程,优化模型响应;
  • 评估应用效果:Langsmith 可以量化评估基于大模型的系统的效果,帮助开发者发现潜在问题并进行优化;
  • 监控应用性能:实时监控应用程序的运行情况,及时发现异常和错误,确保其稳定性和可靠性;
  • 数据管理与分析:对大语言模型此次的运行的输入与输出进行存储和分析,以便开发者更好地理解模型行为和优化应用;
  • 团队协作:支持团队成员之间的协作,方便共享和讨论提示模版等;
  • 可扩展性与维护性:设计时考虑了应用程序的可扩展性和长期维护,允许开发者构建可成长的系统。

Langsmith 是 Langchain 的一个子产品,是一个大模型应用开发平台。它提供了从原型到生产的全流程工具和服务,帮助开发者构建、测试、评估和监控基于 Langchain 或其他 LLM 框架的应用程序

2.2 创建 LANGCHAIN_API_KEY

  1. 创建 LangSmith 账户并登录
  2. 点击 Settings
    在这里插入图片描述
  3. 点击 Create API Key 并复制
    在这里插入图片描述
  4. 在系统属性中添加环境变量
    在这里插入图片描述

3、调用国产大模型

  1. 打开 LangChain 官方网站,点集成按钮。
    在这里插入图片描述

  2. 选择合适的国产大模型语言
    在这里插入图片描述

  3. 也可以通过选择所有提供商进行选择
    在这里插入图片描述

  4. 这里以智谱 AI 为例
    在这里插入图片描述

  5. 先去智谱 AI 上获取 API 秘钥,这里根据自己选择的大模型去对应官网进行获取,以 智谱AI开放平台 为例
    在这里插入图片描述

4、Langchain 使用示例

4.1 导入所需的模块

将必要的模块导入到 Python 脚本中

from langchain_community.chat_models import ChatZhipuAI
# 导入AIMessage, HumanMessage, SystemMessage
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser

注意:示例中使用的大模型是智谱 AI,要导入 zhipuai 包

#!pip install --upgrade httpx httpx-sse PyJWT

4.2 设置 API 密钥

登录 ZHIPU AI 获取 API 密钥以访问模型

import os

os.environ["ZHIPUAI_API_KEY"] = "zhipuai_api_key"

4.3 初始化 ZHIPU AI 模型

chat = ChatZhipuAI(
    model="glm-4",
    temperature=0.5,
)

4.4 创建提示

msg = [
    # AIMessage(content="Hi."),
    SystemMessage(content="请将以下的内容翻译成意大利语"),
    HumanMessage(content="你好,请问你要去哪里?")
]

4.5 创建返回的数据解析器

parser = StrOutputParser()

4.6 创建链 chain

chain = model | parser

4.7 直接使用 chain 进行调用

result = chain.invoke(msg)
print(result)

4.8 完整代码及运行结果

from langchain_community.chat_models import ChatZhipuAI
# 导入AIMessage, HumanMessage, SystemMessage
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser
import os

os.environ["ZHIPUAI_API_KEY"] = "zhipuai_api_key"

# 1、创建模型
model = ChatZhipuAI(
    model="glm-4",
    temperature=0.5,
)
# 2、创建提示
msg = [
    # AIMessage(content="Hi."),
    SystemMessage(content="请将以下的内容翻译成意大利语"),
    HumanMessage(content="你好,请问你要去哪里?")
]

# 3、创建返回的数据解析器
parser = StrOutputParser()

# 4、创建链chain
chain = model | parser

# 5、直接使用chain进行调用
result = chain.invoke(msg)
print(result)

在这里插入图片描述

### LangChain 安装教程与使用方法 #### 1. 安装 LangChain 为了安装 LangChain,可以使用 `pip` 工具完成。以下是推荐的安装命令: ```bash !pip install langchain==0.0.340 ``` 如果需要额外的功能支持,比如实验性功能,则可以通过以下命令安装扩展版本[^3]。 ```bash !pip install langchain-experimental==0.0.42 ``` 此外,某些高级应用可能还需要其他依赖项,例如 Hugging Face Hub 或向量数据库的支持。这些可以在后续配置中按需添加。 --- #### 2. 使用 LangChain 的基本概念 LangChain 是一种框架,旨在帮助开发者更轻松地构建基于大型语言模型 (LLM) 的应用程序。它的核心设计理念围绕两个方面展开:链式操作和模块化组件[^2]。 - **链式操作**:允许将多个步骤组合成一个流程。 - **模块化组件**:提供了丰富的内置工具,如提示模板、内存管理器以及外部接口连接器。 具体来说,LangChain 支持以下几种常见任务: - 文本生成 - 对话记忆跟踪 - 数据嵌入与检索 - 调用第三方 API 或本地部署的大规模预训练模型 --- #### 3. 示例代码:简单的问答系统 下面是一个完整的 Python 示例,演示如何使用 LangChain 实现一个基础的问答系统。此示例假设已有一个可用的语言模型(如 Llama-2),并通过 Hugging Face 提供的服务访问它。 ##### 步骤说明 首先导入必要的库并加载环境变量中的密钥;其次定义提示模板;最后初始化 Chain 并执行推理。 ```python from langchain.llms import HuggingFaceHub from langchain.prompts import PromptTemplate from langchain.chains import LLMChain import os # 设置 Hugging Face API Token os.environ["HUGGINGFACEHUB_API_TOKEN"] = "your_api_token_here" # 初始化大语言模型实例 llm = HuggingFaceHub(repo_id="meta-llama/Llama-2-7b", model_kwargs={"temperature": 0.5, "max_length": 64}) # 创建提示模板 template = """Question: {question} Answer: """ prompt = PromptTemplate(template=template, input_variables=["question"]) # 配置链式处理逻辑 chain = LLMChain(llm=llm, prompt=prompt) # 测试提问 response = chain.run("What is the capital of France?") print(response.strip()) ``` 上述脚本会输出巴黎作为法国首都的结果[^1]。 --- #### 4. 结合国产大模型 对于国内用户而言,也可以方便地替换为本土化的超大规模人工智能解决方案,例如通义千问或星火认知等。只需调整对应的 repo ID 即可适配不同平台上的开源项目。 例如切换至阿里云提供的 Qwen 模型时,仅需修改如下部分即可: ```python llm = HuggingFaceHub(repo_id="ZhipuAI/Qwen-Max", model_kwargs={"temperature": 0.5, "max_new_tokens": 64}) ``` --- #### 5. 扩展应用场景——语义搜索与群聊问答 除了单轮次的一问一答外,还可以进一步拓展到多模态输入分析或者复杂场景下的信息提取上。例如,在企业内部沟通记录里快速定位相关内容片段,并给出精准回复建议[^4]。 这通常涉及以下几个关键技术环节: - 将历史消息切割成分句单位; - 利用向量化技术映射每条短文本特征表示; - 基于相似度计算挑选最接近目标问题的知识点; - 经过次加工形成最终呈现形式给终端使用者查看。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾戊之昂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值