Skip to content

Commit

Permalink
Merge pull request #6 from cgisky1980/wenda
Browse files Browse the repository at this point in the history
合并 chat  Wenda论文
  • Loading branch information
cgisky1980 committed Jul 23, 2023
2 parents 543796b + 40f02e5 commit 947fbb2
Show file tree
Hide file tree
Showing 35 changed files with 28,452 additions and 14 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ Cargo.lock
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

*.st
*.st
ai00_server.exe
run.bat
Binary file added assets/www/assets/drawer1-23922196.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/assets/drawer2-272b905f.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/assets/drawer3-acf5de2a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions assets/www/assets/index-2e2a9af5.css

Large diffs are not rendered by default.

798 changes: 798 additions & 0 deletions assets/www/assets/index-541e9c23.js

Large diffs are not rendered by default.

Binary file added assets/www/favicon.ico
Binary file not shown.
20 changes: 20 additions & 0 deletions assets/www/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 15 additions & 13 deletions assets/www/index.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>My Website</title>
</head>

<body>
<h1>Welcome to My Website</h1>
<p>This is a simple HTML page.</p>
</body>

</html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" as="image" href="/favicon.svg" />
<link rel="short icon" type="image/x-icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vitify Admin</title>
<script type="module" crossorigin src="/assets/index-541e9c23.js"></script>
<link rel="stylesheet" href="/assets/index-2e2a9af5.css">
</head>
<body>
<div id="app"></div>

</body>
</html>
Binary file added assets/www/tou/0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/www/tou/9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions assets/www/wdlw/api/llm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
app.temperature=1.3
app.top_p=0.5
app.llm_type='rwkv'
// app.history_on=true
app.history_limit=0
277 changes: 277 additions & 0 deletions assets/www/wdlw/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,277 @@
<html>

<head>
<title>闻达论文</title>
<meta charset="utf-8">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=650, user-scalable=no">
<link rel="shortcut icon" href="#" />

<link href="static/mdi_font/css/materialdesignicons.min.css" rel="stylesheet">
<link href="static/vuetify.min.css" rel="stylesheet">
<script src="static/vue.js"></script>
<script src="static/vuetify.min.js"></script>
<style>
div {

transition: all 0.3s;
}

.v-sheet.v-card {
margin: 20px;
padding: 10px;
}

.logo-center {
left: calc(50% - 140px);
width: 260px;
font-size: 4em;
padding-top: 2.5em;
padding-bottom: 0.8em;
position: relative;
}

.logo-left {
left: 20px;
width: 100%;
font-size: xx-large;
position: relative;
}

.input-box {
margin: auto;
width: fit-content;
min-width: 580px;
}

pre {
margin: 20px;
white-space: break-spaces;
}

.v-application--wrap {
display: unset;
}
</style>
</head>

<body>
<div id="app" v-cloak>
<v-app>
<div :class="(s题目.length!=0||s提纲.length!=0)?'logo-left':'logo-center'"><b
style="color: purple;">闻达</b><b>论文</b></div>

<v-row class="input-box">
<v-col cols="10">
<v-textarea autofocus v-model="s题目" label="题目" no-resize rows="1"
hide-details="auto"
@keypress.enter="sctg"></v-textarea>
</v-col>
<v-col cols="2">
<v-btn color="purple" dark size="x-large" @click="f生成提纲()">
生成提纲
</v-btn>
</v-col>
</v-row>

<v-card elevation="2" v-if="s提纲">
<v-card-title>提纲</v-card-title>
<v-divider></v-divider>
<v-card-text>
<v-textarea autofocus v-model="s提纲" label="提纲" rows="15"
hide-details="auto"></v-textarea>
</v-card-text>
<v-card-action>
<v-btn color="purple" dark size="x-large" @click="f生成正文()">
生成正文
</v-btn>
<v-btn color="purple" dark size="x-large" @click="f复制正文()"
v-if="results.length">
复制正文
</v-btn>
</v-card-action>
</v-card>
<v-card elevation="2" v-for="result in results">
<v-card-title>{{result.title}} <v-spacer></v-spacer>
<v-icon @click="copy(result.content)" v-if="result.prompt">
mdi-content-copy
</v-icon>
<v-icon @click="f重新生成(result)" v-if="result.prompt">
mdi-refresh
</v-icon>
<v-icon @click="f知识库重新生成(result)" v-if="result.prompt">
mdi-book-open-variant
</v-icon>
</v-card-title>

