Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
T
text2video-frontend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周成波
text2video-frontend
Commits
c7067e16
Commit
c7067e16
authored
Mar 14, 2024
by
周成波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分镜角色优化
parent
895b3a86
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
12 deletions
+57
-12
index.vue
src/views/home/index.vue
+55
-12
index_en.vue
src/views/home/index_en.vue
+1
-0
lib.wm.api.d.ts
typings/types/wm/lib.wm.api.d.ts
+1
-0
No files found.
src/views/home/index.vue
View file @
c7067e16
...
...
@@ -201,8 +201,9 @@ const onAdaptRolesKeywords = async () => {
// const adapt_attribute_restrict_en = `你现在扮演专业的英语翻译的角色。请将这段文字“${keywords}”翻译为英语。\n要求:只返回英语即可,不要返回其他内容。`;
// let keywords_en = await text2videoService.submitLLM(adapt_attribute_restrict_en, role_keywords_llm.api);
let
keywords_en
=
await
text2videoService
.
submitTranslateToEn
(
keywords
);
console
.
log
(
keywords_en
)
keywords_en
=
utils
.
filterChineseAndPunctuation
(
keywords_en
.
replace
(
/"/g
,
''
));
// console.log(keywords_en)
// keywords_en = utils.filterChineseAndPunctuation(keywords_en.replace(/"/g, ''));
keywords_en
=
keywords_en
.
replace
(
/"/g
,
''
);
one_role
.
角色关键词英文
=
keywords_en
;
}
}
...
...
@@ -255,6 +256,7 @@ const onAdapt = async () => {
"本镜配图"
:
"src/assets/waiting.png"
,
"local_image_path"
:
""
,
"info"
:
""
,
"roles"
:
[],
});
}
console
.
log
(
form
.
adapt_result_json
)
...
...
@@ -329,7 +331,8 @@ const onAdaptOneScene = async (item: any) => {
// const keywords_en = await text2videoService.submitLLM(adapt_restrict_en, tuili_llm.api);
let
keywords_en
=
await
text2videoService
.
submitTranslateToEn
(
keywords
);
// console.log(keywords_en)
item
.
场景关键词英文
=
utils
.
filterChineseAndPunctuation
(
keywords_en
);
// item.场景关键词英文 = utils.filterChineseAndPunctuation(keywords_en.replace(/"/g, ''));
item
.
场景关键词英文
=
keywords_en
.
replace
(
/"/g
,
''
);
}
catch
(
error
)
{
ElMessage
({
message
:
String
(
error
),
...
...
@@ -399,13 +402,30 @@ const onAdaptOneSceneRoles = async (item: any) => {
// 总角色不为空
// const adapt_role_restrict = `请理解这个故事:“${form.chatgpt_answer}”,针对其中的这个场景:“${item.场景描述}”,从所有角色:“${form.all_roles}”中选择本场景的角色,多个角色以逗号分隔。`;
const
adapt_role_restrict
=
`整个故事(“
${
form
.
chatgpt_answer
}
),\n\n本章节(
${
item
.
场景描述
}
),\n\n角色列表(
${
form
.
all_roles
}
),\n\n请返回给本章节出现的角色。注意:不要发挥想象,必须从角色列表中选出本章节出现过的角色,如果多个用逗号隔开。`
;
const
item_roles
=
await
text2videoService
.
submitLLM
(
adapt_role_restrict
,
tuili_keyword_llm
.
api
);
const
item_roles
_answer
=
await
text2videoService
.
submitLLM
(
adapt_role_restrict
,
tuili_keyword_llm
.
api
);
console
.
log
(
`==============
${
item
.
编号
}
===============`
)
// console.log(adapt_role_restrict)
console
.
log
(
`推理返回:
${
item_roles
}
`
)
item
.
info
=
`推理返回:
${
item_roles
}
`
item
.
角色
=
item_roles
.
trim
();
item
.
info
=
`推理返回:
${
item_roles_answer
}
`
const
item_roles_answer_list
=
item_roles_answer
.
trim
().
split
(
/
[
,,、
]
/
);
// 过滤推理出来的角色,都要在总角色里
item
.
roles
=
[
'无角色'
];
for
(
const
y
of
form
.
chatgpt_answer_roles
)
{
item
.
roles
.
push
(
y
.
角色
);
}
item
.
角色
=
'无角色'
;
let
filter_result
=
''
;
for
(
const
x
of
item_roles_answer_list
)
{
for
(
const
y
of
form
.
chatgpt_answer_roles
)
{
if
(
x
==
y
.
角色
)
{
filter_result
+=
x
+
','
;
// 下拉列表添加项目
// item.roles.push(x);
}
}
}
if
(
filter_result
.
endsWith
(
','
))
{
filter_result
=
filter_result
.
slice
(
0
,
-
1
);
// 去掉结尾的逗号
}
if
(
filter_result
)
{
item
.
角色
=
filter_result
;}
////// 加一段逻辑,本镜角色有且只能有一个,且尽量不与之前相同。【begin】
const
temp_arr
=
item
.
角色
.
split
(
/
[
,,、
]
/
);
const
temp_arr_length
=
temp_arr
.
length
;
...
...
@@ -436,7 +456,7 @@ const onAdaptOneSceneRoles = async (item: any) => {
if
(
remainingValues
.
length
>=
1
)
{
item
.
角色
=
remainingValues
[
remainingValues
.
length
-
1
];
}
else
{
item
.
角色
=
item_roles
.
trim
();
item
.
角色
=
item_roles
_answer
.
trim
();
}
console
.
log
(
`lalalalala item.角色 =
${
item
.
角色
}
`
)
}
...
...
@@ -485,6 +505,22 @@ const onAdaptOneSceneRoles = async (item: any) => {
}
};
const
onItemRolesChange
=
(
item
:
any
)
=>
{
console
.
log
(
item
.
编号
,
item
.
角色
);
if
(
item
.
角色
==
"无角色"
)
{
item
.
角色关键词
=
""
;
item
.
角色关键词英文
=
""
;
}
else
{
for
(
const
y
of
form
.
chatgpt_answer_roles
)
{
if
(
item
.
角色
==
y
.
角色
)
{
item
.
角色关键词
=
y
.
角色关键词
;
item
.
角色关键词英文
=
y
.
角色关键词英文
;
break
;
}
}
}
}
const
onDraw
=
async
()
=>
{
if
(
!
form
.
adapt_result_json
||
form
.
adapt_result_json
.
length
==
0
)
{
...
...
@@ -679,8 +715,8 @@ const onChangeScreen = (val: string) => {
form
.
final_video
=
default_data
.
vertical_data
.
final_video
;
}
marketing_template
.
if_need_product_pic
=
'true'
;
marketing_template
.
if_need_cover_pic
=
'true'
;
//
marketing_template.if_need_product_pic = 'true';
//
marketing_template.if_need_cover_pic = 'true';
}
marketing_template
.
product_name
=
default_data
.
marketing_template
.
product_name
;
...
...
@@ -1154,7 +1190,14 @@ const onMarketingTemplateSubmitGpt = async () => {
</el-table-column>
<el-table-column
prop=
"角色"
label=
"角色"
>
<
template
v-slot=
"scope"
>
<el-text
class=
"mx-1"
size=
"small"
>
{{
scope
.
row
.
角色
}}
<br
/>
(
{{
scope
.
row
.
info
}}
)
</el-text>
<el-text
class=
"mx-1"
size=
"small"
>
{{
scope
.
row
.
info
}}
</el-text>
<hr
style=
"border: none; border-top: 1px dashed #999; margin: 5px 0;"
>
<el-select
v-model=
"scope.row.角色"
placeholder=
""
@
change=
"onItemRolesChange(scope.row)"
>
<el-option
v-for=
"item in scope.row.roles"
:key=
"item"
:label=
"item"
:value=
"item"
>
<span
style=
"float: left"
>
{{
item
}}
</span>
</el-option>
</el-select>
<!--
<el-text
class=
"mx-1"
size=
"small"
>
{{
scope
.
row
.
角色
}}
<br
/>
(
{{
scope
.
row
.
info
}}
)
</el-text>
-->
</
template
>
</el-table-column>
<el-table-column
prop=
"角色关键词"
label=
"角色关键词"
>
...
...
src/views/home/index_en.vue
View file @
c7067e16
...
...
@@ -180,6 +180,7 @@ const onAdapt = async () => {
"本镜配图"
:
"src/assets/loading.gif"
,
"local_image_path"
:
""
,
"info"
:
""
,
"roles"
:
[],
});
}
console
.
log
(
form
.
adapt_result_json
)
...
...
typings/types/wm/lib.wm.api.d.ts
View file @
c7067e16
...
...
@@ -29,6 +29,7 @@ declare namespace Wm {
"本镜配图"
:
string
,
"local_image_path"
:
string
,
"info"
:
string
,
"roles"
:
String
[],
}
interface
GenVideo
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment