LangChain 启程篇 | 豆包MarsCode AI刷题

255 阅读2分钟

什么是LangChain

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

感受LangChain的强大之处

LangChain究竟有多强大,接下来我们来通过一个例子来感受一下。

import os
os.environ["OPENAI_API_KEY"] = '你的OpenAI Key'
from langchain_openai import OpenAI
llm = OpenAI(model_name="gpt-3.5-turbo-instruct",max_tokens=200)
text = llm.invoke("请给我写一句生日祝福语")
print(text)

具体效果如下:

image.png

使用LangChain

使用的前提自然是安装,借助命令

pip install langchain

LangChain 是需要与各种模型、数据存储库集成的,因此可能还需要安装 openai 等。

使用 Text 模型

import os
os.environ["OPENAI_API_KEY"] = '你的Open API Key'
from langchain.llms import OpenAI
llm = ChatOpenAI(
    model=os.environ.get("LLM_MODELEND"),
    temperature=0.8,
    max_tokens=600,
)
response = llm.predict("请给我的蛋糕店起个名")
print(response)

上方是对OpenAI API的简单封装:先从langchain库的llms模块中导入OpenAI类,创建一个LLM(大语言模型)对象,指定使用的模型和一些生成参数。调用predict方法,传入提示“请给我的蛋糕店起个名”,以生成蛋糕店的名字。最后,打印出模型生成的文本响应。

得到的结果如下:

image.png

使用 Chat 模型

import os os.environ["OPENAI_API_KEY"] = '你的Open API Key' from langchain.chat_models import ChatOpenAI chat = ChatOpenAI(model="gpt-4",                     temperature=0.8,                     max_tokens=60) from langchain.schema import (     HumanMessage,     SystemMessage )
chat = ChatOpenAI(model=os.environ.get("LLM_MODELEND"), temperature=0.8, max_tokens=600)

messages = [
    SystemMessage(content="你是一个很棒的智能助手"),
    HumanMessage(content="请给我的蛋糕店起个名"),
]
response = chat(messages)
print(response.content)

得到的结果如下: image.png

response包含的内容

字段名含义
content响应内容
additional_kwargs额外的响应信息
response_metadata响应元数据
id响应的唯一标识符
usage_metadata使用元数据,包含请求资源使用的信息,如令牌数和费用

同样是输出 response,Chat 模型会输出 content、additional_kwargs、response_metadata、id、usage_metadata;而 Text 模型输出的会相对简洁些,仅输出文本内容。

小结

Text模型,是以文本字符串作为输入,并返回文本字符串作为输出的模型。

Chat模型是语言模型的一种变体,使用聊天消息作为输入,并返回聊天消息作为输出,与纯文本输入输出不同。

Text模型处理的是纯文本输入和输出,而Chat模型则处理结构化的聊天消息,支持更丰富的功能,如工具调用和结构化输出。Chat模型更适合于需要模拟对话或交互式应用的场景。