LangChain和OpenAI API的基础知识| 豆包MarsCode AI

221 阅读2分钟

在正式学习前,我们需要做好基础知识储备。虽然大语言模型的使用非常简单,但若通过API开发应用程序,则需要掌握一些关键的基础概念,如什么是大语言模型、如何安装LangChain、OpenAI的API类型,以及常用开源大语言模型的下载途径等。

1. 什么是大语言模型

  • 定义:使用深度学习技术(如神经网络)训练的大型语言处理模型,擅长理解和生成复杂语言模式。

  • 特点

    • 参数量巨大(数十亿甚至更多)。
    • 基于预测(“猜词”),根据上下文生成合理的后续内容。
  • 局限性:虽然能模拟复杂语言模式,但无情感、意识或真正的理解能力。


2. LangChain

  • 简介:一个构建在大语言模型之上的工具框架,专为快速开发和部署基于语言模型的应用设计。

  • 优点

    • 模块化:提供预构建链和灵活组件,适合快速上手或自定义开发。
    • 支持多语言:目前支持Python和JavaScript开发。
  • 安装方法

    • 基础安装:pip install langchain
    • 安装带常用依赖:pip install langchain[llms]
    • 更新:pip install --upgrade langchain

3. OpenAI API

  • 主要模型类型

    • Chat Model:用于对话场景,代表模型为gpt-3.5-turbogpt-4
    • Text Model:早期模型,代表作text-davinci-003,用于完成、嵌入或相似性比较等任务。
  • 调用步骤

    1. 注册并获取API密钥。
    2. 设置环境变量或通过代码导入密钥。
    3. 使用OpenAI库调用模型(例如通过openai.Completion.createopenai.ChatCompletion.create)。
  • 核心参数

    • temperature:控制输出随机性。
    • max_tokens:生成的最大token数。

4. 通过LangChain调用OpenAI模型

  • Text模型调用

    python
    复制代码
    from langchain.llms import OpenAI
    llm = OpenAI(model="gpt-3.5-turbo-instruct", temperature=0.8, max_tokens=60)
    response = llm.predict("请给我的花店起个名")
    print(response)
    
  • Chat模型调用

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

5. Chat模型 vs Text模型

  • Chat模型优势

    • 多轮对话:方便处理对话历史。
    • 角色设定:支持systemuserassistant角色区分。
  • Text模型优势

    • 简单任务:适合单轮生成任务。

6. 未来学习与思考

  • LangChain核心价值

    • 提供了高层封装(如链式调用、多模态支持等),简化了复杂应用的开发。
    • 支持多种模型和数据存储的集成,便于构建复杂场景。
    • 方便的上下文管理:尤其在需要复杂业务逻辑时,其链式处理是直接调用API无法比拟的。
  • 开源大模型:如Meta的Llama-2和阿里的通义千问(Qwen),适应最新模型需要及时关注HuggingFace等平台。