tnblog
首页
视频
资源
登录

LangChain 简单应用(学习笔记)

3432人阅读 2023/9/5 15:33 总访问:3511437 评论:0 收藏:0 手机
分类: python

LangChain 简单应用(学习笔记)

Langchain 简介


大型语言模型(LLM)正在成为一种具有变革性的技术,使开发人员能够构建以前无法实现的应用程序。然而,仅仅依靠LLM还不足以创建一个真正强大的应用程序。它还需要其他计算资源或知识来源。
Langchain 旨在帮助开发这些类型应用程序,比如:
——基于文档数据的问答
——聊天机器人
——代理

OpenAI 简介


OpenAI 是LLM生态的模型层最大的玩家之一。大家目前熟知的 GPT-3.5,GPT-4 等模型都是OpenAI的产品。它的API允许开发人员通过简单的API调用来访问这些模型。

Langchain与OpenAI


Langchain 作为一个开源框架,提供与OpenAI等语言模型的接口,简化了在应用程序中集成和利用语言模型能力的过程。

开发前的准备

在线运行


本教程中,我们可以使用 Google Colab 在云端运行 Python 代码。Google Colab(全称Google Colaboratory)是一个由Google提供的云端开发环境,用于数据分析、机器学习和深度学习任务。它基于Jupyter Notebook,提供了一个免费的、云端的Python编程环境,用户可以直接在浏览器中编写和执行Python代码。

本地运行


我们可以使用Visual Studio Code配合Jupyter插件在本地运行代码。

除此之外,我的本地环境使用的是python 3.11.4,我们都需要一个OpenAI key作为使用。
点击创建你的API Key

代码实践


系统命令安装必要的Python包,langchain和openai。

  1. pip install langchain==0.0.235 openai


以下代码将OpenAI的API Key设置在环境变量中。默认情况下,Langchain会从环境变量 OPENAI_API_KEY 中读取API Key。注意,在代码中直接嵌入API Key明文并不安全,切勿将API Key直接提交到代码仓库。我们建议利用.env文件和python-dotenv包来管理API Key。

  1. import os
  2. os.environ['OPENAI_API_KEY'] = '您的有效OpenAI API Key'


以下代码导入了 ChatOpenAI 类,该类封装了OpenAI的聊天模型。
ChatOpenAI 类的初始化参数 temperature 用于控制模型的生成文本的多样性。
temperature 越大,生成的文本越多样,但也越不可控。temperature 越小,生成的文本越单一,但也越可控。
temperature 的取值范围为 0 到 1,默认值为 0.5。初始化参数 model_name 用于指定使用的模型,默认值为 gpt-3.5-turbo。

  1. chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")


以下代码导入了 ChatOpenAI 类,该类封装了OpenAI的聊天模型。
ChatOpenAI 类的初始化参数 temperature 用于控制模型的生成文本的多样性。
temperature 越大,生成的文本越多样,但也越不可控。
temperature 越小,生成的文本越单一,但也越可控。temperature 的取值范围为 0 到 1,默认值为 0.5。
初始化参数 model_name 用于指定使用的模型,默认值为 gpt-3.5-turbo。

  1. chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")


以下代码完成与OpenAI GPT模型的第一次对话,并打印出响应。

  1. response = chat([ HumanMessage(content="Hello Langchain!") ])
  2. print(response)


完整代码如下:

  1. from langchain.chat_models import ChatOpenAI
  2. from langchain.schema import HumanMessage
  3. import os
  4. os.environ['OPENAI_API_KEY'] = '您的有效OpenAI API Key'
  5. chat = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
  6. response = chat([ HumanMessage(content="Hello Langchain!") ])
  7. print(response)


运行结果如下:

学习链接


更多学习内容,可以关注一下五里墩茶社大佬
https://space.bilibili.com/615957867?spm_id_from=333.337.0.0


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

LangChain 模型(学习笔记)

LangChain 模型(学习笔记)[TOC] Langchain 模型简介Langchain所封装的模型分为两类:——大语言模型 (LLM)——聊天模型 (C...

LangChain 数据连接(学习笔记)

LangChain 数据连接(学习笔记)[TOC] 什么是数据连接?LLM应用往往需要用户特定的数据,而这些数据并不属于模型的训练集。L...

LangChain 提示词(学习笔记)

LangChain 提示词(学习笔记)[TOC] 什么是提示词?提示词(Prompt)是指向模型提供的输入。这个输入通常由多个元素构成。La...

LangChain 输出解析器(学习笔记)

LangChain 输出解析器(学习笔记)[TOC] 简介LLM的输出为文本,但在程序中除了显示文本,可能希望获得更结构化的数据。这就...

LangChain 链(学习笔记)

LangChain 链(学习笔记)[TOC] 单一的LLM对于简单的应用场景已经足够,但是更复杂的应用程序需要将LLM串联在一起,需要多LL...

LangChain 记忆组件(学习笔记)

LangChain 记忆组件(学习笔记)[TOC] 单一的LLM对于简单的应用场景已经足够,但是更复杂的应用程序需要将LLM串联在一起,需...

LangChain 代理 Agent(学习笔记)

LangChain 代理 Agent(学习笔记)[TOC] 简介Agent 也就是代理,它的核心思想是利用一个语言模型来选择一系列要执行的动作。...

LangChain 回调 (Callback)

LangChain 回调 (Callback)[TOC] 简介Callback 是 LangChain 提供的回调机制,允许我们在 LLM 应用程序的各个阶段使用 Hoo...

LangChain 一个完整的例子

LangChain 一个完整的例子[TOC] 简介这是该 LangChain 极简入门系列的最后一讲。我们将利用过去9讲学习的知识,来完成一个...
这一世以无限游戏为使命!
排名
2
文章
642
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术