Update rearanker code url. Add chat storage ip address (#717)

* save chat origin ip

* reranker code url
This commit is contained in:
Archer
2024-01-09 12:09:36 +08:00
committed by GitHub
parent 13eda40443
commit 5876a47da6
5 changed files with 23 additions and 27 deletions

View File

@@ -28,7 +28,7 @@ weight: 910
### 源码部署
1. 根据上面的环境配置配置好环境,具体教程自行 GPT
2. 下载 [python 文件](app.py)
2. 下载 [python 文件](https://github.com/labring/FastGPT/tree/main/python/reranker/bge-reranker-base)
3. 在命令行输入命令 `pip install -r requirments.txt`
4. 按照[https://huggingface.co/BAAI/bge-reranker-base](https://huggingface.co/BAAI/bge-reranker-base)下载模型仓库到app.py同级目录
5. 添加环境变量 `export ACCESS_TOKEN=XXXXXX` 配置 token这里的 token 只是加一层验证,防止接口被人盗用,默认值为 `ACCESS_TOKEN`

View File

@@ -22,6 +22,7 @@ export type ChatSchema = {
shareId?: string;
outLinkUid?: string;
content: ChatItemType[];
metadata?: Record<string, any>;
};
export type ChatWithAppSchema = Omit<ChatSchema, 'appId'> & {

View File

@@ -69,26 +69,6 @@ const ChatSchema = new Schema({
//For special storage
type: Object,
default: {}
},
content: {
type: [
{
obj: {
type: String,
required: true,
enum: Object.keys(ChatRoleMap)
},
value: {
type: String,
default: ''
},
[ModuleOutputKeyEnum.responseData]: {
type: Array,
default: []
}
}
],
default: []
}
});

View File

@@ -69,6 +69,8 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
} = req.body as Props;
try {
const originIp = requestIp.getClientIp(req);
await connectToDatabase();
// body data check
if (!messages) {
@@ -99,7 +101,7 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
if (shareId && outLinkUid) {
const { user, appId, authType, responseDetail, uid } = await authOutLinkChatStart({
shareId,
ip: requestIp.getClientIp(req),
ip: originIp,
outLinkUid,
question: question.value
});
@@ -245,7 +247,10 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
value: answerText,
responseData
}
]
],
metadata: {
originIp
}
});
}

View File

@@ -17,6 +17,7 @@ type Props = {
shareId?: string;
outLinkUid?: string;
content: [ChatItemType, ChatItemType];
metadata?: Record<string, any>;
};
export async function saveChat({
@@ -29,7 +30,8 @@ export async function saveChat({
source,
shareId,
outLinkUid,
content
content,
metadata = {}
}: Props) {
try {
const chat = await MongoChat.findOne(
@@ -39,9 +41,14 @@ export async function saveChat({
tmbId,
appId
},
'_id'
'_id metadata'
);
const metadataUpdate = {
...chat?.metadata,
...metadata
};
const promise: any[] = [
MongoChatItem.insertMany(
content.map((item) => ({
@@ -53,6 +60,7 @@ export async function saveChat({
}))
)
];
console.log(metadataUpdate);
const title =
chatContentReplaceBlock(content[0].value).slice(0, 20) ||
@@ -65,7 +73,8 @@ export async function saveChat({
{ chatId },
{
title,
updateTime: new Date()
updateTime: new Date(),
metadata: metadataUpdate
}
)
);
@@ -80,7 +89,8 @@ export async function saveChat({
title,
source,
shareId,
outLinkUid
outLinkUid,
metadata: metadataUpdate
})
);
}