|
50 | 50 | :inputMessage="inputMessageRef?.value" |
51 | 51 | v-model:loading="loading" |
52 | 52 | > |
53 | | - <template #header> |
54 | | - <div |
55 | | - v-if="messages.length == 0" |
56 | | - class="h-[90%] flex justify-center items-center c-gray-4 text-xl" |
57 | | - > |
58 | | - {{ t('我是你的 AI 助手,我可以帮你解答一些问题') }} |
| 53 | + <template v-if="messages.length == 0" #header> |
| 54 | + <div class="h-[90%] flex justify-center items-center text-center"> |
| 55 | + <div class="text-xl c-gray-4"> |
| 56 | + {{ t('我是你的 AI 助手,我可以帮你解答一些问题') }} |
| 57 | + <div |
| 58 | + v-if="userStore.getPageCacheByKey('demoMode')" |
| 59 | + class="text-sm mt-20 line-height-loose" |
| 60 | + > |
| 61 | + 提示:当前对接的是 DeepSeek 蒸馏过的 7B 超小模型,仅作为演示使用,AI |
| 62 | + 回答结果可能不够理想,<br /> |
| 63 | + 可在自己本地部署,或对接其它大模型。此外当前向量库中只含了几篇关于 jeesite |
| 64 | + 的文章,<br /> |
| 65 | + 知识库文章来源,可进入菜单查看:扩展功能 -> 内容管理 -> 内容发布<br /> |
| 66 | + 提问举例:jeesite 简介、jeesite 优势、jeesite 技术栈,体验一下。 |
| 67 | + </div> |
| 68 | + </div> |
59 | 69 | </div> |
60 | 70 | </template> |
61 | 71 | </ChatMessage> |
|
105 | 115 | cmsChatStream, |
106 | 116 | } from '@jeesite/cms/api/cms/chat'; |
107 | 117 | import { ChatMessage } from '@jeesite/cms'; |
| 118 | + import { useUserStore } from '/@/store/modules/user'; |
108 | 119 |
|
109 | 120 | const { t } = useI18n('cms.chat'); |
110 | 121 | const { showMessage } = useMessage(); |
111 | 122 | const conversationIds = ref<string[]>([]); |
112 | 123 | const conversationTitle = ref<string>(''); |
| 124 | + const userStore = useUserStore(); |
113 | 125 |
|
114 | 126 | const loading = ref(false); |
115 | 127 | const messageRef = ref<InstanceType<typeof ChatMessage>>(); |
116 | 128 | const inputMessageRef = ref<HTMLTextAreaElement>(); |
117 | 129 | const messages = ref<Recordable[]>([]); |
118 | | -
|
119 | 130 | const chatList = ref<Recordable[]>([]); |
120 | 131 |
|
121 | 132 | onMounted(async () => { |
|
0 commit comments