LangChain启程篇 | 豆包MarsCode AI刷题

LangChain作为一个以大模型为引擎的全新应用开发框架,毫无疑问的拉近了最前沿的AI技术与实际落地应用之间的关系。在LangChain的启程篇,我们把目光聚焦在了解LangChain的特点,作用以及简单的实际应用上,在正式深入了解之前,启程篇给我们展示了LangChain可以带来的强大的未来图景。

本文将再次精简总结LangChain启程篇的重点内容,致力于让每一个学过知识的人能在最短时间内调动记忆,重新回顾。

本文内容将从以下两个方面展开:

    1. LangChain 是什么
    1. LangChain 支持的两大模型

LangChain是什么

LangChain是一个基于大语言模型(LLMs)用于构建端到端语言模型应用的框架,它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人等。

LangChain提供了一系列工具、套件和接口,可以简化创建由LLMs和聊天模型提供支持的应用程序的过程。

简单来说,通过LangChain的各种API接口,我们可以将AI各个部分的功能调用起来,组合形成强大的工具。

LangChain有两大重要特性:

  1. 数据感知: 能够将语言模型与其他数据源连接起来,从而实现对更丰富、更多样化数据的理解和利用。
  2. 具有代理性: 能够让语言模型与其环境进行交互,使得模型能够对其环境有更深入的理解,并能够进行有效的响应。
LangChain 的 6 大组件

LangChain支持的两大模型

目前为止,LangChain支持的两大模型分别是Chat Model和Text Model

  • Chat Model,聊天模型,用于产生人类和AI之间的对话,代表模型当然是gpt-3.5-turbo(也就是ChatGPT)和GPT-4。当然,OpenAI还提供其它的版本,gpt-3.5-turbo-0613代表ChatGPT在2023年6月13号的一个快照,而gpt-3.5-turbo-16k则代表这个模型可以接收16K长度的Token,而不是通常的4K。(注意了,gpt-3.5-turbo-16k并未开放给我们使用,而且你传输的字节越多,花钱也越多)
  • Text Model,文本模型,在ChatGPT出来之前,大家都使用这种模型的API来调用GPT-3,文本模型的代表作是text-davinci-003(基于GPT3)。而在这个模型家族中,也有专门训练出来做文本嵌入的text-embedding-ada-002,也有专门做相似度比较的模型,如text-similarity-curie-001。

两大模型的实际代码实现:

Text Model:

ini 复制代码
    import os
    from langchain_openai import ChatOpenAI

    llm = ChatOpenAI(
        model=os.environ.get("LLM_MODELEND"),
        temperature=0.8,
        max_tokens=600,
    )
    response = llm.predict("请给我的花店起个名")

    print(response)

Chat Model:

ini 复制代码
import os
from langchain_openai import ChatOpenAI
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)

通过代码我们可以看出,langchain的重要作用在于它可以通过调用模型轻松将模型应用于各种场景,我们要想得到不同的回答只需要更改response内的内容,甚至我们对于chat/text model的选择也只需要更改response中输入模型的是message还是文本即可,这是其特有的独特特点,便于我们使用。

最后,关于调用模型内的参数,可以参考这张图片:

相关推荐
Find25 天前
MaxKB 集成langchain + Vue + PostgreSQL 的 本地大模型+本地知识库 构建私有大模型 | MarsCode AI刷题
青训营笔记
理tan王子25 天前
伴学笔记 AI刷题 14.数组元素之和最小化 | 豆包MarsCode AI刷题
青训营笔记
理tan王子25 天前
伴学笔记 AI刷题 25.DNA序列编辑距离 | 豆包MarsCode AI刷题
青训营笔记
理tan王子25 天前
伴学笔记 AI刷题 9.超市里的货物架调整 | 豆包MarsCode AI刷题
青训营笔记
夭要7夜宵1 个月前
分而治之,主题分片Partition | 豆包MarsCode AI刷题
青训营笔记
三六1 个月前
刷题漫漫路(二)| 豆包MarsCode AI刷题
青训营笔记
tabzzz1 个月前
突破Zustand的局限性:与React ContentAPI搭配使用
前端·青训营笔记
Serendipity5651 个月前
Go 语言入门指南——单元测试 | 豆包MarsCode AI刷题;
青训营笔记
wml1 个月前
前端实践-使用React实现简单代办事项列表 | 豆包MarsCode AI刷题
青训营笔记
用户44710308932421 个月前
详解前端框架中的设计模式 | 豆包MarsCode AI刷题
青训营笔记