01_LangChain快速入门 | 豆包MarsCode AI刷题

241 阅读5分钟

LangChain系统安装和快速入门——学习笔记

在这次学习中,我深入了解了LangChain的系统安装过程和一些重要的基础概念。本次笔记旨在记录我对LangChain的基本安装方法、所需工具和API的理解,以便在未来开发过程中能够灵活使用这些知识。

1. 大语言模型简介

大语言模型(Large Language Model,LLM)是一种基于深度学习(尤其是神经网络)的人工智能模型,用于理解和生成自然语言。这些模型之所以称为“大”,是因为它们包含了数十亿甚至数千亿的参数,使得它们能够捕捉语言中的复杂模式和语义。

大语言模型是一个“预测机器”,其主要通过海量数据(例如互联网文本)进行训练,学习词语和短语之间的关系及其在语言中的组合方式。虽然大语言模型在生成语言时表现出强大的能力,但它们并不具备真正的理解力,而是通过概率预测来选择最合适的词汇。因此,模型在生成内容时可能会产生偏离主题或不合理的结果。

2. LangChain简介

LangChain是一个用于构建基于大语言模型应用的开发框架,旨在简化大语言模型的集成和使用。其模块化的设计使得开发者可以像“搭建乐高”一样,利用预构建的链条快速构建各种应用。无论是新手还是有经验的开发者,都可以通过LangChain高效地实现语言模型的应用开发。

本课程中主要使用Python版本的LangChain进行讲解,但它同样支持JavaScript,为开发者提供更多选择。

3. LangChain的安装步骤

安装LangChain非常简单,但为了能够充分利用其功能,还需要与多种大语言模型和数据存储库进行集成,例如OpenAI的API接口、HuggingFace Hub的开源模型库,以及向量数据库(如Chroma)等。

以下是安装LangChain的具体步骤:

  1. 安装LangChain:

    pip install langchain
    
  2. 安装包含常用开源LLM的LangChain版本:

    pip install langchain[llms]
    
  3. 更新到最新版本:

    pip install --upgrade langchain
    
  4. 安装其他依赖项: 例如,为了集成不同的大模型,还需要安装相应的依赖库:

    pip install openai
    pip install chroma
    

通过这些步骤,我们可以完成LangChain的基本安装,为后续的开发工作做好准备。

4. OpenAI API介绍

ChatGPT和GPT-4是目前最流行的模型,而LangChain通过封装这些API,使得我们可以更轻松地调用这些强大的工具。为了使用OpenAI的API,首先需要在OpenAI官网注册并获取API Key。

OpenAI提供的主要模型包括:

  • Chat Model(聊天模型):用于人机对话,代表模型有gpt-3.5-turbo和GPT-4。
  • Text Model(文本模型):如text-davinci-003,主要用于文本生成、文本嵌入和相似度计算等任务。

调用OpenAI API的步骤如下:

  1. 设置API Key作为环境变量:

    import os
    os.environ["OPENAI_API_KEY"] = '你的OpenAI Key'
    
  2. 安装并导入OpenAI库

    pip install openai
    
  3. 调用模型生成文本

    import openai
    openai.api_key = '你的OpenAI Key'
    response = client.completions.create(
         model=os.environ.get("LLM_MODELEND"),
         temperature=0.5,
         max_tokens=100,
         prompt="请给我的花店起个名",
     )
    print(response.choices[0].text.strip())
    

在调用过程中,可以利用参数控制输出内容,例如temperature控制生成的多样性,max_tokens设定输出的最大长度等。

注:大家如果没有openAI key可以选择直接run,也可以按照readme.md文档里调用火山引擎的api

5. 使用LangChain调用Text和Chat模型

接下来,我学习了如何通过LangChain来调用OpenAI的Text和Chat模型。LangChain对这些API进行了一层封装,使得调用过程更加简洁易用。

  • 调用Text模型的示例代码:

    from langchain.llms import OpenAI
    
    llm = OpenAI(
        model="gpt-3.5-turbo-instruct",
        temperature=0.8,
        max_tokens=60
    )
    response = llm.predict("请给我的花店起个名字")
    print(response)
    

    在这个示例中,我们使用LangChain中的OpenAI类创建了一个LLM对象,通过predict方法生成文本。这种方式比直接调用API更加简单直观。

  • 调用Chat模型的示例代码:

    from langchain.chat_models import ChatOpenAI
    from langchain.schema import SystemMessage, HumanMessage
    
    chat = ChatOpenAI(model="gpt-4", temperature=0.8, max_tokens=60)
    messages = [
        SystemMessage(content="你是一个很棒的智能助手"),
        HumanMessage(content="请给我的花店起个名字")
    ]
    response = chat(messages)
    print(response)
    

    在这个示例中,我们通过ChatOpenAI类创建了一个Chat模型对象,然后利用消息列表与模型交互。这种方式特别适合需要多轮对话的场景,例如智能客服应用。

6. 总结与思考

通过这次的学习,我掌握了LangChain的安装和基本使用方法,特别是在调用大语言模型时,LangChain的封装大大简化了开发过程。在实际开发中,选择合适的模型非常重要。例如,Text模型适合处理简单的单轮任务,而Chat模型则更适用于多轮交互场景。

思考题:

  • LangChain对大语言模型的封装如何帮助开发者更便捷地构建应用?这种便捷性体现在什么方面?

    回答

    1. 简化API调用:通过对大语言模型API的封装,LangChain提供了统一且易于使用的接口,开发者无需直接处理底层复杂的API调用逻辑,降低了开发门槛。
    2. 模块化设计:LangChain采用模块化的设计,将不同功能分为独立的组件(如LLM、Chains、Agents等),开发者可以根据需求灵活组合,像“搭建乐高”一样实现复杂的应用功能。
    3. 多模型支持:LangChain集成了多种大语言模型(如OpenAI和HuggingFace等),并对它们提供统一的接口,使得开发者能够轻松切换和使用不同模型,避免了重复实现代码的麻烦。
    4. 工具集成:LangChain能够方便地与其他工具集成,例如数据库、向量存储等,这使得开发者能够快速开发具备复杂数据处理能力的智能应用。
  • 尝试使用HuggingFace的开源模型来替代OpenAI模型,并比较它们的使用体验和效果。

    待尝试...