Skip to content

Commit 1302f95

Browse files
committed
modified the parse of description
1 parent f118498 commit 1302f95

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

bt_nodes/hri/src/hri/dialog/store_guest_info.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,20 @@ void StoreGuestInfo::on_tick()
4141
getInput("guest_name", guest_name_);
4242
getInput("guest_drink", guest_drink_);
4343
getInput("guest_description", guest_description_);
44-
guest_description_.erase(
45-
std::remove(guest_description_.begin(), guest_description_.end(), '.'),
46-
guest_description_.end());
44+
// Strip characters that cause Turtle/OWL syntax errors:
45+
// - dots (.): break Turtle statement terminator
46+
// - backslashes: LLM sometimes outputs \, or \\ in descriptions; neither is valid here
47+
auto strip_chars = [](const std::string & in, const std::string & chars) {
48+
std::string out;
49+
out.reserve(in.size());
50+
for (char c : in) {
51+
if (chars.find(c) == std::string::npos) {
52+
out += c;
53+
}
54+
}
55+
return out;
56+
};
57+
guest_description_ = strip_chars(guest_description_, ".\\/");
4758

4859
if (guest_name_.empty() || guest_drink_.empty()) {
4960
setStatus(BT::NodeStatus::FAILURE);

0 commit comments

Comments
 (0)