Browse Source

feat(distillation): 添加AI蒸馏拓展功能

- 新增AI拓展接口,支持根据关键词生成相关内容
- 集成OpenAI客户端,实现智能内容生成
- 添加路由规则,支持权限控制
- 在控制器中增加aiExtend方法,调用服务层处理请求
master
zhangf@suq.cn 6 days ago
parent
commit
a8f4a1a8c6
  1. 6
      app/controller/DistillationWordController.php
  2. 2
      app/route/route.php
  3. 36
      app/service/DistillationWordService.php

6
app/controller/DistillationWordController.php

@ -61,4 +61,10 @@ class DistillationWordController
return success($service->selectData());
}
public function aiExtend(DistillationWordService $service)
{
$word = input('word');
return success($service->aiExtend($word));
}
}

2
app/route/route.php

@ -28,6 +28,8 @@ Route::group('/service/v1', function () {
Route::post('/delete', [DistillationWordController::class, 'delete'])->setParams(['perm' => ['distillationDelete']]);
//下拉数据
Route::get('/pure/index', [DistillationWordController::class, 'pureIndex'])->setParams(['perm' => 'distillationPureIndex']);
//AI蒸馏拓展
Route::post('/aiExtend', [DistillationWordController::class, 'aiExtend'])->setParams(['perm' => ['distillationAiExtend']]);
});
//拓展问题

36
app/service/DistillationWordService.php

@ -8,6 +8,7 @@ use app\dao\DistillationTransWordDao;
use app\dao\DistillationWordDao;
use plugin\piadmin\app\base\BaseService;
use plugin\piadmin\app\exception\ApiException;
use plugin\piadmin\app\utils\openai\OpenAiClient;
use plugin\piadmin\app\utils\RequestUtils;
use support\think\Db;
@ -183,4 +184,39 @@ class DistillationWordService extends BaseService
$list = $this->dao->getList($query, '*', 0, 0, 'id DESC', [], ['questions']);
return $list;
}
public function aiExtend($word)
{
$prompt = '- Role: 市场调研专家和品牌分析顾问
- Background: 用户需要根据一个主关键词批量生成相关的拓展内容。例如,用户提供“洗地机品牌”,需要生成“市面上口碑好的洗地机品牌哪家好”等相关的拓展内容。这表明用户需要对某一领域的热门品牌进行深入了解和分析,以便获取有价值的信息。
- Profile: 你是一位在市场调研和品牌分析领域有着丰富经验的专家,能够精准把握市场动态,提供权威的品牌分析和市场洞察。你熟悉各类产品的市场情况,能够根据用户提供的主关键词,快速生成相关的拓展内容。
- Skills: 你具备市场调研能力、品牌分析技巧、数据收集与整理能力,以及对消费者口碑的敏锐洞察力。能够根据用户提供的主关键词,结合市场数据和消费者评价,生成有价值且具有参考意义的拓展内容。
- Goals: 根据用户提供的主关键词,批量生成相关的拓展内容,如“市面上口碑好的洗地机品牌哪家好”,确保内容准确、权威且具有参考价值。
- Constrains: 拓展内容必须与用户提供的主关键词相关,且基于市场调研和消费者评价,确保信息的真实性和可靠性。内容应简洁明了,避免冗长和复杂的表述。
- OutputFormat: 输出格式为JSON格式,将生成的拓展内容放在`content`字段中,每个拓展内容独立成行,便于用户查看和使用。
- Workflow:
1. 接收用户提供的主关键词。
2. 根据主关键词,结合市场调研数据和消费者评价,生成相关的拓展内容,拓展内容数量在20以上,且不重复或相似。
3. 对生成的拓展内容进行审核和优化,确保内容准确、权威且具有参考价值。
4. 将拓展内容整合到JSON格式中,放在`content`字段中。
- Examples:
- 假设用户提供的主关键词是“洗涤剂品牌”,生成的拓展内容如下:
```json
{
"content": [
"市面上口碑好的洗涤剂品牌有哪些?",
"洗涤剂品牌哪个好用又实惠?",
"推荐几款性价比高的洗涤剂品牌",
"洗涤剂品牌排行榜:哪些值得购买?",
"家用洗涤剂品牌,哪个更环保?",
"洗涤剂品牌对比:哪个更适合手洗?",
"洗涤剂品牌推荐:哪个适合敏感肌肤?",
"洗涤剂品牌测评:哪个去污力更强?",
"洗涤剂品牌选购指南:如何挑选?",
"洗涤剂品牌哪个更受欢迎?"
]
},我提供的主关键词:' . $word;
$result = OpenAiClient::chat($prompt);
return $result['content']['content'];
}
}
Loading…
Cancel
Save