Skip to content

Commit 0c65d40

Browse files
committed
refactoring the find_first_substring function
1 parent 89d0c7a commit 0c65d40

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

tools/server/server.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2217,11 +2217,11 @@ struct server_context {
22172217
search_pos = slot.generated_text.size() - search_len;
22182218
}
22192219

2220-
std::pair<size_t, int> search_result = find_first_substring(slot.generated_text,slot.params.start_strings, search_pos);
2220+
std::pair<size_t, std::string> search_result = find_first_substring(slot.generated_text,slot.params.start_strings, search_pos);
22212221
bool start_string_found = search_result.first != std::string::npos;
22222222
if (start_string_found) {
22232223
auto found_pos = search_result.first;
2224-
std::string found_string = slot.params.start_strings[search_result.second];
2224+
std::string found_string = search_result.second;
22252225
slot.generated_text.erase(
22262226
slot.generated_text.begin(),
22272227
slot.generated_text.begin() + found_pos + found_string.size());

tools/server/utils.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -491,21 +491,21 @@ static size_t find_partial_stop_string(const std::string &stop, const std::strin
491491

492492
/* returns a pair containing the position and index of first element found.
493493
returns npos and -1 if not found */
494-
static std::pair<size_t, int> find_first_substring(const std::string &haystack, const std::vector<std::string> & needles, size_t search_pos = 0)
494+
static std::pair<size_t, std::string> find_first_substring(const std::string &haystack, const std::vector<std::string> & needles, size_t search_pos = 0)
495495
{
496496
size_t found_pos = std::string::npos;
497-
int found_idx = -1;
497+
std::string found_str = "";
498498

499499
for (unsigned int i = 0; i < needles.size(); ++i) {
500500
const std::string & start_string = needles[i];
501501
auto needle_pos = haystack.find(start_string,search_pos);
502502
if (needle_pos != std::string::npos && (found_pos == std::string::npos || needle_pos < found_pos) ) {
503503
found_pos = needle_pos;
504-
found_idx = i;
504+
found_str = start_string;
505505
}
506506
}
507507

508-
return std::pair<size_t, int>(found_pos,found_idx);
508+
return std::pair<size_t, std::string>(found_pos,found_str);
509509
}
510510

511511
// TODO: reuse llama_detokenize

0 commit comments

Comments
 (0)