使用LLama和ChatGPT为多聊天后端构建微服务

译文
开发 架构
微服务架构便于创建边界明确定义的灵活独立服务。这种可扩展的方法使开发人员能够在不影响整个应用程序的情况下单独维护和完善服务。

译者 | 布加迪

审校 | 重楼

微服务架构便于创建边界明确定义灵活独立服务。这种可扩展的方法使开发人员能够在不影响整个应用程序的情况下单独维护和完善服务。然而,若要充分发挥微服务架构的潜力特别是针对基于人工智能聊天应用程序,需要与最新的大语言模型(LLM,比如Meta LLama V2OpenAIChatGPT以及基于各种应用程序用例发布其他经过微调的LLM进行强大的集成,从而为多样化的解决方案提供多模型方法。

LLM是大规模模型,可以基于不同数据训练生成类似人类的文本。通过从互联网上数十亿单词中学习,LLM了解上下文并生成不同领域调整内容。然而,由于需要独特的接口、访问端点和每个模型的特定载荷,将各种LLM集成到单个应用程序中常常带来挑战。因此,拥有可以处理各种模型的单一集成服务就能改进架构设计,加大独立服务的规模。

本教程介绍使用Node.jsExpress在微服务架构中针对LLama V2ChatGPTIntelliNode集成

聊天机器人集成选项

以下是IntelliNode提供的几个聊天集成选项

1. LLama V2您可以通过ReplicateAPI集成LLama V2模型,以实现简单的流程,也可以通AWS SageMaker主机集成LLama V2模型,以实现额外的控制。

LLama V2是一功能强大的开源LLM,它已经过预训练,并使用多700亿个参数进行了微调。它擅长处理众多领域的复杂推理任务,包括编程和创意写作等专业领域。它的训练方法包括自我监督数据,并通过人类反馈中强化学习RLHF与人类偏好保持对齐。LLama V2超越了现有的开源模型,在用性和安全性方面可与ChatGPTBARD等闭源模型相媲美。

2. ChatGPT通过简单地提供OpenAI API密钥,IntelliNode模块允许在简单的聊天界面中与模型集成。您可以通过GPT 3.5GPT 4模型访问ChatGPT。这些模型已使用了大量数据进行训练,并经过微调,以提供与上下文高度相关的、准确的响应。

逐步集成

不妨从初始化一个新的Node.js项目开始。打开终端,浏览到项目所在目录,然后运行以下命令

npm init -y

个命令将为您的应用程序创建一个新的“package.json”文件。

接下来,安装Express.js,它将用于处理HTTP请求和响应以及用于LLM模型连接的intellinode

npm install express
npm install intellinode

安装完成后,在项目的根目录下创建一个名为app.js的新文件然后,在app.js中添加express初始化代码。

使用Replicate的API集成LLama V2

通过API密钥Replicate提供了与LLama V2快速集成路径,IntelliNode提供了聊天机器人接口,将您的业务逻辑与Replicate后端实现分离,允许您在不同的聊天模型之间切换。

不妨与托管在Replica后端的LLama集成开始

从replicate.com获取试用密钥以激活集成。

使用AWS SageMaker集成LLama V2

现在介绍通过AWS SageMaker集成LLama V2,提供隐私和额外的控制层。

集成需要从您的AWS帐户生成API端点,首先我们将在微服务应用程序中设置集成代码

步骤是在您的帐户中创建一个LLama端点,一旦您设置了API网关,复制用于运行/LLama /aws”服务的URL。

在您的AWS帐户中设置LLama V2端点

1.SageMaker服务从您的AWS帐户中选择SageMaker服务,然后点击域。

2.创建SageMaker域先在您的AWS SageMaker上创建一个新域。这一步为您的SageMaker操作建立空间。

3.部署LLama模型利用SageMaker JumpStart来部署计划集成的LLama模型。建议从2B模型开始,因为运行70B模型的每月成本较高。

4.复制端点名称一旦您部署了模型,确保注意端点名称,这对后面的步骤至关重要。

5.创建Lambda函数AWS Lambda允许运行后端代码而无需管理服务器。创建一个Node.js lambda函数,用于集成部署的模型。

6.设置环境变量Lambda中创建一个名为LLama_endpoint的环境变量,附有SageMaker端点的值。

7.Intellinode Lambda导入您需要导入准备好的Lambda zip文件,该文件建立到SageMaker LLama部署的连接。这个导出是一个zip文件,可以在lambda_LLama_sagemaker目录中找到。

8.API网关配置点击Lambda函数页面上的添加触发器选项,从可用触发器列表中选择API网关

9.Lambda函数设置更新Lambda角色以授予访问SageMaker端点所需的权限。此外,应该延长函数的超时时间以适应处理时间。可以在Lambda函数的Configuration选项卡中进行这些调整。

点击角色名称更新权限,并提供访问SageMaker的权限

ChatGPT集成

最后,我们将阐述集成Openai ChatGPT、作为微服务架构中另一个选项的步骤

从platform.openai.com获取试用密钥。

进行实验

先在终端中导出API密钥,如下所示


然后运行node应用程序:

node app.js

在浏览器中输入以下url测试chatGPT服务

http://localhost:3000/chatgpt?message=hello

我们构建了一个微服务,基于LLama V2和OpenAI的ChatGPT等LLM具有的功能。这种集成为充分利用基于高级AI的无数业务场景打开了大门。

通过将机器学习需求转换解耦的微服务,您的应用程序可以获得灵活性和可扩展性的好处。不用配置您的操作,以适应整体式模型的约束,语言模型功能现在可加以单独管理和开发有望提高效率更容易进行故障排查和升级管理。

原文标题:Building Microservice for Multi-Chat Backends Using LLama and ChatGPT,作者:Ahmad Albarqawi

责任编辑:华轩 来源: 51CTO
相关推荐

2023-10-31 16:37:55

大型语言模型人工智能

2022-10-10 08:00:00

微服务Spring Boo容器

2023-06-01 15:14:55

架构Python微服务

2022-09-05 08:00:00

Java微服务AuraDB

2018-12-03 08:00:00

微服务gRPC

2020-02-17 16:28:49

开发技能代码

2022-06-07 08:19:30

gRPCBallerina微服务

2023-11-06 08:26:11

Spring微服务架构

2018-04-23 14:31:02

微服务GraphQLBFF

2022-08-22 07:26:32

Node.js微服务架构

2018-09-12 09:00:00

数据库Redis微服务

2021-12-29 08:30:48

微服务架构开发

2021-01-07 08:43:11

微服务pipelineGitLabGroup

2022-09-12 15:58:50

node.js微服务Web

2018-07-09 09:27:10

Spring Clou微服务架构

2020-11-03 09:00:00

API微服务JavaScript框

2024-01-11 16:24:12

人工智能RAG

2023-05-08 07:05:26

2022-06-09 09:00:00

编程语言后端Dark

2020-04-16 20:42:16

树莓派Rocket.ChatLinux
点赞
收藏

51CTO技术栈公众号