一款开源高性能AI应用框架

ops/2024/9/23 14:23:38/

前言

LobeChat 是一个基于 Next.js 框架构建的 AI 会话应用,旨在提供一个 AI 生产力平台,使用户能够与 AI 进行自然语言交互。

LobeChat应用架构

LobeChat 的整体架构由前端、EdgeRuntime APIAgents 市场、插件市场和独立插件组成。这些组件相互协作,以提供完整的 AI 体验。

前端架构

LobeChat 的前端采用 Next.js 框架,利用其强大的 SSR(服务器端渲染)能力和路由功能。前端使用了一系列技术栈,包括 antd 组件库和 lobe-ui AIGC 组件库、zustand 状态管理、swr 请求库、i18next 国际化库等。这些技术栈共同支持了 LobeChat 的功能和特性。

前端架构中的组件包括 appcomponentsconfigconstfeatureshelpershookslayoutlocalesmigrationspromptsservicesstorestylestypesutils。每个组件都有特定的职责,并与其他组件协同工作,以实现不同的功能。

Edge Runtime API

Edge Runtime APILobeChat 的核心组件之一,负责处理 AI 会话的核心逻辑。它提供了与 AI 引擎的交互接口,包括自然语言处理、意图识别和回复生成等。EdgeRuntime API 与前端进行通信,接收用户的输入并返回相应的回复。

Agents 市场

Agents 市场是 LobeChat 的一个重要组成部分,它提供了各种不同场景的 AI Agent,用于处理特定的任务和领域。Agents 市场还提供了使用和上传 Agent 的功能,使用户能够发现其他人制作的 Agent ,也可以一键分享自己的 Agent 到市场上。

插件市场

插件市场是 LobeChat 的另一个关键组件,它提供了各种插件,用于扩展 LobeChat 的功能和特性。插件可以是独立的功能模块,也可以与 Agents 市场的 Agent 进行集成。在会话中,助手将自动识别用户的输入,并识别适合的插件并传递给相应的插件进行处理,并返回处理结果。

安全性和性能优化

LobeChat 的安全性策略包括身份验证和权限管理。用户需要进行身份验证后才能使用 LobeChat,同时根据用户的权限进行相应的操作限制。

为了优化性能,LobeChat 使用了 Next.jsSSR 功能,实现了快速的页面加载和响应时间。此外,还采用了一系列的性能优化措施,包括代码分割、缓存和资源压缩等。

安装nodejs

来到官网 https://nodejs.org/en/,下载 LTS 版本,比如我这里安装的是 18.12.1 LTS

614d1220146dadf847046da26b9b9608.png

nodejs

文件下载后,双击进行傻瓜式安装即可

39e2de3cff600267ecc01d018013abf8.png

nodejs

af08a46b98bd375247d9f1d9692e0df7.png

nodejs

安装lobe-chat

# 下载代码
git clone https://github.com/lobehub/lobe-chat.git
cd lobe-chat# 安装yarn
npm install --global yarn# 安装依赖
yarn install# 启动web服务
yarn run dev

70358401ba422128bbe59a01ca0f9340.jpeg

lobe-chat

现在,您可以在浏览器中打开 http://localhost:3010,应该会看到 LobeChat 的欢迎页面,这表明你已经成功设置好了。

1a9080cd1e1870b577463f19e519bd30.jpeg

lobe-chat

d8cb1e37bf14fe13c95132bc286a1f91.jpeg

lobe-chat

新建会话后,选择使用的大模型,比如 Mistral

88493c06f7c927f4bca1f00c66b2d99b.jpeg

lobe-chat

如果本地没有对应模型的话,lobe-chat 会自动去下载模型

059f766beef3f70c6a1b28b6ceb61905.jpeg

lobe-chat

ac310040fe89ec710565a11ee679cc0c.jpeg

lobe-chat

ff20064382cb81a5b1c23949c0efc43b.jpeg

lobe-chat

FAQ

dcb94d7f05b251d63de3afd8e7308ea7.jpeg

yarn

解决方法是更换镜像源,这里使用华为的

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

然后安装 yarn,执行 npm install --global yarn

其它可用的镜像源包括

# 腾讯
http://mirrors.cloud.tencent.com/npm/# 中科大镜像
https://registry.npmjs.org/# 淘宝镜像
https://registry.npmmirror.com# 阿里云
https://npm.aliyun.com/

cfd6fb967eb5649b39ac814dc77a885e.jpeg

aws-sdk/client-sts

参考资料

  • https://www.npmjs.com/package/@aws-sdk/client-sts

  • https://lobehub.com/zh/docs/usage/start

  • https://github.com/lobehub/lobe-chat


http://www.ppmy.cn/ops/38590.html

相关文章

封装一个可以最小化和展开的弹窗组件

gl-dialog 大概思路: 在弹窗组件内部引入gl-dialog-collapse,这个组件主要用于存储已经被最小化的弹窗(基础数据) 弹窗内部的数据如何在父组件拿到是通过作用域插槽来实现的 gl-dialog接收一个tempData这个数据会在内部被记录下来…

水平滑动与垂直滑动菜单

水平滑动菜单 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}ul{background-color: #000;}ul li{text-shadow: none;display: inline-block;height: 40px;}ul li a{…

Linux流量分析工具 | nethogs

在应急过程中&#xff0c;经常会遇到应用访问缓慢&#xff0c;网络阻塞的情况&#xff0c;分析原因可能会想到存在恶意程序把带宽占满的可能。通过这样一个小工具可以快速定位异常占用带宽程序的路径、PID、占用流量大小或是排除由带宽占满导致服务器缓慢的猜想。 一、简介 Ne…

ARM(4)缓存一致性

目录 一、缓存一致性问题 二、一致性实现方案 2.1 目录一致性协议 2.2 嗅探一致性协议 三、CHI协议 3.1 cache state 3.2 snoop维护一致性 四、其他一致性协议 4.1 MSI协议 4.2 MESI 协议 4.3 MOESI协议 本文介绍以下内容&#xff1a; 缓存一致性问题一致性实现方案…

崇贸烧录器支持PUYA普冉半导体的32位微控制器PY32F403R1DT6

芯片烧录行业领导者-崇贸技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中PUYA普冉半导体的32位微控制器PY32F403R1DT6已经被崇贸的通用烧录平台AP8000所支持。 PY32F403R1DT6微控制器是基于ArmCortexM4核的32位通用微控制器产品。内置的FPU和DSP功能…

视频监控平台:交通运输标准JTT808设备SDK接入源代码函数分享

目录 一、JT/T 808标准简介 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;协议特点 1、通信方式 2、鉴权机制 3、消息分类 &#xff08;三&#xff09;协议主要内容 1、位置信息 2、报警信息 3、车辆控制 4、数据转发 二、代码和解释 &#xff08;一…

计算机网络——Dijkstra路由算法

实验目的 实现基于 Dijkstra 算法的路由软件 实验内容 网络拓扑如图所示 实验过程 先编写开辟应该图的空间&#xff0c;然后给点映射数字&#xff0c;构建图。程序获取用户输入的学号&#xff0c;构建图中边的权值。接下来程序从用户输入获取最短路径的搜索起点&#xff0…

.net 6.0 框架集成ef实战,步骤详解

一、代码框架搭建 搭建如下代码架构&#xff1a; 重点含EntityFrameworkCore工程&#xff0c;该工程中包含AppDbContext.cs和数据表实体AggregateObject 1、AppDbContext 代码案例 //AppDbContext 代码案例using Microsoft.EntityFrameworkCore;namespace EntityFrameworkCo…