1. 提供安装包

topo_dev
xueqingkun 10 months ago
parent 7972ab0879
commit 70b5d5d25e

@ -1,30 +1,30 @@
# mysql相关配置内容 # mysql相关配置内容
MYSQL_PASSWORD=12345678 MYSQL_PASSWORD=llm@984573~!eda
MYSQL_PORT=5415 MYSQL_PORT=42415
# minio相关配置内容 # minio相关配置内容
MINIO_CONSOLE_PORT=9001 MINIO_CONSOLE_PORT=42416
MINIO_PORT=9000 MINIO_PORT=42417
MINIO_USER=admin MINIO_USER=admin
MINIO_PASSWORD=12345678 MINIO_PASSWORD=llm@984573~!eda
# neo4j相关配置内容 # neo4j相关配置内容
NEO4J_PORT_HTTP=7474 NEO4J_PORT_HTTP=42418
NEO4J_PORT_BOLT=7687 NEO4J_PORT_BOLT=42419
NEO4J_USERNAME=neo4j NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=123456 NEO4J_PASSWORD=llm@984573~!eda
# 伏羲后台服务相关配置内容 # 伏羲后台服务相关配置内容
WEB_HTTP_PORT=9380 WEB_HTTP_PORT=9380
SPRING_PROFILES_ACTIVE=bridge SPRING_PROFILES_ACTIVE=prod
OLLAMA_URL=http://192.168.10.70:11434 OLLAMA_URL=http://192.168.10.70:11434
OLLAMA_MODEL=llama3-chinese:8b OLLAMA_MODEL=llama3-chinese:8b
LANGCHAIN_CHAT_URL=http://113.128.242.110:7861 LANGCHAIN_CHAT_URL=http://113.128.242.110:7861
# nginx相关配置内容 # nginx相关配置内容
NGINX_HTTP_PORT=80 NGINX_HTTP_PORT=9978
FU_HSI_SERVERS=fu-hsi-web:8097 FU_HSI_SERVERS=fu-hsi-web:8097
TIMEZONE='Asia/Shanghai' TIMEZONE='Asia/Shanghai'

@ -22,8 +22,8 @@
1. 加载镜像 1. 加载镜像
```shell ```shell
# 进入deploy文件目录 # 进入install-all文件目录
cd ./deploy cd ./install-all
# 加载镜像 # 加载镜像
docker load -i fu-shi-install.1.0.0.tar.gz docker load -i fu-shi-install.1.0.0.tar.gz
@ -41,9 +41,9 @@ $ vi .env
# 其他配置项可保持默认值 # 其他配置项可保持默认值
``` ```
3. 进入deploy目录,执行命令 3. 进入install-all目录,执行命令
```shell ```shell
docker compose up -d docker-compose up -d
``` ```
等待程序启动完成即可,如果没有启动成功,可重试上面的命令。 等待程序启动完成即可,如果没有启动成功,可重试上面的命令。
启动完成后会打印出下面的日志信息: 启动完成后会打印出下面的日志信息:
@ -57,10 +57,10 @@ $ vi .env
4. 查看启动情况 4. 查看启动情况
```shell ```shell
$ docker compose ps $ docker-compose ps
> docker compose ps > docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
fu-hsi-minio quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z "/usr/bin/docker-ent…" minio 20 minutes ago Up 20 minutes 0.0.0.0:9000-9001->9000-9001/tcp fu-hsi-minio quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z "/usr/bin/docker-ent…" minio 20 minutes ago Up 20 minutes 0.0.0.0:9000-9001->9000-9001/tcp
fu-hsi-mysql mysql:5.7 "docker-entrypoint.s…" mysql 20 minutes ago Up 20 minutes (healthy) 33060/tcp, 0.0.0.0:5415->3306/tcp fu-hsi-mysql mysql:5.7 "docker-entrypoint.s…" mysql 20 minutes ago Up 20 minutes (healthy) 33060/tcp, 0.0.0.0:5415->3306/tcp
@ -70,4 +70,4 @@ fu-hsi-web fu-hsi-web:1.0.0 "java -Xms256m
``` ```
## 🚀 访问服务 ## 🚀 访问服务
访问地址http://ip:9978/case-management 访问地址http://ip:9978/case-management 用户名:admin 密码:llm@sst$09637674#w

@ -17,17 +17,18 @@ services:
- ${WEB_HTTP_PORT}:8097 - ${WEB_HTTP_PORT}:8097
volumes: volumes:
- ./fu-hsi-web/:/data/fu-hsi/web/ - ./fu-hsi-web/:/data/fu-hsi/web/
command:
--spring.profiles.active=${SPRING_PROFILES_ACTIVE}
--ollama.url=${OLLAMA_URL}
--ollama.model=${OLLAMA_MODEL}
--langChain-chat.url=${LANGCHAIN_CHAT_URL}
--datasource.username=${MYSQL_PASSWORD}
--neo4j.username=${NEO4J_USERNAME}
--neo4j.password=${NEO4J_PASSWORD}
--minio.username=${MINIO_USER}
--minio.password=${MINIO_PASSWORD}
environment: environment:
- TZ=${TIMEZONE} - TZ=${TIMEZONE}
- spring.profiles.active=${SPRING_PROFILES_ACTIVE}
- ollama.url=${OLLAMA_URL}
- ollama.model=${OLLAMA_MODEL}
- langChain-chat.url=${LANGCHAIN_CHAT_URL}
- datasource.username=${MYSQL_PASSWORD}
- neo4j.username=${NEO4J_USERNAME}
- neo4j.password=${NEO4J_PASSWORD}
- minio.username=${MINIO_USER}
- minio.password=${MINIO_PASSWORD}
networks: networks:
- fu-hsi - fu-hsi
restart: always restart: always

