首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南

  • 25-04-25 05:40
  • 2453
  • 5206
blog.csdn.net

系列文章目录

基础篇

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!

实战篇


文章目录

  • 系列文章目录
  • 前言
  • 一、LangChain 环境搭建与初始配置
    • 1.1 安装依赖
    • 1.2 环境变量加载
      • 1.2.1 具体步骤
      • 1.2.2 注意事项
    • 1.3 初始化模型客户端
  • 二、基础示例:与模型交互
    • 2.1 直接调用模型
      • 2.1.1 示例代码
      • 2.1.2 示例输出
    • 2.2 处理多行输入
      • 2.2.1 示例代码
      • 2.2.2 示例输出
  • 三、Prompt 模板的使用
    • 3.1 什么是 Prompt 模板?
    • 3.2 创建 Prompt 模板
    • 3.3 格式化 Prompt
      • 3.3.1 示例代码
      • 3.3.2 示例输出
    • 3.4 调用模型
      • 3.4.1 示例代码
      • 3.4.2 示例输出
  • 四、高级用法:信息提取与输出解析器
    • 4.1 定义提取模板
    • 4.2 格式化 Prompt 并调用模型
      • 4.2.1 示例代码
      • 4.2.2 示例输出
  • 五、解析模型输出为结构化数据
    • 5.1 为什么需要解析器?
    • 5.2 定义解析规则
      • 5.2.1 示例代码
    • 5.3 获取解析格式说明
      • 5.3.1 示例代码
      • 5.3.2 示例输出
    • 5.4 解析模型输出
      • 5.4.1 示例代码
      • 5.4.2 注意事项
  • 六、总结与展望
    • 6.1 总结
    • 6.2 本文代码汇总
      • 6.2.1 环境变量加载代码
      • 6.2.2 初始化模型客户端
      • 6.3.3 创建 Prompt 模板并调用模型
      • 6.3.4 定义解析规则并解析输出


前言

在人工智能技术快速发展的背景下,大语言模型(LLM)的应用场景越来越广泛,例如自动化文本生成、智能问答系统、知识提取等。然而,如何高效地与这些大模型交互,成为开发者面临的一大挑战。LangChain正是为解决这一问题而生的。

LangChain 是一个开源框架,旨在帮助开发者更便捷地与大语言模型(如 OpenAI 的 GPT 系列、阿里云通义千问 Qwen)进行交互。通过 LangChain,开发者可以轻松整合模型调用、Prompt 模板管理、复杂任务链条设计以及输出解析等功能,大幅提升开发效率和应用的可靠性。

LangChain 的核心模块

LangChain 由以下核心模块组成,每个模块都有其特定的功能:

  1. Model(模型)

    • 提供与大语言模型交互的接口,例如 OpenAI、阿里云等的 LLM。
    • 开发者可以轻松配置 API 调用和模型参数。
  2. Prompt(提示词)

    • 提供动态提示词模板管理功能,支持变量插值、Prompt 优化。
    • 适用于创建灵活且高效的模型交互任务。
  3. Chains(链条)

    • 用于将多个任务步骤组合成一个链条,例如多次调用模型完成复杂的推理任务。
    • 支持模块化设计,便于维护和扩展。
  4. Memory(记忆)

    • 提供上下文记忆功能,可以让模型在多轮对话中记住用户的输入和历史对话内容。
    • 适合构建长时间、多轮交互的对话系统。
  5. Output Parsers(输出解析器)

    • 解析模型的返回结果,例如将文本解析为 JSON 结构,便于后续处理。
    • 特别适用于信息提取、分类任务等。
  6. Agents(代理)

    • 集成多种工具(如 API、数据库、文件系统)与模型交互,使模型能够动态调用外部资源完成复杂任务。
    • 适合构建更智能化的自动化工作流。

LangChain 的应用场景

