Commit 375960f7 authored by 周成波's avatar 周成波

改回场景关键词

parent 56058cca
...@@ -24,6 +24,7 @@ declare module 'vue' { ...@@ -24,6 +24,7 @@ declare module 'vue' {
ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable'] ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElText: typeof import('element-plus/es')['ElText']
ElUpload: typeof import('element-plus/es')['ElUpload'] ElUpload: typeof import('element-plus/es')['ElUpload']
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default']
......
...@@ -133,7 +133,7 @@ const onAdaptRoles = async () => { ...@@ -133,7 +133,7 @@ const onAdaptRoles = async () => {
"角色关键词": keywords.trim()+",穿着衣服", "角色关键词": keywords.trim()+",穿着衣服",
// "属性": attribute.trim(), // "属性": attribute.trim(),
"属性": "", "属性": "",
"角色英文关键词": "", "角色关键词英文": "",
}); });
} }
} }
...@@ -180,8 +180,10 @@ const onAdapt = async () => { ...@@ -180,8 +180,10 @@ const onAdapt = async () => {
"编号": (i + 1).toString(), "编号": (i + 1).toString(),
"场景描述": sentences[i].trim(), "场景描述": sentences[i].trim(),
"场景关键词": "", "场景关键词": "",
"场景关键词英文": "",
"角色": "", "角色": "",
"角色关键词": "", "角色关键词": "",
"角色关键词英文": "",
"画面描述词": "", "画面描述词": "",
"本镜配图": "src/assets/loading.gif", "本镜配图": "src/assets/loading.gif",
"local_image_path": "", "local_image_path": "",
......
...@@ -103,7 +103,7 @@ const onAdaptRoles = async () => { ...@@ -103,7 +103,7 @@ const onAdaptRoles = async () => {
form.chatgpt_answer_roles.push({ form.chatgpt_answer_roles.push({
"角色": one_role.trim(), "角色": one_role.trim(),
"角色关键词": "", "角色关键词": "",
"角色英文关键词": "", "角色关键词英文": "",
"属性": attribute, "属性": attribute,
}); });
} }
...@@ -158,7 +158,7 @@ const onAdaptRolesKeywords = async () => { ...@@ -158,7 +158,7 @@ const onAdaptRolesKeywords = async () => {
let keywords_en = await text2videoService.submitTranslateToEn(keywords); let keywords_en = await text2videoService.submitTranslateToEn(keywords);
console.log(keywords_en) console.log(keywords_en)
keywords_en = utils.filterChineseAndPunctuation(keywords_en.replace(/"/g, '')); keywords_en = utils.filterChineseAndPunctuation(keywords_en.replace(/"/g, ''));
one_role.角色英文关键词 = keywords_en; one_role.角色关键词英文 = keywords_en;
} }
} }
try { try {
...@@ -202,8 +202,10 @@ const onAdapt = async () => { ...@@ -202,8 +202,10 @@ const onAdapt = async () => {
"编号": (i + 1).toString(), "编号": (i + 1).toString(),
"场景描述": sentences[i].trim(), "场景描述": sentences[i].trim(),
"场景关键词": "", "场景关键词": "",
"场景关键词英文": "",
"角色": "", "角色": "",
"角色关键词": "", "角色关键词": "",
"角色关键词英文": "",
"画面描述词": "", "画面描述词": "",
"本镜配图": "src/assets/waiting.png", "本镜配图": "src/assets/waiting.png",
"local_image_path": "", "local_image_path": "",
...@@ -255,11 +257,23 @@ const onAdaptOneScene = async (item: any) => { ...@@ -255,11 +257,23 @@ const onAdaptOneScene = async (item: any) => {
} }
// 推理场景 // 推理场景
try { try {
// const adapt_restrict = `你现在扮演专业的英语翻译的角色。请将这段文字“${item.场景描述}”翻译为英语。\n要求:只返回英语即可,不要返回其他内容。`; const adapt_restrict = `故事:\n${form.chatgpt_answer}\n
// const keywords_en = await text2videoService.submitLLM(adapt_restrict, tuili_llm.api); 指令:
let keywords_en = await text2videoService.submitTranslateToEn(item.场景描述); 请理解这个故事,给出这个场景“${item.场景描述}”的关键词(年代(可以发挥想象进行补充,但一定要有),空间(可以发挥想象进行补充,但一定要有),
时间段(可以发挥想象进行补充,但一定要有),地理环境(可以发挥想象进行补充,但一定要有),天气(可以发挥想象进行补充,但一定要有),
物品(可以发挥想象进行补充,但一定要有),人物(可以发挥想象进行补充,但一定要有),镜头角度(可以发挥想象进行补充,但一定要有))。
要求:
关键词以逗号分隔。
只要返回关键词,不需要其他的说明文字。`;
const keywords = await text2videoService.submitLLM(adapt_restrict, tuili_llm.api);
console.log(keywords)
item.场景关键词 = keywords;
// const adapt_restrict_en = `你现在扮演专业的英语翻译的角色。请将这段文字“${item.场景描述}”翻译为英语。\n要求:只返回英语即可,不要返回其他内容。`;
// const keywords_en = await text2videoService.submitLLM(adapt_restrict_en, tuili_llm.api);
let keywords_en = await text2videoService.submitTranslateToEn(keywords);
console.log(keywords_en) console.log(keywords_en)
item.场景关键词 = utils.filterChineseAndPunctuation(keywords_en); item.场景关键词英文 = utils.filterChineseAndPunctuation(keywords_en);
} catch (error) { } catch (error) {
ElMessage({ ElMessage({
message: String(error), message: String(error),
...@@ -334,13 +348,16 @@ const onAdaptOneSceneRoles = async (item: any) => { ...@@ -334,13 +348,16 @@ const onAdaptOneSceneRoles = async (item: any) => {
// console.log(item_roles) // console.log(item_roles)
item.角色 = item_roles.trim(); item.角色 = item_roles.trim();
let role_kws = "" let role_kws = ""
let role_kws_en = ""
const item_roles_arr = item_roles.split(/[,,、]/); const item_roles_arr = item_roles.split(/[,,、]/);
item_roles_arr.forEach( one_item_role => { item_roles_arr.forEach( one_item_role => {
let temp_role_kws = "" let temp_role_kws = ""
let temp_role_kws_en = ""
// 人工匹配角色关键词,先找想同的 // 人工匹配角色关键词,先找想同的
for (const i of form.chatgpt_answer_roles) { for (const i of form.chatgpt_answer_roles) {
if (i["角色"].trim() == one_item_role.trim()) { if (i["角色"].trim() == one_item_role.trim()) {
temp_role_kws = `[${i["角色英文关键词"]}]`; temp_role_kws = `[${i["角色关键词"]}]`;
temp_role_kws_en = `[${i["角色关键词英文"]}]`;
// 找到就ok // 找到就ok
break; break;
} }
...@@ -349,15 +366,18 @@ const onAdaptOneSceneRoles = async (item: any) => { ...@@ -349,15 +366,18 @@ const onAdaptOneSceneRoles = async (item: any) => {
if (! temp_role_kws) { if (! temp_role_kws) {
for (const i of form.chatgpt_answer_roles) { for (const i of form.chatgpt_answer_roles) {
if (i["角色"].includes(one_item_role.trim()) || one_item_role.includes(i["角色"].trim())) { if (i["角色"].includes(one_item_role.trim()) || one_item_role.includes(i["角色"].trim())) {
temp_role_kws = `[${i["角色英文关键词"]}]`; temp_role_kws = `[${i["角色关键词"]}]`;
temp_role_kws_en = `[${i["角色关键词英文"]}]`;
// 匹配到一个就ok // 匹配到一个就ok
break; break;
} }
} }
} }
role_kws = `${role_kws}${temp_role_kws}`; role_kws = `${role_kws}${temp_role_kws}`;
role_kws_en = `${role_kws_en}${temp_role_kws_en}`;
}) })
item.角色关键词 = role_kws; item.角色关键词 = role_kws;
item.角色关键词英文 = role_kws_en;
} }
} catch (error) { } catch (error) {
ElMessage({ ElMessage({
...@@ -421,7 +441,7 @@ const onDrawOne = async (item: any) => { ...@@ -421,7 +441,7 @@ const onDrawOne = async (item: any) => {
// 请理解以上内容,并返回一段英文的描述。`, fanyi_llm.api // 请理解以上内容,并返回一段英文的描述。`, fanyi_llm.api
// ); // );
// item.画面描述词 = sd_describe; // item.画面描述词 = sd_describe;
item.画面描述词 = item.场景关键词 + "," + item.角色关键词; item.画面描述词 = item.场景关键词英文 + "," + item.角色关键词英文;
const sd_prompt = item.画面描述词 + "," + sd_prompt_prefix; const sd_prompt = item.画面描述词 + "," + sd_prompt_prefix;
let width = "960"; let width = "960";
...@@ -549,7 +569,7 @@ const onChangeScreen = (val: string) => { ...@@ -549,7 +569,7 @@ const onChangeScreen = (val: string) => {
const showsdprompt = (item: any) => { const showsdprompt = (item: any) => {
// alert(item.画面描述词) // alert(item.画面描述词)
// dialogData.value = `${item.画面描述词},${sd_prompt_prefix}===== 反向提示词 =====${sd_negative_prompt_prefix}`; // dialogData.value = `${item.画面描述词},${sd_prompt_prefix}===== 反向提示词 =====${sd_negative_prompt_prefix}`;
dialogData.value = `${item.场景关键词},${item.角色关键词},${sd_prompt_prefix}===== 反向提示词 =====${sd_negative_prompt_prefix}`; dialogData.value = `${item.场景关键词英文},${item.角色关键词英文},${sd_prompt_prefix}===== 反向提示词 =====${sd_negative_prompt_prefix}`;
dialogVisible.value = true; // 打开对话框 dialogVisible.value = true; // 打开对话框
} }
...@@ -683,9 +703,9 @@ const onDeleteOne = (item: any) => { ...@@ -683,9 +703,9 @@ const onDeleteOne = (item: any) => {
<el-input v-model="scope.row.角色关键词" :autosize="true" type="textarea"></el-input> <el-input v-model="scope.row.角色关键词" :autosize="true" type="textarea"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="角色英文关键词" label="角色英文关键词"> <el-table-column prop="角色关键词英文" label="角色关键词英文">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.角色英文关键词" :autosize="true" type="textarea"></el-input> <el-input v-model="scope.row.角色关键词英文" :autosize="true" type="textarea"></el-input>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -706,19 +726,23 @@ const onDeleteOne = (item: any) => { ...@@ -706,19 +726,23 @@ const onDeleteOne = (item: any) => {
<el-input v-model="scope.row.场景描述" :autosize="true" type="textarea"></el-input> <el-input v-model="scope.row.场景描述" :autosize="true" type="textarea"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="场景关键词" label="场景英文描述"> <el-table-column prop="场景关键词" label="场景关键词">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.场景关键词" :autosize="true" type="textarea"></el-input> <el-text class="mx-1" size="small">{{ scope.row.场景关键词 }}</el-text>
<hr style="border: none;border-top: 1px dashed #999;">
<el-text class="mx-1" size="small">{{ scope.row.场景关键词英文 }}</el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="角色" label="角色"> <el-table-column prop="角色" label="角色">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.角色" :autosize="true" type="textarea"></el-input> <el-text class="mx-1" size="small">{{ scope.row.角色 }}</el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="角色关键词" label="角色关键词"> <el-table-column prop="角色关键词" label="角色关键词">
<template v-slot="scope"> <template v-slot="scope">
<el-input v-model="scope.row.角色关键词" :autosize="true" type="textarea"></el-input> <el-text class="mx-1" size="small">{{ scope.row.角色关键词 }}</el-text>
<hr style="border: none;border-top: 1px dashed #999;">
<el-text class="mx-1" size="small">{{ scope.row.角色关键词英文 }}</el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="本镜配图" label="本镜配图" width="300"> <el-table-column prop="本镜配图" label="本镜配图" width="300">
......
...@@ -123,7 +123,7 @@ const onAdaptRoles = async () => { ...@@ -123,7 +123,7 @@ const onAdaptRoles = async () => {
form.chatgpt_answer_roles.push({ form.chatgpt_answer_roles.push({
"角色": one_role.trim(), "角色": one_role.trim(),
"角色关键词": keywords.trim()+",dressed", "角色关键词": keywords.trim()+",dressed",
"角色英文关键词": "", "角色关键词英文": "",
"属性": "", "属性": "",
}); });
} }
...@@ -171,8 +171,10 @@ const onAdapt = async () => { ...@@ -171,8 +171,10 @@ const onAdapt = async () => {
"编号": (i + 1).toString(), "编号": (i + 1).toString(),
"场景描述": sentences[i].trim(), "场景描述": sentences[i].trim(),
"场景关键词": "", "场景关键词": "",
"场景关键词英文": "",
"角色": "", "角色": "",
"角色关键词": "", "角色关键词": "",
"角色关键词英文": "",
"画面描述词": "", "画面描述词": "",
"本镜配图": "src/assets/loading.gif", "本镜配图": "src/assets/loading.gif",
"local_image_path": "", "local_image_path": "",
......
...@@ -3,8 +3,10 @@ declare namespace Wm { ...@@ -3,8 +3,10 @@ declare namespace Wm {
"编号": string, "编号": string,
"场景描述": string, "场景描述": string,
"场景关键词": string, "场景关键词": string,
"场景关键词英文": string,
"角色": string, "角色": string,
"角色关键词": string, "角色关键词": string,
"角色关键词英文": string,
"画面描述词": string, "画面描述词": string,
"本镜配图": string, "本镜配图": string,
"local_image_path": string, "local_image_path": string,
...@@ -24,7 +26,7 @@ declare namespace Wm { ...@@ -24,7 +26,7 @@ declare namespace Wm {
interface RolesItem { interface RolesItem {
"角色": string, "角色": string,
"角色关键词": string, "角色关键词": string,
"角色英文关键词": string, "角色关键词英文": string,
"属性": string, "属性": string,
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment