Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-ai-chat
提交
080d61b4
U
uni-ai-chat
项目概览
DCloud
/
uni-ai-chat
通知
893
Star
11
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-ai-chat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
080d61b4
编写于
6月 13, 2023
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.1.5
上级
676cabfc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
22 addition
and
17 deletion
+22
-17
changelog.md
changelog.md
+2
-0
package.json
package.json
+1
-1
pages/chat/chat.vue
pages/chat/chat.vue
+14
-12
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
+5
-4
未找到文件。
changelog.md
浏览文件 @
080d61b4
## 1.1.5(2023-06-13)
-
修复 提供给AI做出总结的内容,多包含了最后一次提问的内容
## 1.1.4(2023-06-13)
-
更新 当内容长度超过800再执行总结
## 1.1.3(2023-06-12)
...
...
package.json
浏览文件 @
080d61b4
{
"id"
:
"uni-ai-chat"
,
"name"
:
"uni-ai-chat"
,
"version"
:
"1.1.
4
"
,
"version"
:
"1.1.
5
"
,
"description"
:
"基于uni-ai的聊天示例项目,支持流式、支持前文总结,云端一体"
,
"main"
:
"main.js"
,
"scripts"
:
{
...
...
pages/chat/chat.vue
浏览文件 @
080d61b4
...
...
@@ -9,17 +9,19 @@
@
retriesSendMsg=
"retriesSendMsg"
@
changeAnswer=
"changeAnswer"
:show-cursor=
"index == msgLength - 1 && msgLength%2 === 0 && sseIndex"
:isLastMsg=
"index == visibleMsgLength - 1"
@
removeMsg=
"removeMsg"
></uni-ai-msg>
<view
v-if=
"lastMsgState == -100"
class=
"retries-box"
>
<text>
消息发送失败
</text>
<uni-icons
@
click=
"retriesSendMsg"
color=
"#d22"
type=
"refresh-filled"
class=
"retries-icon"
></uni-icons>
</view>
<view
class=
"tip-ai-ing"
v-else-if=
"msgLength && msgLength%2 !== 0"
>
<text>
uni-ai正在思考中...
</text>
<view
v-if=
"NODE_ENV == 'development' && !enableStream"
>
如需提速,请开通
<uni-link
class=
"uni-link"
href=
"https://uniapp.dcloud.net.cn/uniCloud/uni-ai-chat.html"
text=
"[流式响应]"
></uni-link>
</view>
</view>
<template
v-if=
"msgLength%2 !== 0"
>
<view
v-if=
"lastMsgState == -100"
class=
"retries-box"
>
<text>
消息发送失败
</text>
<uni-icons
@
click=
"retriesSendMsg"
color=
"#d22"
type=
"refresh-filled"
class=
"retries-icon"
></uni-icons>
</view>
<view
class=
"tip-ai-ing"
v-else-if=
"msgLength"
>
<text>
uni-ai正在思考中...
</text>
<view
v-if=
"NODE_ENV == 'development' && !enableStream"
>
如需提速,请开通
<uni-link
class=
"uni-link"
href=
"https://uniapp.dcloud.net.cn/uniCloud/uni-ai-chat.html"
text=
"[流式响应]"
></uni-link>
</view>
</view>
</
template
>
<view
@
click=
"closeSseChannel"
class=
"stop-responding"
v-if=
"enableStream && sseIndex"
>
▣ 停止响应
</view>
<view
id=
"last-msg-item"
style=
"height: 1px;"
></view>
</scroll-view>
...
...
@@ -552,7 +554,7 @@
let
messages
=
[]
// 复制一份,消息列表数据
let
msgs
=
Array
.
from
(
msgList
).
filter
(
i
=>
i
.
isDelete
!==
true
)
let
msgs
=
JSON
.
parse
(
JSON
.
stringify
(
msgList
)
).
filter
(
i
=>
i
.
isDelete
!==
true
)
// 带总结的消息 index
let
findIndex
=
[...
msgs
].
reverse
().
findIndex
(
item
=>
item
.
summarize
)
// console.log('findIndex', findIndex)
...
...
uniCloud-aliyun/cloudfunctions/uni-ai-chat/index.obj.js
浏览文件 @
080d61b4
...
...
@@ -225,10 +225,11 @@ module.exports = {
chatCompletionOptions
.
model
=
llmModel
}
// 判断是否需要总结,如果需要就开始总结
// 计算消息总长度,判断是否需要总结
let
needSummarize
=
messages
.
map
(
i
=>
i
.
content
).
join
(
''
).
length
>
800
,
// console.log('messages',messages);
let
lastTimeMessages
=
messages
.
slice
(
0
,
-
1
)
// console.log('lastTimeMessages',lastTimeMessages);
let
needSummarize
=
lastTimeMessages
.
map
(
i
=>
i
.
content
).
join
(
''
).
length
>
800
,
// 总结的内容默认为 false 表示没有内容或者暂未拿到
summarizeData
=
false
,
//成功拿到总结内容的回调函数列表
...
...
@@ -237,7 +238,7 @@ module.exports = {
console
.
log
(
'
needSummarize
'
,
needSummarize
);
if
(
needSummarize
)
{
// 获取总结
let
replySummarize
=
getSummarize
(
m
essages
)
let
replySummarize
=
getSummarize
(
lastTimeM
essages
)
.
then
((
replySummarize
)
=>
{
// console.log('replySummarize1',replySummarize);
summarizeData
=
replySummarize
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录