Brandon T. Willard
Brandon T. Willard
Sorry, this project only supports Python
Thanks for the report! From a quick read, it does look like a genuine bug. For reference, the constraint approach used here is based on the following fantastic paper by...
> It seems that the issue is with using class method as the function to cache (vLLM use it similarly). What is it about a class method that's causing this?...
> That is why it is most likely safer to serialize the args as a string instead of a binary key. So in short, I was able to reproduce the...
> I see, but it is still better than the current implementation which won't use as well the underlying serialization implementations and will instead store it as a binary python...
> Another alternative to quickly fix this would be to modify the usage of outlines's cache in vLLM. That sounds like the best approach, because—otherwise—this becomes a feature request to...
> @brandonwillard seems like the error is not related to class methods after all. I've tried to extract the classmethod into an external function and it still doesn't work in...
> I wonder if it could be related to [Diskcache's caveats of the default key serialization implementation](https://grantjenks.com/docs/diskcache/tutorial.html#caveats). This mostly emphasises the need to implement consistent serialization for the objects involved;...
@Lap1n, I just noticed that `cache` is being applied to a `tokenizer` argument in `vllm` that's typed as `PreTrainedTokenizerBase`. In `outlines`, the `tokenizer` arguments are of `Tokenizer` type, and, more...
> Thanks for investigating btw! Thank you for helping find and debug this! Also, don't hesitate to keep us in the loop regarding the vLLM side of things.