Skip to content

Commit

Permalink
🛠完善 LLM & LLM 添加至手机端
Browse files Browse the repository at this point in the history
  • Loading branch information
0xcaffebabe committed Sep 6, 2024
1 parent d4fc534 commit 263f4d0
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 8 deletions.
10 changes: 5 additions & 5 deletions src/pages/doc/MobileToolBox.vue
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@ type ActionType =
'goToDoc' |
'goToPpt' |
'showKnowledgeSystem' |
'showKwFinder'
type LocalActionType = ActionType & 'showMoreSetting'
'showKwFinder' |
'showLlm'
interface Action {
name: string
Expand Down Expand Up @@ -90,7 +89,8 @@ export default defineComponent({
'showKnowledgeReviewer',
'showKnowledgeTrend',
'showKnowledgeRedundancy',
'showKwFinder'
'showKwFinder',
'showLlm'
],
data(){
return {
Expand All @@ -103,7 +103,7 @@ export default defineComponent({
{name: '知识体系', type: 'success', action: 'showKnowledgeSystem' },
{name: '知识回顾', type: 'primary', action: 'showKnowledgeReviewer'},
{name: '知识趋势', type: 'danger', action: 'showKnowledgeTrend'},
{name: '知识冗余', type: 'success', action: 'showKnowledgeRedundancy',},
{name: '知识助手', type: 'warning', action: 'showLlm'},
{name: '阅读历史', type: 'primary', action: 'showReadingHistory', divided: true},
{name: '文本搜索', type: 'warning', action: 'showKwFinder'},
// {name: '添加书签', type: 'danger', action: 'showBookMarkAdder', divided: true},
Expand Down
40 changes: 37 additions & 3 deletions src/pages/doc/knowledge/LLM.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<el-drawer v-model="showDrawer" :size="$isMobile() ? '50%' : '44%'" :direction="$isMobile() ? 'btt' : 'rtl'"
<el-drawer v-model="showDrawer" :size="$isMobile() ? '75%' : '44%'" :direction="$isMobile() ? 'btt' : 'rtl'"
title="LLM" :modal="false" @close="$emit('close')" :lock-scroll="false" modal-class="operational-drawer-modal"
class="operational-drawer">
<div class="llm-container" v-loading="loading">
Expand All @@ -9,20 +9,28 @@
}}</el-option>
</el-select>
<el-input type="textarea" rows="5" v-model="query" @keyup="handleQueryKeyUp"/>
<el-button type="primary" @click="handleSend">发送</el-button>
<el-row>
<el-col :span="12">
<el-button type="primary" @click="handleSend" style="width:100%">发送</el-button>
</el-col>
<el-col :span="12">
<el-button type="success" @click="handleCopy" style="width:100%">复制</el-button>
</el-col>
</el-row>
</div>

</el-drawer>
</template>

<script lang="ts">
import { defineComponent } from "vue";
import api from "@/api";
import { ElMessage } from "element-plus";
import DocService from "@/service/DocService";
import Content from '@/dto/Content'
import axios from 'axios'
import { marked } from 'marked'
import CategoryService from "@/service/CategoryService";
import Category from "@/dto/Category";
function contents2String(contents: Content[]): string {
if (!contents || contents.length == 0) {
Expand All @@ -31,6 +39,13 @@ function contents2String(contents: Content[]): string {
return contents.map(v => tab(v.level) + "- " + v.name + "\n" + contents2String(v.chidren)).join('\n')
}
function categorys2String(categorys: Category[], level: number): string {
if (!categorys || categorys.length == 0) {
return ''
}
return categorys.map(v => tab(level) + "- " + v.name + "\n" + categorys2String(v.chidren, level + 1)).join('\n')
}
function tab(t: number) {
let str = ""
for (let i = 0; i < t; i++) {
Expand All @@ -54,6 +69,7 @@ export default defineComponent({
query: '',
loading: false,
presets: [
{ name: '根据整个目录回答问题', value: 'answerByAllCategory', template: () => this.answerByAllCategoryTemplate() },
{ name: '概括总结', value: 'summary', template: () => this.summaryTemplate() },
{ name: '根据内容回答问题', value: 'ansuwerByContent', template: () => this.answerByContentTempalte() },
{ name: '根据目录回答问题', value: 'ansuwerByCategory', template: () => this.answerByCategoryTempalte() },
Expand Down Expand Up @@ -86,6 +102,20 @@ export default defineComponent({
---
`
},
async answerByAllCategoryTemplate() {
const categorys = await CategoryService.getCategoryList()
return `
以下是个人知识体系的目录,请根据目录回答问题:
问题:
目录:
---
${categorys2String(categorys, 0)}
---
`
},
async answerByCategoryTempalte() {
const contents = await DocService.getContentByDocId(this.doc)
const text = contents2String(contents)
Expand Down Expand Up @@ -135,6 +165,10 @@ export default defineComponent({
this.handleSend()
}
},
handleCopy() {
navigator.clipboard.writeText(this.query);
ElMessage.success("复制成功")
},
async handleSend() {
let stream = null
try {
Expand Down
9 changes: 9 additions & 0 deletions src/pages/doc/mobile/MobileDocPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
@showKnowledgeNetwork="showKnowledgeNetwork"
@showKnowledgeTrend="showKnowledgeTrend"
@showKwFinder="showKwFinder"
@showLlm="showLLM"
/>
<LLM :doc="doc" ref="llm"/>
<key-word-finder ref="kwFinder" :kw="kw" @kwChanged="handleKwChanged"/>
</template>

Expand All @@ -50,6 +52,7 @@ import KeyWordFinder from '../KeyWordFinder.vue'
import TouchUtils from '@/util/TouchUtils'
import SelectionPopover from '../tool/SelectionPopover.vue'
import MermaidShower from '../mermaid-shower/MermaidShower.vue';
import LLM from '../knowledge/LLM.vue';
export default defineComponent({
components: {
Expand All @@ -66,13 +69,15 @@ export default defineComponent({
KeyWordFinder,
SelectionPopover,
MermaidShower,
LLM,
},
setup() {
const knowledgeReviewer = ref<InstanceType<typeof KnowledgeReviewer>>()
const knowledgeNetwork = ref<InstanceType<typeof KnowledgeNetwork>>()
const readingHistory = ref<InstanceType<typeof ReadingHistory>>()
const mindGraph = ref<InstanceType<typeof MindGraph>>()
const kwFinder = ref<InstanceType<typeof KeyWordFinder>>()
const llm = ref<InstanceType<typeof LLM>>()
const showReadingHistory = () => {
readingHistory.value?.show()
}
Expand All @@ -85,11 +90,15 @@ export default defineComponent({
const showKnowledgeNetwork = () => {
knowledgeNetwork.value?.show()
}
const showLLM = () => {
llm.value?.show();
}
return {
readingHistory,showReadingHistory,
knowledgeReviewer, showKnowledgeReviewer,
knowledgeNetwork, showKnowledgeNetwork,
mindGraph, showMindGraph,
llm, showLLM,
kwFinder
}
},
Expand Down

0 comments on commit 263f4d0

Please sign in to comment.