mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 05:12:39 +00:00
Update rearanker code url. Add chat storage ip address (#717)
* save chat origin ip * reranker code url
This commit is contained in:
@@ -28,7 +28,7 @@ weight: 910
|
|||||||
### 源码部署
|
### 源码部署
|
||||||
|
|
||||||
1. 根据上面的环境配置配置好环境,具体教程自行 GPT;
|
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`;
|
3. 在命令行输入命令 `pip install -r requirments.txt`;
|
||||||
4. 按照[https://huggingface.co/BAAI/bge-reranker-base](https://huggingface.co/BAAI/bge-reranker-base)下载模型仓库到app.py同级目录
|
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` ;
|
5. 添加环境变量 `export ACCESS_TOKEN=XXXXXX` 配置 token,这里的 token 只是加一层验证,防止接口被人盗用,默认值为 `ACCESS_TOKEN` ;
|
||||||
|
1
packages/global/core/chat/type.d.ts
vendored
1
packages/global/core/chat/type.d.ts
vendored
@@ -22,6 +22,7 @@ export type ChatSchema = {
|
|||||||
shareId?: string;
|
shareId?: string;
|
||||||
outLinkUid?: string;
|
outLinkUid?: string;
|
||||||
content: ChatItemType[];
|
content: ChatItemType[];
|
||||||
|
metadata?: Record<string, any>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ChatWithAppSchema = Omit<ChatSchema, 'appId'> & {
|
export type ChatWithAppSchema = Omit<ChatSchema, 'appId'> & {
|
||||||
|
@@ -69,26 +69,6 @@ const ChatSchema = new Schema({
|
|||||||
//For special storage
|
//For special storage
|
||||||
type: Object,
|
type: Object,
|
||||||
default: {}
|
default: {}
|
||||||
},
|
|
||||||
content: {
|
|
||||||
type: [
|
|
||||||
{
|
|
||||||
obj: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
enum: Object.keys(ChatRoleMap)
|
|
||||||
},
|
|
||||||
value: {
|
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
[ModuleOutputKeyEnum.responseData]: {
|
|
||||||
type: Array,
|
|
||||||
default: []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
default: []
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -69,6 +69,8 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
|
|||||||
} = req.body as Props;
|
} = req.body as Props;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const originIp = requestIp.getClientIp(req);
|
||||||
|
|
||||||
await connectToDatabase();
|
await connectToDatabase();
|
||||||
// body data check
|
// body data check
|
||||||
if (!messages) {
|
if (!messages) {
|
||||||
@@ -99,7 +101,7 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
|
|||||||
if (shareId && outLinkUid) {
|
if (shareId && outLinkUid) {
|
||||||
const { user, appId, authType, responseDetail, uid } = await authOutLinkChatStart({
|
const { user, appId, authType, responseDetail, uid } = await authOutLinkChatStart({
|
||||||
shareId,
|
shareId,
|
||||||
ip: requestIp.getClientIp(req),
|
ip: originIp,
|
||||||
outLinkUid,
|
outLinkUid,
|
||||||
question: question.value
|
question: question.value
|
||||||
});
|
});
|
||||||
@@ -245,7 +247,10 @@ export default withNextCors(async function handler(req: NextApiRequest, res: Nex
|
|||||||
value: answerText,
|
value: answerText,
|
||||||
responseData
|
responseData
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
metadata: {
|
||||||
|
originIp
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,6 +17,7 @@ type Props = {
|
|||||||
shareId?: string;
|
shareId?: string;
|
||||||
outLinkUid?: string;
|
outLinkUid?: string;
|
||||||
content: [ChatItemType, ChatItemType];
|
content: [ChatItemType, ChatItemType];
|
||||||
|
metadata?: Record<string, any>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function saveChat({
|
export async function saveChat({
|
||||||
@@ -29,7 +30,8 @@ export async function saveChat({
|
|||||||
source,
|
source,
|
||||||
shareId,
|
shareId,
|
||||||
outLinkUid,
|
outLinkUid,
|
||||||
content
|
content,
|
||||||
|
metadata = {}
|
||||||
}: Props) {
|
}: Props) {
|
||||||
try {
|
try {
|
||||||
const chat = await MongoChat.findOne(
|
const chat = await MongoChat.findOne(
|
||||||
@@ -39,9 +41,14 @@ export async function saveChat({
|
|||||||
tmbId,
|
tmbId,
|
||||||
appId
|
appId
|
||||||
},
|
},
|
||||||
'_id'
|
'_id metadata'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const metadataUpdate = {
|
||||||
|
...chat?.metadata,
|
||||||
|
...metadata
|
||||||
|
};
|
||||||
|
|
||||||
const promise: any[] = [
|
const promise: any[] = [
|
||||||
MongoChatItem.insertMany(
|
MongoChatItem.insertMany(
|
||||||
content.map((item) => ({
|
content.map((item) => ({
|
||||||
@@ -53,6 +60,7 @@ export async function saveChat({
|
|||||||
}))
|
}))
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
console.log(metadataUpdate);
|
||||||
|
|
||||||
const title =
|
const title =
|
||||||
chatContentReplaceBlock(content[0].value).slice(0, 20) ||
|
chatContentReplaceBlock(content[0].value).slice(0, 20) ||
|
||||||
@@ -65,7 +73,8 @@ export async function saveChat({
|
|||||||
{ chatId },
|
{ chatId },
|
||||||
{
|
{
|
||||||
title,
|
title,
|
||||||
updateTime: new Date()
|
updateTime: new Date(),
|
||||||
|
metadata: metadataUpdate
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -80,7 +89,8 @@ export async function saveChat({
|
|||||||
title,
|
title,
|
||||||
source,
|
source,
|
||||||
shareId,
|
shareId,
|
||||||
outLinkUid
|
outLinkUid,
|
||||||
|
metadata: metadataUpdate
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user