开启左侧

LangChain学习之路

[复制链接]
jinxieshang 发表于 2025-9-7 23:42:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
何谓 LangChain?释放大语言模型潜能的利器

作为一种专为开发基于语言模型的应用而设计的框架,通过LangChain,我们不仅可以通过API调用如 ChatGPT、GPT-4、Llama 2 等大型语言模型,还可以实现更高级的功能。
我们相信,真正有潜力且具有创新性的应用,不仅仅在于能通过API调用语言模型,更重要的是能够具备以下两个特性:
    数据感知: 能够将语言模型与其他数据源连接起来,从而实现对更丰富、更多样化数据的理解和利用。具有代理性: 能够让语言模型与其环境进行交互,使得模型能够对其环境有更深入的理解,并能够进行有效的响应。

现在你应该已经知道,LangChain是一个基于大语言模型(LLMs)用于构建端到端语言模型应用的框架,它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人等。LangChain提供了一系列工具、套件和接口,可以简化创建由LLMs和聊天模型提供支持的应用程序的过程。
打通 LangChain 从原理到应用的最后一公里



LangChain中的具体组件包括:
    模型(Models),包含各大语言模型的LangChain接口和调用细节,以及输出解析机制。提示模板(Prompts),使提示工程流线化,进一步激发大语言模型的潜力。数据检索(Indexes),构建并操作文档的方法,接受用户的查询并返回最相关的文档,轻松搭建本地知识库。记忆(Memory),通过短时记忆和长时记忆,在对话过程中存储和检索数据,让ChatBot记住你是谁。链(Chains),是LangChain中的核心机制,以特定方式封装各种功能,并通过一系列的组合,自动而灵活地完成常见用例。代理(Agents),是另一个LangChain中的核心机制,通过“代理”让大模型自主调用外部工具和内部工具,使强大的“智能化”自主Agent成为可能!你的App将产生自驱力!
这些组件是LangChain的基石,是赋予其智慧和灵魂的核心要素,它们相互协作,形成一个强大而灵活的系统。在基础篇中,我们将深入探索这些组件的工作原理和使用方法,并给出大量用例,夯实你对这些组件的理解和应用能力。
应用 1:情人节玫瑰宣传语

情人节到啦,你的花店需要推销红色玫瑰,那么咱们让大语言模型做的第一个应用,就是给咱们生成简短的宣传语。
这个需求极为简单,你直接去ChatGPT网站,或者用文心一言、星火认知等大模型,都做得到。不过,怎样通过LangChain来用程序的方式实现呢?也很容易。
第一步是安装三个包,通过 pip install langchain 来安装LangChain,
  1. pip install langchain
复制代码
然后在终端输入查看是否安装成功:
  1. pip show langchain
复制代码
通过 pip install openai 来安装OpenAI,
  1. pip install openai
复制代码
然后会输入Successfully installed colorama-0.4.6 distro-1.9.0 jiter-0.7.0 openai-1.53.0 tqdm-4.66.6就是成功了
还需要通过 pip install langchain-openai 以便在 LangChain 中使用 OpenAI 模型。
  1. pip install langchain-openai
复制代码
然后输出Successfully installed langchain-openai-0.2.5 regex-2024.9.11 tiktoken-0.8.0ss说明安装成功。
第二步,你还需要在OpenAI网站注册属于自己的OpenAI Key。(当然,LangChain也支持其他的开源大语言模型,但是推理效果没有GPT那么好)
完成了上面两个步骤,就可以写代码了。
  1. import os
  2. os.environ["OPENAI_API_KEY"] = ''
  3. from langchain_openai import OpenAI
  4. llm = OpenAI(model_name="gpt-3.5-turbo-instruct",max_tokens=200)
  5. text = llm.invoke("请给我写一句情人节红玫瑰的中文宣传语")
  6. print(text)
复制代码
在掘金的运行结果如下:
  1. (shims) ➜  LangChain-shizhanke COMMAND="cd /cloudide/workspace/LangChain-shizhanke/00_开篇词_奇 点时刻 && export PYTHONPATH="/cloudide/workspace/.cloudide/extensions/ms-python.debugpy-2024.0.0
  2. -linux-x64/bundled/libs:$PYTHONPATH"; python3 /cloudide/workspace/LangChain-shizhanke/00_开篇词_奇点时刻/01_SimpleTextGeneration.py" marscode-dev
  3. /cloudide/workspace/LangChain-shizhanke/00_开篇词_奇点时刻/01_SimpleTextGeneration.py:11: LangChainDeprecationWarning: The method `BaseChatModel.predict` was deprecated in langchain-core 0.1.7 and will be removed in 1.0. Use invoke instead.
  4.   text = llm.predict("请给我写一句情人节红玫瑰的中文宣传语")
  5. 以下是一些关于情人节红玫瑰的中文宣传语,供你参考:
  6. 1. 情人节,红玫瑰,传递你的浓情爱意。
  7. 2. 红玫瑰,情人节的浪漫象征,让爱永恒。
  8. 3. 情人节,送她红玫瑰,表达你的深深眷恋。
  9. 4. 红玫瑰,情人节的最佳礼物,诉说你的真情。
  10. 5. 情人节,用红玫瑰点燃爱的火焰,温暖彼此的心。
  11. 6. 红玫瑰,代表着热烈的爱情,在情人节绽放。
  12. 7. 情人节,红玫瑰相伴,让爱情更加甜蜜。
  13. 8. 送红玫瑰,过情人节,让爱成为永恒的主题。
  14. 9. 红玫瑰,情人节的必备元素,为爱情增添色彩。
  15. 10. 情人节,红玫瑰的芬芳,弥漫着爱的气息。
  16. 11. 用红玫瑰庆祝情人节,让爱情之花永远盛开。
  17. 12. 红玫瑰,情人节的浪漫使者,传递爱的信息。
  18. 13. 情人节,与红玫瑰一起,谱写爱的篇章。
  19. 14. 红玫瑰,见证情人节的美好时刻,留下难忘的回忆。
  20. 15. 情人节,红玫瑰的爱意,让你们的爱情更加坚定。
  21. (shims) ➜  LangChain-shizhanke
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )