提交 5e72e11b authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 53e29aa7
import { getScoreList, getScoreDetail, updateScore } from '../api'
import { useUserStore } from '@/stores/user'
import { useChat } from '@ezijing/ai-vue'
import { generatePrompt } from '../prompt'
import { generatePrompt as generatePrompt2 } from '../prompt2'
// import { generatePrompt } from '../prompt'
// import { generatePrompt as generatePrompt2 } from '../prompt2'
import { ElMessage } from 'element-plus'
import {
importType,
......@@ -93,30 +93,30 @@ export function useScore() {
const competitionRule = detail.competition_rule
let prompt = ''
if (competitionRule?.competition == 1) {
if (competitionRule?.questions == 1) {
prompt = generatePrompt(detail.live_data)
} else {
prompt = generatePrompt2(detail.live_data)
}
} else {
const rules = JSON.parse(competitionRule?.config || '{}')?.rules || []
rules.forEach((item: any) => {
if (item.rule_mode != 2) return
if (item.type == 1) {
prompt += `请根据选手提交的商品品类信息进行评分(满分${item.percent}分):
// if (competitionRule?.competition == 1) {
// if (competitionRule?.questions == 1) {
// prompt = generatePrompt(detail.live_data)
// } else {
// prompt = generatePrompt2(detail.live_data)
// }
// } else {
const rules = JSON.parse(competitionRule?.config || '{}')?.rules || []
rules.forEach((item: any) => {
if (item.rule_mode != 2) return
if (item.type == 1) {
prompt += `请根据选手提交的商品品类信息进行评分(满分${item.percent}分):
选手提交内容:
${JSON.stringify(liveData.commodity_types)}`
} else if (item.type == 2) {
prompt += `请根据选手提交的商品属性配置信息进行评分(满分${item.percent}分):
} else if (item.type == 2) {
prompt += `请根据选手提交的商品属性配置信息进行评分(满分${item.percent}分):
重要性字典:${JSON.stringify(importType)}
必要性字典:${JSON.stringify(requiredType)}
选手提交内容:
${JSON.stringify(liveData.commodity_attrs)}`
} else if (item.type == 3) {
prompt += `请根据选手提交的商品信息维护内容进行评分(满分${item.percent}分):
} else if (item.type == 3) {
prompt += `请根据选手提交的商品信息维护内容进行评分(满分${item.percent}分):
发货模式字典:${JSON.stringify(deliveryMode)}
发货时效字典:${JSON.stringify(deliveryTime)}
订单库存扣减规则字典:${JSON.stringify(orderStockCount)}
......@@ -125,16 +125,16 @@ ${JSON.stringify(liveData.commodity_attrs)}`
选手提交内容:
${JSON.stringify(liveData.commodities)}`
} else if (item.type == 4) {
prompt += `请根据选手提交的直播话术进行评分(满分${item.percent}分):
} else if (item.type == 4) {
prompt += `请根据选手提交的直播话术进行评分(满分${item.percent}分):
选手提交内容:
${JSON.stringify(liveData.speeches)}`
}
prompt += `评分标准:
}
prompt += `评分标准:
${item.content}`
})
})
prompt += `EXAMPLE JSON OUTPUT:
prompt += `EXAMPLE JSON OUTPUT:
{
"commodity_type": {
"score": 5,
......@@ -147,9 +147,13 @@ ${JSON.stringify(liveData.speeches)}`
"commodity": {
"score": 5,
"comment": "这是评语"
}
},
"speech": {
"score": 5,
"comment": "这是评语"
},
}`
}
// }
const messages = [
{
role: 'system',
......@@ -157,7 +161,11 @@ ${JSON.stringify(liveData.speeches)}`
},
{ role: 'user', content: prompt },
]
const result = await generateText({ messages, response_format: { type: 'json_object' } } as any)
const result = await generateText({
model: 'deepseek-v4-flash-260425',
messages,
response_format: { type: 'json_object' },
} as any)
if (!result) return
try {
......
......@@ -11,8 +11,6 @@ import { useEventListener } from '@vueuse/core'
const router = useRouter()
const userStore = useUserStore()
const CompetitionLive = defineAsyncComponent(() => import('../components/CompetitionLive.vue'))
const CompetitionLiveProd = defineAsyncComponent(() => import('../components/CompetitionLiveProd.vue'))
const CompetitionLive3 = defineAsyncComponent(() => import('../components/CompetitionLive3.vue'))
const CompetitionOperations = defineAsyncComponent(() => import('../components/CompetitionOperations.vue'))
const route = useRoute()
......@@ -162,29 +160,14 @@ useEventListener(window, 'pagehide', () => {
</div>
</div>
<el-divider />
<!-- 网络主播赛项 -->
<template v-if="competitionRule.competition == 1">
<!-- “悦颜坊”美妆护肤案例 -->
<CompetitionLive
:detail="detail"
@save="handleSave"
v-model:scoreDetails="scoreDetails"
v-if="competitionRule.questions == 1" />
<!-- 襄阳牛肉面2桶装(有牛肉) -->
<CompetitionLiveProd :detail="detail" @save="handleSave" v-model:scoreDetails="scoreDetails" v-else />
</template>
<!-- 全媒体运营赛项 -->
<CompetitionOperations
:detail="detail"
@save="handleSave"
v-model:scoreDetails="scoreDetails"
v-else-if="competitionRule.competition == 2" />
<!-- 互联网营销师(直播销售) -->
<CompetitionLive3
:detail="detail"
@save="handleSave"
v-model:scoreDetails="scoreDetails"
v-else-if="competitionRule.competition == 3" />
v-if="competitionRule.competition == 2 || competitionRule.competition == 4" />
<!-- 网络主播赛项 -->
<CompetitionLive3 :detail="detail" @save="handleSave" v-model:scoreDetails="scoreDetails" v-else />
</AppCard>
</template>
......@@ -198,11 +181,23 @@ useEventListener(window, 'pagehide', () => {
display: none;
}
@media (max-width: 767px) {
:deep(.el-tabs__header) { width: 100%; }
:deep(.el-tabs__header) {
width: 100%;
}
:deep(.el-tabs__nav-wrap),
:deep(.el-tabs__nav-scroll) { overflow-x: auto; overflow-y: hidden; }
:deep(.el-tabs__nav) { display: inline-flex; flex-wrap: nowrap; }
:deep(.el-tabs__item) { flex-shrink: 0; font-size: 13px; padding: 0 8px; }
:deep(.el-tabs__nav-scroll) {
overflow-x: auto;
overflow-y: hidden;
}
:deep(.el-tabs__nav) {
display: inline-flex;
flex-wrap: nowrap;
}
:deep(.el-tabs__item) {
flex-shrink: 0;
font-size: 13px;
padding: 0 8px;
}
}
}
.score-header {
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论