Я пытаюсь использовать LLamaSharp и у меня возникла ошибка из примеров документации.
Я пытаюсь запустить "Examples of chatting with LLaVA" от сюда. И у меня ошибка в строчке ex.ImagePaths = imagePaths.ToList(); с пометкой не удалось найти доступный метод расширения. Внутри класса нет ничего похожего на метод для приема img (на мой взгляд).
Добавьте в начало файла строку using System.Linq;
чтобы указать компилятору искать методы расшерения в этом пространстве имен.
ToList() - это метод расширения для интерфейса IEnumerable<Matches>, который реализуется объектом, который возвращает метод Regex.Matches. Этот метод определен (как обобщеный, для IEnumerable<T>) в классе Enumerable из пространства имен System.Linq.
PS Подозреваю, что у автора примера ссылка на это пространство имен живет в Global Usings, а потому у него все работает, а у вас - нет.
Я так понял, что у меня код видеть using System.Linq;, однако у меня ошибка именно в классе InteractiveExecutor. Может быть просто документация устарела, но в ней тупа не описаны новые подходы.
Я тоже нашел что есть приватное поле _imageInPrompt и оно вызывается в методе PreprocessLlava, но на него не ведет не одна ссылка из кода и в примере документации так же нет упоминания этого метода использования, а модификатор доступа private гласит, что он вообще не должен быть мне доступен из кода вызова. А другого места где есть картинка я не нашел.
Я просто не понимаю. У меня в переменной imagePaths появляется запись (из регулярки) адреса картинки. После в imageBytes записывается byte изображения и я могу конвертировать его в imageBytes.ToList(), после у меня в классе InteractiveExecutorState есть поле Images имеющие тип List, что вроде подходит, но оно имеет ограничения доступа только для чтения { get; }, хотя уже публичное. Куда и в каком формате я должен записывать картинку и/или на какой версии это вообще работало?