lib/blingfire.rb in blingfire-0.1.6 vs lib/blingfire.rb in blingfire-0.1.7

- old
+ new

@@ -111,9 +111,18 @@ result = ids[0, (max_len || out_size) * Fiddle::SIZEOF_INT].unpack("i!*") [result].concat(unpack_offsets(start_offsets, end_offsets, result, text)) end + def ids_to_text(model, ids, skip_special_tokens: true, output_buffer_size: nil) + output_buffer_size ||= ids.size * 32 + c_ids = Fiddle::Pointer[ids.pack("i*")] + out = Fiddle::Pointer.malloc(output_buffer_size) + out_size = FFI.IdsToText(model, c_ids, ids.size, out, output_buffer_size, skip_special_tokens ? 1 : 0) + check_status out_size, out + encode_utf8(out.to_str(out_size - 1)) + end + def free_model(model) FFI.FreeModel(model) end def normalize_spaces(text)