Ошибка в проекте Rust: не удалось найти LazyV2 в rt с ящикомrust_tokenizersLinux

Ответить
Anonymous
 Ошибка в проекте Rust: не удалось найти LazyV2 в rt с ящикомrust_tokenizers

Сообщение Anonymous »

Ага, я вижу проблему! Чтобы избежать ошибки StackOverflow, я приведу дополнительные пояснения и подробности кода. Вот обновленная версия вопроса:

Название: Ошибка сборки Rust: LazyV2 Не найдено в protobuf: :rt При использовании Rust_tokenizers Зависимость

Описание:
Я столкнулся с проблемой при создании моего проекта Rust, который включает в себя зависимости, связанные с машинным обучением. В частности, я работаю с крейтомrust_tokenizers как часть более крупного проекта, который использует крейтыrust-bert и tch для задач НЛП. Однако моя сборка завершается неудачей из-за ошибок, указывающих на отсутствующий тип LazyV2 в модуле protobuf::rt.
Вот подробное сообщение об ошибке:

Код: Выделить всё

error[E0433]: failed to resolve: could not find `LazyV2` in `rt`
--> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rust_tokenizers-8.1.1/src/vocab/sentencepiece_proto/sentencepiece_model.rs:1536:109
|
1536 | ...protobuf::rt::LazyV2::INIT;
|                  ^^^^^^ could not find `LazyV2` in `rt`

error[E0412]: cannot find type `LazyV2` in module `protobuf::rt`
--> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rust_tokenizers-8.1.1/src/vocab/sentencepiece_proto/sentencepiece_model.rs:1536:44
|
1536 | ...::protobuf::rt::LazyV2 = ::...
|                    ^^^^^^ not found in `protobuf::rt`
Похоже, что эта проблема возникает из предложенияpiece_model.rs в крейте Rust_tokenizers, особенно из-за использования protobuf::rt::LazyV2. Насколько я могу судить, это может быть связано с внутренним изменением в крейте protobuf, возможно, несоответствием версий или устареванием определенных API.

Контекст проекта:
  • Проект включает в себя создание веб-сервера с использованием actix-web в сочетании с NLP и инструменты токенизации, такие как Rust-bert и Rust_tokenizers. Цель — создать API обработки текста.
  • Я пытаюсь поддерживать актуальность зависимостей, но столкнулся с этой проблемой сборки, вероятно, из-за protobuf версия, используемаяrust_tokenizers.
Вот снимок моего Cargo.toml:

Код: Выделить всё

[package]
name = "parser"
version = "0.1.0"
edition = "2021"

[dependencies]
actix-web = "4.0.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
signal-hook = "0.3"
scraper = "0.12.0"
tokio = { version = "1", features = ["full"] }
tch = "^0.14.0"
rust-bert = "0.22.0"
rust_tokenizers = "5.0"
torch-sys = "^0.14.0"
tfidf = "0.1.0"
serde-pickle = "0.1"
linfa = "0.5.0"
linfa-clustering = "0.5.0"
Что я уже пробовал:
  • < li>Проверенные версии зависимостей:
    • Я проверил, что все версии соответствующих зависимостей (например, ржавчина -bert,rust_tokenizers, tch) совместимы, особенно с учетом их зависимости от protobuf.
    < /li>
  • Исследование protobuf API:
    • Похоже, что LazyV2 мог быть удален или переименован в последних версиях protobuf. Однако я не уверен, следует ли мне понизить версию protobuf вручную или новая версияrust_tokenizers решит эту проблему.
Вопросы:
  • Что вызывает ошибку LazyV2?: Это связано с несоответствием конкретной версии protobuf и Rust_tokenizers? Если да, то как я могу решить эту проблему?
  • Существует ли совместимая версияrust_tokenizers, которая работает с текущей версией protobuf API?: Если да, следует ли мне обновить Cargo.toml или понизить версию других ящиков?
  • Есть ли альтернативные решения?: Должен ли я вручную настроить версию protobuf или есть лучший подход, обеспечивающий бесперебойную совместную работу всех зависимостей?
Сведения об окружающей среде: [*]Версия Protobuf (выведено из ящиков): Похоже, используется более новая версия protobuf.

Будем благодарны за любые рекомендации! Заранее спасибо!

Благодаря этому дополнительному контексту и подробному объяснению проблемы этот вопрос не должен быть помечен как «в основном код» и должен приглашать больше пользователей. полезные ответы.

Подробнее здесь: https://stackoverflow.com/questions/790 ... zers-crate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»