前言:

大模型落地有四种主流方法,LangChain排第二没人拍第一,前提是对于个人开发者而言哈!

LangChain的定义

简单科普较为官方的对于LangChain的定义:

LangChain是一种创新框架,LangChain是一个开发由语言模型驱动的应用程序的框架,通过引入先进的原理重新定义传统API所能实现的限制。它是一个封装了大量大语言模型(LLM)应用开发逻辑和工具集成的开源Python库,提供了标准的模块化组件,集成了不同的大语言模型并将其进行整合,将它们连接到各种外部数据源和API。

看上面的关键词,LLM、开源、Python库。有了这几个关键词大概就知道个人开发者开源搞事情了吧!!!

它有什么用

具体来说,LangChain的大型语言模型可以直接与OpenAI的text-davinci-003、gpt-3.5-turbo模型以及Hugging Face的各种开源语言模型如Google的flan-t5等模型集成。通过使用LangChain可以开发出更为强大和高效的LLM的各种应用,甚至可以实现一个神奇的功能:让一个不会编程的小白借助LangChain和ChatGPT成为一个优秀的数据分析师和预测专家。只要借助LangChain集成OpenAI的语言模型如“text-davinci-003”,然后创建一个代理(agent),最后通过语言指令一步一步让agent完成数据的统计分析以及时间序列的预测,整个过程无需编写Python代码。

说人话:

LangChain是一个开源框架,可以让AI开发人员把像GPT-4这样的大型语言模型(LLM)和外部数据结合起来。

比如,他可以让你的LLM在回答问题时,参考整个数据库。你现在让你的模型访问最新的数据,比如报告、文档和网站信息!

总结、提炼、知识问答、AI代理!这就是LangChain做的事!

可实现的应用:

个人AI邮件助手
AI学习伙伴(教材/论文精读)
AI数据分析
定制公司客服聊天机器人
社交媒体内容创作助手

实战目标

围绕落地一个LangChain应用为目标,记录一个为期8天的实战讲义!带大家0基础入门

本期讲义目标:

0基础实战langchain系列讲义【1】Hello LangChain

1 OpenAI

在介绍LangChain的时候,不得不介绍OpenAI

OpenAI 是LLM生态的模型层最大的玩家!大家目前熟知的 GPT-3.5、GPT-4 等模型都是他的产品。

它的API允许开发人员通过简单的API调用来访问这些模型,Langchain 作为一个开源框架,提供与OpenAI等语言模型的接口,简化了在应用程序中集成和利用语言模型能力的过程。

本篇的第一个任务:完成第一个Langchain 应用!就要使用OpenAI KEY来做,没有注册的小朋友,先去官网注册;

https://platform.openai.com/account/api-keys

2安装Langchain

安装非常的简单,只需要在开发环境中运行以下代码即可安装:

pip install langchain==0.0.235 openai

在开发环境选择上,建议从云上(Google Colab)或者本地(Visual Studio Code)这两种方式二选一运行即可,两种方式均可使用“Jupyter”插件安装部署,本次教程都是在云端运行的。篇幅原因,这两种环境注册过程不展开了,不懂的话,私聊进群!

2.1 Google Colab云端运行

我们的整个教程将使用 Google Colab 在云端运行 Python 代码。因为方便!Google Colab(全称Google Colaboratory)是一个由Google提供的云端开发环境,用于数据分析、机器学习和深度学习任务。它基于Jupyter Notebook,提供了一个免费的、云端的Python编程环境,用户可以直接在浏览器中编写和执行Python代码。魔法之后访问他的官网,登录/注册之后就可以运行代码啦!

Google Colab官网:https://colab.research.google.com/

点击三角形的运行按钮,他会自动下载到云端;

2.2 Visual Studio Code本地运行

如果你没办法使用云端运行,那你也可以下载Visual Studio Code,安装使用“Jupyter”插件来运行的,其他本地环境也一样适用!

3 Hello Langchain 应用安排

3.1 总体运行说明

我们把langchain框架下载之后,就可以结合OpenAI KEY完成今天的任务了,仅需要7行代码,同样的,点击三角形的运行按钮,就完成了任务;

from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage

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

chat = ChatOpenAI(temperature=0)
response = chat([ HumanMessage(content="Hello Langchain!") ])
print(response)
运行之后,正常的话,他应该会返回这样的结果:

content='Hello! How can I assist you today?' additional_kwargs={} example=False
3.2 代码分析

就几行代码,就把应用搭建好了?简单分析一波吧!

1)以下代码将OpenAI的API Key设置在环境变量中。默认情况下,Langchain会从环境变量 OPENAI_API_KEY 中读取API Key。

建议利用.env文件和python-dotenv包来管理API Key

import os
os.environ[‘OPENAI_API_KEY’] = ‘您的有效OpenAI API Key’

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

chat = ChatOpenAI(temperature=0, model_name=“gpt-3.5-turbo”)

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

response = chat([ HumanMessage(content=“Hello Langchain!”) ])print(response)

4)收到返回以下内容,就成功了

content=‘Hello! How can I assist you today?’ additional_kwargs={} example=False

打完收工!

01-19 13:40