<v-divider v-if="result.prompt"></v-divider>
<pre v-text="result.content"></pre>
</v-card>
<v-snackbar v-model="b显示提示文本" :timeout="3000" style="white-space: pre-line">{{s提示文本}}</v-snackbar>
<v-dialog v-model="show_dialog" persistent max-width="600px">
<v-card class="ma-0 pa0">
<v-card-title>
<span class="text-h5">{{dialog_title}}</span>
</v-card-title>
<v-card-text>
<v-container>
<v-textarea autofocus v-model="dialog_input" no-resize rows="2"
hide-details="auto"
@keypress.enter="show_dialog = false;window.dialog_input_resolver()"></v-textarea>
</v-container>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color="blue darken-1" text
@click="show_dialog = false;dialog_input='';window.dialog_input_resolver()">
取消
</v-btn>
<v-btn color="blue darken-1" text
@click="show_dialog = false;window.dialog_input_resolver()">
确认
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</v-app>
</div>
<script>

let RomanNumeralsMap = {
'III': 3,
'II': 2,
'IV': 4,
'IX': 9,
'XL': 40,
'XC': 90,
'CD': 400,
'CM': 900,
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000
}

function find_RomanNumerals(str) {
let number = 0;
for (var p in RomanNumeralsMap) {
if (str.indexOf(p) != -1) {
str = str.split(p).join("");
number += RomanNumeralsMap[p];
}
}
return number
}
app = new Vue({
el: '#app',
vuetify: new Vuetify(),
data: () => ({
s题目: "",
s提纲: "",
results: [],
// 是否显示snackbar
b显示提示文本: false,
// snackbar的文本
s提示文本: "",
temperature: 0.8,
top_p: 0.2,
max_length: 2000,
llm_type: "",
//显示对话框
show_dialog: false,
//对话框标题
dialog_title: "",
//对话框用户输入
dialog_input: ""
}),
methods: {
},
watch: {
}
})
f生成提纲 = async (e) => {
e && e.preventDefault()
let prompt = '根据以下主题,写一篇高度凝练且全面的论文提纲:' + app.s题目
return await send_raw(prompt, '', [], (s) => { app.s提纲 = s })
}
sctg = f生成提纲
f生成正文 = async (e) => {
resp = app.s提纲
.replace(/\n- /g, '\n1.')//兼容不同格式
.split("\n")
for (let i in resp) {
let line = resp[i]
if (line == "") continue
line = line.split(".")
if (line.length < 2) {
continue // 判断非提纲内容
}
let num = find_RomanNumerals(line[0])
if (num <= 0 || num == 100) {
let paragraph = {
title: resp[i],
content: '',
prompt: "根据主题:" + app.s题目 + "\n对下列段落进行详细的撰写:" + line[1]
}
app.results.push(paragraph)
await send_raw(paragraph.prompt, '', [], (s) => { paragraph.content = s })
} else {
app.results.push({ title: resp[i], content: "" }) // 保存提纲
}
}
}
f重新生成 = async (paragraph) => {
await edit(paragraph)
await send_raw(paragraph.prompt, '', [], (s) => { paragraph.content = s })
}
f知识库重新生成 = async (paragraph) => {
` response = await fetch("/api/list_rtst_in_disk", {
method: 'post',
})
let list_rtst_in_disk = await response.json()
list_rtst_in_disk = list_rtst_in_disk.map(decodeURI).map(s => "rtst:10:" + s)
kownladge = await find_dynamic(paragraph.title.split(".")[1], 5, { libraryStategy:list_rtst_in_disk.map(encodeURI).join(" "), maxItmes: 100 })
`
kownladge = await find(paragraph.title.split(".")[1], 5)
kownladge = kownladge.filter(i => !i.score || i.score < 150)
await send_raw(paragraph.prompt+'\n参考下列资料:\n' +
kownladge.map((e, i) => i + 1 + "." + e.content).join('\n'), '', [], (s) => { paragraph.content = s })
}
f复制正文 = async () => {
copy(app.results.map(i => i.title + "\n" + i.content).join("\n"))
}
alert = (text) => {
app.s提示文本 = text; //.replace(/\n/g,"<br>")
app.b显示提示文本 = true;
}
//编辑prompt
edit = async (current_conversation) => {
let s修改后的内容 = await input('请输入新的提示词', current_conversation.prompt)
if (s修改后的内容) {
current_conversation.prompt = s修改后的内容
alert('修改成功')
} else
alert('取消修改')
}
//获取用户输入
input = async (title = '请输入', input = '') => {
app.dialog_title = title
app.dialog_input = input
app.show_dialog = true

await new Promise(resolve => {
window.dialog_input_resolver = resolve
})
return app.dialog_input
}
</script>
<script src="wd_sdk.js"></script>
<script src="api/llm"></script>
</body>

</html>
Loading

0 comments on commit 947fbb2

Please sign in to comment.