返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

SuperSonic环境部署

[复制链接]
链载Ai 显示全部楼层 发表于 前天 10:22 |阅读模式 打印 上一主题 下一主题

社区群里面经常有小伙伴咨询环境、本地编译、部署等问题;为了方便大家更好地使用,本文将对SuperSonic环境、部署、项目结构方面进行介绍;

一、系统环境和部署

1、环境依赖
1.1 后端服务
JDK版本:1.8+Maven:2+(源码编译)
1.2 前端服务
Node版本:16+pnpm:8+
1.3 Python服务
此处仅指使用sh bin/supersonic-daemon.sh start pyllm命令启动python服务;
Python版本:3.9+pip版本:3.9+
其它python依赖包文件,具体可参考文件supersonic/chat/python/requirements.txt;
langchain==0.0.207openai==0.27.4fastapi==0.95.1chromadb==0.3.21tiktoken==0.3.3vicorn[standard]==0.21.1(windows:uvicorn==0.21.1)pandas==1.5.3
注意事项:
  • pip路径:在supersonic-common.sh中修改
  • python路径:在supersonic-common.sh中修改
  • 默认pip路径:/usr/local/bin/pip3,默认python路径:/usr/local/bin/python3
  • Windows系统需要将python和pip指令配置好

2、编译和启动
2.1 Release启动
  • 下载最新版release包
    https://github.com/tencentmusic/supersonic/releases
  • 启动脚本:
    1)unzip supersonic-release-xxx.zip
  • 2)sh bin/supersonic-daemon.sh start
  • 浏览器访问:http://localhost:9080
  • 日志:目录../runtime/supersonic-standalone/logs
  • 1)keyPipeline.log:查询关键路径日志,主要指包括:用户输入的NLQ、输入给LLM的Prompt、LLM输出的S2SQL、Headless输出的SQL
    2)info.chat.log/error.chat.log:整个应用的info、error级别日志;
    3)serviceinfo.chat.log:supersonic相关的日志(仅在com.tencent.supersonic);
2.2 源码启动
  • 源码编译
  • sh assembly/bin/supersonic-build.sh执行构建
  • 启动运行
  • sh assembly/bin/supersonic-daemon.sh start
  • 浏览器访问:http://localhost:9080
2.3 IDE启动
  • 后端直接访问前端资源的方式
    1)sh assembly/bin/supersonic-build.sh执行构建
    2)IDE本地启动Java类StandaloneLauncher
3)浏览器输入http://localhost:9080
  • 前后端分开启动的方式
  • 1)IDE本地启动Java类StandaloneLauncher
    2)进入webapp目录,执行sh start-fe-dev.sh直接启动前端服务
    3)浏览器输入http://localhost:9000 (注意这里是9000端口
说明:
    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-indent: 34px;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;">
  • Windows环境同样提供对应的bat脚本
  • 系统目前支持两种访问LLM和向量库的方式:
  • 1)Java服务通过langchain4j直接访问LLM的方式,默认方式;
    2)Python服务的方式来访问LLM,执行sh assembly/bin/supersonic-daemon.sh start pyllm,会同时启动Python服务和Java服务, 区别是通过Python服务来访问LLM和向量库
  • Ubuntu环境,若出现报错, 可尝试访问:
    https://support.huaweicloud.com/intl/zh-cn/deployman_faq/deployman_faq_1016.html

2.4命令汇总
编译:
  • sh supersonic-build.sh编译java服务、前端代码
  • sh supersonic-build.sh pyllm编译java服务、前端代码、python代码
运行:
  • sh supersonic-daemon.sh start 启动java服务
  • sh supersonic-daemon.sh restart 重启java服务
  • sh supersonic-daemon.sh start pyllm启动java、python服务
  • sh supersonic-daemon.sh restart pyllm 重启java、python服务
  • sh supersonic-daemon.sh stop重启所有服务
  • window环境命令与linux系统类似,执行bat命令;

二、工程介绍
1、工程结构
supersonic工程结构如下:

现我们对各工程主要功能进行说明

2、assembly工程

主要功能是工程的编译和启动;主要包含binbuild文件夹;
  • bin文件夹用于存放编译和启动脚本;支持window、linux两套系统;
  • build文件夹用于存储编译后的文件包;执行build命令后,编译后的前后端包存放在build文件夹下;
  • 执行启动命令后,会将编译的包copy至runtime目录,解压并启动服务;如需修改配置文件参数,可在supersonic-standalone/conf目录下配置文件进行修改;其中supersonic-standalone/logs是java服务日志保存目录;supersonic-standalone/pyllm/pyllm.log是python服务日志文件;


3、chat工程
主要是supersonic问答功能的实现;主要包括四个子工程:apicoreserverpython
  • server工程主要是对外提供rest接口、集成业务增删查改功能;
  • core工程主要集成chat模块最核心功能:如mapper、parser、corrector、query
  • api工程主要是定义pojo对象包括request、response、以及共用的pojo类;
  • python工程主要是与LLM、向量库交互的python版本的实现;
3、auth工程
主要是权限相关,包括认证、鉴权等功能;如需要实现自定义的账号认证体系;可按需实现UserAdaptor、AuthenticationInterceptor接口,并在spring.factories中指定;
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;"/>

4、headless工程

主要是supersonic统一语义层的实现;主要包括三个子工程:apicoreserver
  • server工程,和chat中的server功能类似;
  • core工程主要集成headless模块最核心功能:如queryCache、queryParser、queryPlan、queryExecute等;
  • api工程,和chat中的api功能类似;
5、common工程
主要集成supersonic各工程共用一些类库;
6、launchers工程
主要是supersonic启动相关部分代码;包括单独启动chat、单独启动headless、同时启动chat/headless的standalone模式;
7、webapp工程
前端工程代码;包括两大块:chat-sdk、supersonic-fe;chat-sdk是前端问答相关代码,如其他系统需要集成问答功能,可单独引入chat-sdk即可;supersonic-fe是除问答之外其他前端代码;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