LangChain 的灵活性和模块化设计使其广泛适用于以下场景:

  • 文本生成与翻译:例如生成新闻稿、调整语气风格、翻译专业文档。
  • 智能问答与知识库:构建基于文档、数据库的知识问答系统。
  • 信息提取与分析:从非结构化文本中提取关键信息,例如用户评论分析、商业报告解析。
  • 对话系统与聊天机器人:利用记忆模块支持上下文多轮对话,实现类似 ChatGPT 的应用。
  • 自动化工作流:通过 Agents 模块集成外部工具,完成复杂的任务链,例如自动处理订单或执行 API 查询。

本文主题

本篇文章聚焦于 LangChain 的核心功能模块:Model、Prompt 和 Output Parser,并通过实际代码示例,帮助理解如何使用这些模块完成与大语言模型的交互任务。

通过阅读本文,将学会:

  1. 如何初始化并调用 LangChain 模型。
  2. 如何使用 Prompt 模板提高交互效率。
  3. 如何通过 Output Parser 解析模型返回的复杂数据。

一、LangChain 环境搭建与初始配置

在开始构建 LangChain 应用之前,需要完成基础环境的搭建和配置。

1.1 安装依赖

在项目环境中安装必要的 Python 包:

pip install langchain langchain-community langchain_openai python-dotenv openai
  • 1

这些依赖包含了 LangChain 框架、环境变量管理工具 python-dotenv 和与 OpenAI 模型交互的接口。

1.2 环境变量加载

为了保护敏感信息(如 API Key 和 API URL),建议将这些信息存储在项目根目录下的一个名为 .env 的文件中。这样可以避免将敏感信息直接暴露在代码中,同时方便环境的统一配置。

1.2.1 具体步骤

  1. 创建 .env 文件
    在项目根目录下创建一个名为 .env 的文件。注意,这个文件不需要任何扩展名。
    如果使用版本控制(如 Git),记得将 .env 文件添加到 .gitignore 中,避免敏感信息被提交到代码仓库。

  2. 编写 .env 文件内容
    .env 文件的内容采用键值对的形式,每行一个键值对,格式如下:

阿里云通义千问(Qwen)API 配置
ALIYUN_API_KEY=你的阿里云API密钥
ALIYUN_API_URL=你的阿里云API地址,例如:https://dashscope.aliyuncs.com/compatible-mode/v1

DeepSeek API 配置
DEEPSEEK_API_KEY=你的DeepSeek API密钥
DEEPSEEK_API_URL=你的DeepSeek API地址,例如:https://api.deepseek.com

OpenAI API 配置
OPENAI_API_KEY=你的OpenAI API密钥
OPENAI_API_URL=https://api.openai.com/v1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 键名:ALIYUN_API_KEY 和 ALIYUN_API_URL 是阿里云 API 的密钥和访问地址;DEEPSEEK_API_KEY 和 DEEPSEEK_API_URL 是DeepSeek API 的密钥和地址;OPENAI_API_KEY 和 OPENAI_API_URL 是OpenAI API 的密钥和地址。
  • 值:具体的密钥和 URL 需要根据实际情况替换为你自己的值。
  1. 在代码中加载 .env 文件
    使用 python-dotenv 模块加载 .env 文件中的内容到 Python 程序中。示例如下:
   import os
   from dotenv import load_dotenv

   # 加载 .env 文件中的环境变量
   load_dotenv()

   # 获取环境变量的值
   api_key = os.getenv("ALIYUN_API_KEY")
   base_url = os.getenv("ALIYUN_API_URL")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

1.2.2 注意事项

  • .env 文件应放在项目根目录下,与主代码文件(如 main.py)处于同一级目录。这样 load_dotenv() 可以自动找到 .env 文件。
  • 在使用其他环境变量(如 DEEPSEEK_API_KEY 和 DEEPSEEK_API_URL)时,直接通过 os.getenv("<变量名&
注:本文转载自blog.csdn.net的的文章"https://blog.csdn.net/Kiradzy/article/details/144973054"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top