fix(web): 修复知识库id没有及时添加到http请求中
This commit is contained in:
@@ -5,7 +5,7 @@ import {useMount} from 'ahooks'
|
|||||||
import {Button, Collapse, Divider, Flex, Popover, Radio, Switch, Tooltip, Typography} from 'antd'
|
import {Button, Collapse, Divider, Flex, Popover, Radio, Switch, Tooltip, Typography} from 'antd'
|
||||||
import {isEqual, isStrBlank, trim} from 'licia'
|
import {isEqual, isStrBlank, trim} from 'licia'
|
||||||
import markdownIt from 'markdown-it'
|
import markdownIt from 'markdown-it'
|
||||||
import {useMemo, useRef, useState} from 'react'
|
import {useRef, useState} from 'react'
|
||||||
import styled from 'styled-components'
|
import styled from 'styled-components'
|
||||||
import {commonInfo} from '../../util/amis.tsx'
|
import {commonInfo} from '../../util/amis.tsx'
|
||||||
|
|
||||||
@@ -49,16 +49,8 @@ type ChatMessage = { role: string, content?: string, reason?: string }
|
|||||||
function Conversation() {
|
function Conversation() {
|
||||||
const abortController = useRef<AbortController | null>(null)
|
const abortController = useRef<AbortController | null>(null)
|
||||||
const [input, setInput] = useState<string>('')
|
const [input, setInput] = useState<string>('')
|
||||||
const [think, setThink] = useState<boolean>(true)
|
|
||||||
const [knowledge, setKnowledge] = useState<string>('0')
|
const [knowledge, setKnowledge] = useState<string>('0')
|
||||||
const [knowledgeList, setKnowledgeList] = useState<{ id: string, name: string }[]>([])
|
const [knowledgeList, setKnowledgeList] = useState<{ id: string, name: string }[]>([])
|
||||||
const requestUrl = useMemo(() => {
|
|
||||||
let url = `${commonInfo.baseAiChatUrl}/chat/async`
|
|
||||||
if (!isEqual('0', knowledge)) {
|
|
||||||
url = `${url}?knowledge_id=${knowledge}`
|
|
||||||
}
|
|
||||||
return url
|
|
||||||
}, [knowledge])
|
|
||||||
|
|
||||||
useMount(async () => {
|
useMount(async () => {
|
||||||
let response = await fetch(`${commonInfo.baseAiKnowledgeUrl}/knowledge/list`, {
|
let response = await fetch(`${commonInfo.baseAiKnowledgeUrl}/knowledge/list`, {
|
||||||
@@ -70,6 +62,10 @@ function Conversation() {
|
|||||||
|
|
||||||
const [agent] = useXAgent<ChatMessage>({
|
const [agent] = useXAgent<ChatMessage>({
|
||||||
request: async (info, callbacks) => {
|
request: async (info, callbacks) => {
|
||||||
|
let requestUrl = `${commonInfo.baseAiChatUrl}/chat/async`
|
||||||
|
if (!isEqual('0', info.knowledge)) {
|
||||||
|
requestUrl = `${requestUrl}?knowledge_id=${info.knowledge}`
|
||||||
|
}
|
||||||
await fetchEventSource(requestUrl, {
|
await fetchEventSource(requestUrl, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: commonInfo.authorizationHeaders,
|
headers: commonInfo.authorizationHeaders,
|
||||||
@@ -193,9 +189,10 @@ function Conversation() {
|
|||||||
onRequest({
|
onRequest({
|
||||||
message: {
|
message: {
|
||||||
role: 'user',
|
role: 'user',
|
||||||
content: (!think && messages.length === 0) ? `/no_think ${message}` : message,
|
content: message,
|
||||||
},
|
},
|
||||||
stream: true,
|
stream: true,
|
||||||
|
knowledge: knowledge,
|
||||||
})
|
})
|
||||||
setInput('')
|
setInput('')
|
||||||
}}
|
}}
|
||||||
|
|||||||
Reference in New Issue
Block a user