File diff suppressed because it is too large Load Diff

@ -2,6 +2,7 @@ package com.supervision.chat.client.dto;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.supervision.chat.client.dto.chat.ChatResDTO; import com.supervision.chat.client.dto.chat.ChatResDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage; import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -18,6 +19,7 @@ import java.util.List;
* @description * @description
* @param * @param
*/ */
@Slf4j
public class ChatResConverter implements HttpMessageConverter { public class ChatResConverter implements HttpMessageConverter {
private final ObjectMapper objectMapper = new ObjectMapper(); private final ObjectMapper objectMapper = new ObjectMapper();
@ -42,6 +44,7 @@ public class ChatResConverter implements HttpMessageConverter {
public Object read(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { public Object read(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException {
String body = StreamUtils.copyToString(inputMessage.getBody(), StandardCharsets.UTF_8); String body = StreamUtils.copyToString(inputMessage.getBody(), StandardCharsets.UTF_8);
log.info("ChatResConverter:read body: {}", body);
// 去除 "data:" 前缀 // 去除 "data:" 前缀
if (body.startsWith("data:")) { if (body.startsWith("data:")) {
body = body.substring(5).trim(); body = body.substring(5).trim();

@ -6,8 +6,10 @@ import io.minio.*;
import io.minio.errors.*; import io.minio.errors.*;
import io.minio.messages.DeleteError; import io.minio.messages.DeleteError;
import io.minio.messages.DeleteObject; import io.minio.messages.DeleteObject;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -31,6 +33,10 @@ public class MinioTemplate {
@Autowired @Autowired
private MinioClient minioClient; private MinioClient minioClient;
@Value("${minio.bucketName}")
private String bucketName;
/** /**
* *
* *
@ -216,4 +222,14 @@ public class MinioTemplate {
} }
} }
@PostConstruct
public void init() throws Exception {
if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
log.info("未找到bucket:{},自动建立", bucketName);
minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
}else {
log.info("bucket:{}已存在", bucketName);
}
}
} }

@ -45,7 +45,7 @@ public class UserInfoReqVo {
systemUser.setUserName(userName); systemUser.setUserName(userName);
systemUser.setUserPd(password); systemUser.setUserPd(password);
systemUser.setRemark(remark); systemUser.setRemark(remark);
systemUser.setStatus(status); systemUser.setStatus(null == status ? 0 : status);
systemUser.setUserPd(UserUtil.signPassword(this.getPassword())); systemUser.setUserPd(UserUtil.signPassword(this.getPassword()));
return systemUser; return systemUser;
} }

@ -39,6 +39,8 @@ public class ChatServiceImpl implements ChatService {
ChatResDTO chat = langChainChatService.chat( ChatResDTO chat = langChainChatService.chat(
ChatReqDTO.create(chatReqVO.getQuery(), modelCase.getCaseNo(),chatReqVO.getHistory())); ChatReqDTO.create(chatReqVO.getQuery(), modelCase.getCaseNo(),chatReqVO.getHistory()));
Assert.notNull(chat, "我暂时还不知道怎么回答,您可以尝试换一种问法!");
Assert.notEmpty(chat.getAnswer(), "我暂时还不知道怎么回答,您可以尝试换一种问法!");
log.info("chat: caseNo:{},query{},answer:{}", modelCase.getCaseNo(), chatReqVO.getQuery(),chat.getAnswer()); log.info("chat: caseNo:{},query{},answer:{}", modelCase.getCaseNo(), chatReqVO.getQuery(),chat.getAnswer());
return new ChatResVO(chat); return new ChatResVO(chat);

@ -95,6 +95,7 @@ public class TripleExtractThread implements Callable<TripleInfo> {
// UserMessage userMessage = new UserMessage(split[1]); // UserMessage userMessage = new UserMessage(split[1]);
// Prompt ask = new Prompt(List.of(systemMessage, userMessage)); // Prompt ask = new Prompt(List.of(systemMessage, userMessage));
// ChatResponse call = chatClient.call(ask); // ChatResponse call = chatClient.call(ask);
log.info("prompt:{}", format);
ChatResponse call = chatClient.call(new Prompt(new UserMessage(format))); ChatResponse call = chatClient.call(new Prompt(new UserMessage(format)));
stopWatch.stop(); stopWatch.stop();
String content = call.getResult().getOutput().getContent(); String content = call.getResult().getOutput().getContent();

@ -56,7 +56,7 @@ spring:
password: ${neo4j.password} password: ${neo4j.password}
minio: minio:
endpoint: http://fu-hsi-minio:9002 endpoint: http:fu-hsi-minio:9000
accessKey: ${minio.username} accessKey: ${minio.username}
secretKey: ${minio.password} secretKey: ${minio.password}
bucketName: nxfuhsi bucketName: nxfuhsi

Loading…
Cancel
Save