提交 97d01542 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 ceddc3d6
差异被折叠。
......@@ -12,7 +12,6 @@
"release": "npm run build && npm run deploy"
},
"dependencies": {
"@baiducloud/qianfan": "^0.0.8",
"@floating-ui/vue": "^1.0.6",
"@microsoft/fetch-event-source": "^2.0.1",
"@vueuse/core": "^10.9.0",
......
import { ChatCompletion } from '@baiducloud/qianfan'
// 手动传 AK/SK
const client = new ChatCompletion({ QIANFAN_AK: 'wY7bvMpkWeZbDVq9w3EDvpjU', QIANFAN_SK: 'XJwpiJWxs5HXkOtbo6tQrvYPZFJAWdAy' })
async function main() {
const resp = await client.chat(
{
messages: [
{
role: 'user',
content: '今天深圳天气'
}
]
},
'ERNIE-4.0-8K'
)
console.log(resp)
}
main()
import { ChatCompletion } from '@baiducloud/qianfan'
// 手动传 AK/SK
const client = new ChatCompletion({ QIANFAN_AK: 'wY7bvMpkWeZbDVq9w3EDvpjU', QIANFAN_SK: 'XJwpiJWxs5HXkOtbo6tQrvYPZFJAWdAy' })
async function main() {
const resp = await client.chat(
{
messages: [
{
role: 'user',
content: '今天深圳天气'
}
]
},
'ERNIE-4.0-8K'
)
console.log(resp)
}
main()
import md5 from 'blueimp-md5'
import { fetchEventSource } from '@microsoft/fetch-event-source'
import { fetchAgents } from '@/api/chat'
import axios from 'axios'
// import { fetchEventSource } from '@microsoft/fetch-event-source'
export function useChat() {
const authKey = 'f3846153ba784b6d86bdcd5533259c88'
const authSecret = 'HO4IyLEwEOHpeOXBxaLQUOqWslJRGs1M'
const AK = 'wY7bvMpkWeZbDVq9w3EDvpjU'
const SK = 'XJwpiJWxs5HXkOtbo6tQrvYPZFJAWdAy'
const messages = ref([])
const chatId = ref(null)
const isLoading = ref(false)
async function post(data) {
const timestamp = Date.now()
const sign = md5(`${authKey}${authSecret}${timestamp}`)
isLoading.value = true
await fetchEventSource('/api/ai/openapi/agent/chat/stream/v1', {
method: 'POST',
headers: { authKey, timestamp, sign, 'Content-Type': 'application/json' },
body: JSON.stringify({ ...data, chatId: chatId.value, agentId: 'f3846153ba784b6d86bdcd5533259c88' }),
async onopen(response) {
if (response.ok) {
return response
} else {
throw response
}
},
onmessage(res) {
console.log(res.data)
const message = JSON.parse(res.data)
chatId.value = message.chatId
const conversationId = message.conversationId
const messageIndex = messages.value.findIndex(session => session.conversationId === conversationId)
let content = message.content || ''
if (message.content === '\n') content = '<br/>'
if (messageIndex === -1) {
messages.value.push({ conversationId, role: 'bot', content })
} else {
messages.value[messageIndex].content = messages.value[messageIndex].content + content
}
isLoading.value = false
},
onerror(err) {
isLoading.value = false
throw err
}
const res = await axios.post('/api/qianfan/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=' + (await getAccessToken()), {
messages: [{ role: 'user', content: data.userChatInput }]
})
messages.value.push({ role: 'assistant', content: res.data.result.replaceAll('\n', '<br/>') })
isLoading.value = false
// await fetchEventSource('/api/qianfan/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=' + (await getAccessToken()), {
// method: 'POST',
// headers: { 'Content-Type': 'application/json' },
// body: JSON.stringify({
// messages: [{ role: 'user', content: data.userChatInput }],
// stream: true
// }),
// async onopen(response) {
// if (response.ok) {
// return response
// } else {
// throw response
// }
// },
// onmessage(res) {
// console.log(res.data)
// const message = JSON.parse(res.data)
// chatId.value = message.chatId
// const id = message.id
// const messageIndex = messages.value.findIndex(session => session.id === id)
// let content = message.result || ''
// if (message.result === '\n') content = '<br/>'
// if (messageIndex === -1) {
// messages.value.push({ id, role: 'bot', content })
// } else {
// messages.value[messageIndex].content = messages.value[messageIndex].content + content
// }
// isLoading.value = false
// },
// onerror(err) {
// isLoading.value = false
// throw err
// }
// })
}
async function getAgents() {
await fetchAgents()
async function getAccessToken() {
const res = await axios.post('/api/qianfan/oauth/2.0/token?grant_type=client_credentials&client_id=' + AK + '&client_secret=' + SK)
return res.data.access_token
}
return { chatId, messages, post, getAgents, isLoading }
return { chatId, messages, post, isLoading }
}
import axios from 'axios'
// import { fetchEventSource } from '@microsoft/fetch-event-source'
export function useChat() {
const AK = 'wY7bvMpkWeZbDVq9w3EDvpjU'
const SK = 'XJwpiJWxs5HXkOtbo6tQrvYPZFJAWdAy'
const messages = ref([])
const chatId = ref(null)
const isLoading = ref(false)
async function post(data) {
isLoading.value = true
const res = await axios.post('/api/qianfan/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token=' + (await getAccessToken()), {
messages: [{ role: 'user', content: data.userChatInput }]
})
messages.value.push({ role: 'assistant', content: res.data.result.replaceAll('\n', '<br/>') })
isLoading.value = false
// await fetchEventSource('/api/qianfan/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token=' + (await getAccessToken()), {
// method: 'POST',
// headers: { 'Content-Type': 'application/json' },
// body: JSON.stringify({
// messages: [{ role: 'user', content: data.userChatInput }],
// stream: true
// }),
// async onopen(response) {
// if (response.ok) {
// return response
// } else {
// throw response
// }
// },
// onmessage(res) {
// console.log(res.data)
// const message = JSON.parse(res.data)
// chatId.value = message.chatId
// const id = message.id
// const messageIndex = messages.value.findIndex(session => session.id === id)
// let content = message.result || ''
// if (message.result === '\n') content = '<br/>'
// if (messageIndex === -1) {
// messages.value.push({ id, role: 'bot', content })
// } else {
// messages.value[messageIndex].content = messages.value[messageIndex].content + content
// }
// isLoading.value = false
// },
// onerror(err) {
// isLoading.value = false
// throw err
// }
// })
}
async function getAccessToken() {
const res = await axios.post('/api/qianfan/oauth/2.0/token?grant_type=client_credentials&client_id=' + AK + '&client_secret=' + SK)
return res.data.access_token
}
return { chatId, messages, post, isLoading }
}
import { ChatCompletion } from '@baiducloud/qianfan'
export function useChat() {
const AK = 'wY7bvMpkWeZbDVq9w3EDvpjU'
const SK = 'XJwpiJWxs5HXkOtbo6tQrvYPZFJAWdAy'
const client = new ChatCompletion({ QIANFAN_AK: AK, QIANFAN_SK: SK })
const messages = ref([])
const chatId = ref(null)
const isLoading = ref(false)
async function post(data) {
isLoading.value = true
const res = await client.chat({
messages: [{ role: 'user', content: data.userChatInput }],
disable_search: false,
enable_citation: false
})
messages.value.push({ role: 'assistant', content: res.data.result.replaceAll('\n', '<br/>') })
isLoading.value = false
}
return { chatId, messages, post, isLoading }
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论