第六届字节跳动青训营第二课 : LangChain系统安装和快速入门

233 阅读6分钟

课程链接:

一 大语言模型(LLMs)基础:

  • 大语言模型是使用深度学习技术训练的AI,能够理解和生成复杂的人类语言。
  • 它们通过预测下一个词来工作,基于大量训练数据学习语言模式和上下文。
  • 尽管强大,但大语言模型并不真正理解语言,它们是基于概率的预测模型。

二 LangChain简介:

  • LangChain是一个基于大语言模型的应用开发工具,提供灵活性和模块化。
  • 它允许开发者轻松调用语言模型,并利用其预测能力开发新应用。
  • LangChain支持Python和JavaScript,本教程使用Python版本。

三 安装LangChain:

  • 基本安装命令:
pip install langchain
  • 可能需要额外安装依赖项,如:
pip install openai`和`pip install chroma
  • 安装包括常用LLM库的命令:
pip install langchain[llms]
  • 更新LangChain到最新版本:
pip install --upgrade langchain
  • 从源代码安装:克隆存储库并运行
 pip install -e

四 LangChain学习资源:

  • LangChain的GitHub社区提供教程和最佳实践。
  • API文档是解决问题的重要参考,但可能存在错误,建议更新版本或提交问题反馈。

五 OpenAI API:

  • OpenAI提供ChatGPT、GPT-4等模型,需要注册API Key使用。
  • 了解OpenAI API的基本设计思路对理解LangChain底层逻辑至关重要。

六 OpenAI模型类型:

  • Chat Model:适合对话和多轮次交互,如gpt-3.5-turbo和GPT-4。
  • Text Model:适合单轮文本生成,如text-davinci-003。

七 调用OpenAI Text模型的步骤总结:

1. 注册API Key:

  • 第一步是获取访问OpenAI API的权限,需要在OpenAI官网注册并获取一个API Key。

2.安装OpenAI库:

  • 使用pip install openai命令来安装OpenAI库,这是与OpenAI API交互的必要工具。

3.导入API Key:

  • 有多种方式可以将API Key导入到你的Python环境中。
  • 可以通过设置环境变量OPENAI_API_KEY来隐藏API Key,避免直接在代码中暴露。
  • 也可以在代码中直接设置openai.api_key = '你的Open API Key',但这种方法不推荐,因为它可能会在代码共享时泄露你的密钥。

4.设置环境变量:

  • 在操作系统中设置环境变量,例如在Linux系统中使用export OPENAI_API_KEY='你的Open API Key'命令。
  • 或者使用.env文件存储API Key,并使用python-dotenv库在Python代码中加载。

5.创建OpenAI客户端:

  • 导入OpenAI库,并创建一个客户端实例,例如client = OpenAI()

6.调用Text模型:

使用客户端实例调用completions.create方法,指定模型、参数和提示(prompt)。
  • 示例代码:
      ```
      python
      response = client.completions.create(
        model="gpt-3.5-turbo-instruct",
        temperature=0.5,
        max_tokens=100,
        prompt="请给我的花店起个名"
      )
      ```
    
    通过调整参数如temperaturemax_tokens,可以控制生成文本的随机性和长度。

7.处理响应:

  • 响应对象包含了模型生成的输出和其他信息,可以通过response.choices[0].text. strip()获取模型生成的文本。

八 LangChain调用OpenAI模型:

  • LangChain简化了OpenAI模型的调用过程,只需几行代码即可实现。
  • LangChain对输出进行了解析,只保留最重要的文字部分。

以下是一些常见的参数

image.png

九 LangChain调用OpenAI模型:

  • LangChain简化了OpenAI模型的调用过程,只需几行代码。
  • LangChain对输出进行了解析,只保留最重要的文字部分。

在使用Text模型(如text-davinci-003)的情况下,响应对象的主要字段包括: image.png

十 课程内容介绍:

  • 课程内容包括LangChain系统安装、快速入门、构建智能问答系统、模型I/O、提示工程、调用模型、输出解析、链、记忆、代理、工具和工具箱、检索增强生成、连接数据库、回调函数、CAMEL、BabyAGI等。
  • 课程还包括实战项目,如部署鲜花网络电商人脉工具和开发聊天客服机器人。

十一调用OpenAI Text模型

知识点概览

在开始之前,这里是一些关键知识点,它们对于理解和实践如何使用OpenAI的Text模型和Chat模型至关重要:

  1. API Key管理:了解如何安全地管理你的API Key,避免在代码中硬编码。
  2. 环境变量:学习如何使用环境变量来存储敏感信息,如API Key。
  3. OpenAI库安装:掌握如何安装和使用OpenAI的Python库。
  4. 模型调用:理解如何使用OpenAI库调用不同的模型(Text和Chat)。
  5. 参数调整:学会如何调整生成参数(如temperaturemax_tokens)来控制输出。
  6. 响应处理:知道如何处理模型返回的响应,并从中提取有用的信息。
  7. 安全性和最佳实践:了解在使用OpenAI API时的安全措施和最佳实践。

调用OpenAI Text模型

代码:

python
import os
from openai import OpenAI

# 设置环境变量中的API Key
os.environ["OPENAI_API_KEY"] = '你的Open API Key'

# 创建OpenAI客户端
client = OpenAI()

# 调用Text模型
response = client.completions.create(
  model="gpt-3.5-turbo-instruct",
  temperature=0.5,
  max_tokens=100,
  prompt="请给我的花店起个名"
)

# 打印模型生成的文本
print(response.choices[0].text.strip())

注意事项:确保网络连接稳定,以便能够成功连接到OpenAI的服务器。不要在代码中硬编码你的API Key,以避免泄露。在提交代码到版本控制系统之前,确保移除或隐藏API Key。检查OpenAI的API限制,确保你的请求不会超出配额。

调用OpenAI Chat模型

代码:

python
import os
from openai import OpenAI

# 设置环境变量中的API Key
os.environ["OPENAI_API_KEY"] = '你的Open API Key'

# 创建OpenAI客户端
client = OpenAI()

# 调用Chat模型
response = client.chat.completions.create(  
  model="gpt-4",
  messages=[
        {"role": "system", "content": "You are a creative AI."},
        {"role": "user", "content": "请给我的花店起个名"},
    ],
  temperature=0.8,
  max_tokens=60
)

# 打印模型生成的文本
print(response.choices[0].message['content'])

注意事项:确保messages参数格式正确,每个消息都包含正确的rolecontent。最后一条消息应始终为user角色的消息,因为模型需要回应用户。考虑到对话的连贯性,合理使用system消息来设定对话背景。检查API Key是否有效,以及是否有足够的余额进行API调用。如果使用.env文件存储API Key,请确保已安装python-dotenv库,并在代码中正确加载环境变量。

十二. 总结:

  • 理解OpenAI模型的进化,掌握它们的适用场景。
  • 掌握模型调用流程,为后续学习打下基础。
  • 了解大语言模型领域的快速变化,以及LangChain在其中的作用。
  • 通过实战项目,将理论知识应用于实际问题解决。