Skip to content

Commit 2f63527

Browse files
authored
Merge pull request #21 from nyasu3w/pr/trigger_kws
add trigger method to llm_kws
2 parents 764bca1 + aa10381 commit 2f63527

File tree

1 file changed

+42
-0
lines changed
  • projects/llm_framework/main_kws/src

1 file changed

+42
-0
lines changed

projects/llm_framework/main_kws/src/main.cpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,13 @@ class llm_task {
247247
}
248248
}
249249

250+
void trigger()
251+
{
252+
if (out_callback_) {
253+
out_callback_("True");
254+
}
255+
}
256+
250257
bool delete_model()
251258
{
252259
spotter_.reset();
@@ -284,6 +291,9 @@ class llm_kws : public StackFlow {
284291
llm_kws() : StackFlow("kws")
285292
{
286293
task_count_ = 1;
294+
rpc_ctx_->register_rpc_action("trigger",
295+
std::bind(&llm_kws::trigger, this, std::placeholders::_1, std::placeholders::_2));
296+
287297
}
288298

289299
void play_awake_wav(const std::string &wav_file)
@@ -529,6 +539,38 @@ class llm_kws : public StackFlow {
529539
return 0;
530540
}
531541

542+
std::string trigger(pzmq *_pzmq, const std::shared_ptr<StackFlows::pzmq_data>& rawdata0)
543+
{
544+
const std::string rawdata = rawdata0->string();
545+
int pos = rawdata.find("{");
546+
// SLOGI("llm_kws::trigger:json:%s", rawdata.substr(pos).c_str());
547+
548+
nlohmann::json error_body;
549+
nlohmann::json data;
550+
try {
551+
data = nlohmann::json::parse(rawdata.substr(pos));
552+
} catch (...) {
553+
SLOGE("setup json format error.");
554+
error_body["code"] = -2;
555+
error_body["message"] = "json format error.";
556+
send("None", "None", error_body, "kws");
557+
return LLM_NONE;
558+
}
559+
auto work_id = data["work_id"].get<std::string>();
560+
561+
int work_id_num = sample_get_work_id_num(work_id);
562+
if (llm_task_.find(work_id_num) == llm_task_.end()) {
563+
error_body["code"] = -6;
564+
error_body["message"] = "Unit Does Not Exist";
565+
send("None", "None", error_body, work_id);
566+
return LLM_NONE;
567+
}
568+
569+
llm_task_[work_id_num]->trigger();
570+
return LLM_NONE;
571+
}
572+
573+
532574
~llm_kws()
533575
{
534576
while (1) {

0 commit comments

Comments
 (0)