YETI3ENGINEСобрать сайт ↗
Меню

ENGINE / SDK / ВЫЧИСЛЕНИЯ

GPU провайдера.
Один путь для пайплайнов.

Смета и текущий баланс до оплаты. Стабильные задачи после перезапуска. SEO, CALMF, аналитика цепочки и рендер используют штатный шлюз лицензирования.

yeti3-provider-gpu 0.1.0Engine 0.4.5+Только реальные деньги

1. Создайте проект одной командой

python3 -m venv .venv-tools
source .venv-tools/bin/activate
python -m pip install --index-url https://engine.yeti3.ru/sdk/simple/ yeti3-sdk==0.1.6
yeti3 init my-gpu-project --scenario provider-gpu
cd my-gpu-project
yeti3 run
yeti3 check --offline

Windows PowerShell: py -3 -m venv .venv-tools, затем .venv-tools\Scripts\Activate.ps1. CLI закрепляет весь набор ядра 0.4.5 и модуль GPU в engine.lock.json, проверяет SHA-256 и зависимости. Первый запуск не требует токена и не расходует деньги.

Либо подключите к существующему проекту

python -m pip install --index-url https://engine.yeti3.ru/sdk/simple/ yeti3-engine==0.4.5 yeti3-provider-gpu==0.1.0
python -m pip check

Используйте отдельное виртуальное окружение Python 3.12+. Ранние каналы ядра 0.4.3 не подходят этому модулю.

2. Подключите модуль к ядру

import os
from pathlib import Path
from yeti3.kernel.engine import Engine
from yeti3.network import NetworkClient
from yeti3_provider_gpu import ProviderGPUModule

token = Path(os.environ["YETI3_GPU_TOKEN_FILE"]).read_text().strip()
client = NetworkClient("https://license.gochain.space", token)
engine = Engine()
engine.register(ProviderGPUModule(client))
engine.boot()
gpu = engine.capabilities.get("compute.provider")
status = gpu.status()  # текущий центральный баланс и состояние сервиса

Серверный файл содержит существующий лицензированный токен сайта или владельца. Не передавайте его в HTML, URL, журнал или браузер. Показ баланса берите из ответа сервера, не рассчитывайте по локальному кэшу. Регистрация не арендует GPU.

3. Смета → подтверждение → запуск

plan = gpu.prepare(
    project=licensed_project_id,
    key="seo:home:revision-42",
    task="seo.analyze",
    inputs={"text": public_page_text, "max_tokens": 512},
    public_data=True,
    cash_limit_kopecks=50_00,
    max_seconds=900,
)
# Сохраните plan в PostgreSQL своего проекта ДО подтверждения.
# Покажите plan["reserve_kopecks"] / 100, баланс и лимит 50 рублей.
# Только авторизованный плательщик подтверждает именно этот digest.
receipt = gpu.launch(plan, confirmed_digest=approved_digest)
# Сохраните receipt. После таймаута повторяйте тот же plan, не prepare().
job = gpu.get(receipt)
events = gpu.events(receipt, after=0)
# gpu.cancel(receipt) запрашивает отмену; дождитесь подтверждения сервера.

Переменные licensed_project_id, public_page_text, approved_digest поступают из серверного проекта и формы подтверждения. Это интеграционный фрагмент, а не автономный скрипт. План хранится только на сервере; его digest обнаруживает изменение, но не заменяет авторизацию плательщика.

Финансовые резервы, фактическая стоимость, возврат остатка и удаление GPU выполняются централизованно. Отмена не означает бесплатное уже использованное время. Не подменяйте денежный баланс токенами или бонусами.

Один интерфейс, разные задачи

Направлениеtask / capabilityЧто исполняется
SEOseo.analyze / seo.computeПубличные тексты, рекомендации по структуре и метаданным
CALMFcalmf.analyze / calmf.computeОбезличенные агрегаты и поиск возможных аномалий
Блокчейнblockchain.analyze / blockchain.analytics.computeАналитический отчёт по агрегатам цепочки
Пайплайныpipeline.analyze / pipeline.computeРазбор времени этапов и рекомендации
Автотестыtests.analyze / tests.computeОбъяснение очищенных результатов тестирования
Каталогcatalog.review / catalog.computeОписание и анализ публичной документации пакета
Текстtext.generate, text.summarizeЧерновики и краткое изложение
Медиаblender.render, render.queue / media.computeКадр Blender либо существующая очередь пакетов рендера

В каждый этап передавайте отдельный стабильный ключ. Сохраняйте план и ID задачи в существующую БД. Для общего лимита пайплайна резервируйте бюджет всех этапов транзакционно: независимые лимиты задач не являются общим лимитом проекта.

Сейчас текстовые задачи использует поддерживаемый шлюзом text.generate. Они не выполняют произвольный Python, shell, обучение модели или настоящий тест безопасности пакета. Для нового вычислительного runtime нужен отдельный проверенный адаптер провайдера.

Изоляция, CALMF и цепочка

Клиент работает от центрального аккаунта или лицензированного сайта; сервер повторно проверяет владельца проекта, права на источники и баланс. Публичная кнопка не должна автоматически расходовать деньги владельца.

Модуль пишет только метаданные жизненного цикла в Project Chain и событие compute.provider.lifecycle. Подключите штатного потребителя CALMF проекта к этому событию. Промпты, результаты и токены в журнал не отправляются. Медицинские данные, персональные данные и секреты отправлять запрещено.

Проверка хешей, подписей, запись блоков, доставка событий CALMF и выполнение автотестов продолжают работать в обычном проверяемом runtime. Ответ языковой модели не подтверждает целостность или безопасность.

Индикатор GPU: статусы, графики и расходы →

Индикатор GPU: статусы, графики и расходы →

Индикатор GPU: статусы, графики и расходы →

Индикатор GPU: статусы, графики и расходы →

Индикатор GPU: статусы, графики и расходы →