返回

启用 LangChain 开发构建小型项目

人工智能

启用 LangChain 开发构建小型项目:LangChain 老喻的干货店聊天Robot(二)

前言

上篇文章我们开发了老喻干货店 RAG 聊天机器人,这篇文章专门来聊聊部署。

LangChain 实战:老喻干货店社交网络 Agent 一使用的是 Flask MVC 框架做的 Web 服务器程序,这次我们改用 LangChain 自带的服务器部署。

部署

LangChain 自带的服务器部署非常简单,只需要三步:

  1. 安装 LangChain 服务器:
pip install langchain-server
  1. 创建 LangChain 项目:
langchain-server init my_project
  1. 启动 LangChain 服务器:
langchain-server start

这样,LangChain 服务器就启动成功了。

数据库

LangChain 使用 PostgreSQL 作为数据库,PostgreSQL 是一个开源的对象关系数据库管理系统(ORDBMS),以其可靠性和稳定性著称。

如果你的电脑上还没有安装 PostgreSQL,可以按照以下步骤安装:

  1. 下载 PostgreSQL 安装包:

https://www.postgresql.org/download/

  1. 安装 PostgreSQL:

双击安装包,按照提示安装即可。

  1. 创建 PostgreSQL 数据库:
createdb my_database
  1. 配置 LangChain 使用 PostgreSQL:

在 LangChain 项目的配置文件 config.py 中,找到以下配置项:

LANGCHAIN_DATABASE_URL = 'postgresql://postgres:my_password@localhost:5432/my_database'

将 LANGCHAIN_DATABASE_URL 的值修改为你自己的 PostgreSQL 数据库连接信息。

  1. 同步数据库结构:
langchain-server syncdb

这样,LangChain 就会使用 PostgreSQL 作为数据库了。

单元测试

LangChain 提供了单元测试框架,可以方便地对 LangChain 项目进行单元测试。

在 LangChain 项目中,创建一个 tests 目录,并在 tests 目录中创建一个 test_app.py 文件,在 test_app.py 文件中编写单元测试用例。

例如,以下单元测试用例测试了 LangChain 项目的 hello 函数:

import unittest
from app import hello


class TestApp(unittest.TestCase):

    def test_hello(self):
        result = hello('world')
        self.assertEqual(result, 'Hello, world!')


if __name__ == '__main__':
    unittest.main()

要运行单元测试用例,可以执行以下命令:

python -m unittest discover

CI/CD

LangChain 提供了 CI/CD 支持,可以方便地对 LangChain 项目进行持续集成和持续交付。

在 LangChain 项目中,创建一个 .github 目录,并在 .github 目录中创建一个 workflows 目录,在 workflows 目录中创建一个 main.yml 文件,在 main.yml 文件中编写 CI/CD 工作流。

例如,以下 CI/CD 工作流配置了单元测试和部署:

name: CI/CD

on:
  push:
    branches:
      - main

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: pip install -r requirements.txt
      - run: python -m unittest discover

  deploy:
    runs-on: ubuntu-latest
    needs: test
    steps:
      - uses: actions/checkout@v2
      - run: langchain-server init
      - run: langchain-server syncdb
      - run: langchain-server start

要运行 CI/CD 工作流,可以将 LangChain 项目推送到 GitHub 仓库。

结语

以上就是 LangChain 开发构建小型项目的教程,希望对大家有所帮助。

LangChain 是一款非常棒的工具,它可以帮助我们轻松地构建各种各样的项目。