← Усі рецептиДані та операції / PYTHON

Витяг значень без вигадування

Знайдіть суму повернення й заплановану дату серед кількох значень у документі. Поверніть точні фрагменти джерела.

До 1 API-запитівДані: вигадані, англійськоюЗовнішні дії: 0
01 / ПРОЦЕС

Що вирішує модель. Що перевіряє код.

  1. Регулярні вирази знаходять суми USD і дати ISO. Календарна перевірка відкидає неможливі дати до запиту.
  2. Два Choice-питання обирають суму саме повернення та його заплановану дату. Варіант none залишає можливість відмовитися.
  3. Код перевіряє поріг, ідентифікатор і позицію фрагмента. Сума нормалізується через Decimal, без арифметики моделі.
02 / ЛОКАЛЬНИЙ ЗАПУСК

Прочитайте. Запустіть. Відтворіть.

Розпакуйте архів і відкрийте каталог у терміналі. Перший крок працює без ключа та мережі.

1 · offline plan · 0 API requests
python3 runner.py value-extraction

Для реального запуску задайте SHVYDKO_API_KEY у середовищі свого комп’ютера або сервера. Не вставляйте ключ у браузер чи вихідний код. Діють поточні квоти й тариф вашого облікового запису.

2 · explicit live run
python3 runner.py value-extraction --live --output value-extraction-run.json

Звіт містить запити, справжні відповіді, час і відоме використання. Файл створюється з приватними правами та не перезаписує наявний. Після мережевої помилки автоматичного повтору немає: перевірте Usage перед новим викликом.

3 · replay saved responses · 0 API requests
python3 runner.py value-extraction --replay value-extraction-run.json

Replay перевіряє відповідність рецепта, вхідних даних і запитів. Локальний файл можна редагувати, тому він не є підписаним доказом походження відповідей. Якщо заміните дані своїми, звіт також міститиме їх — зберігайте його приватно.

03 / ПЛАН ЗАПИТІВ

Відкритий контракт, без прихованих кроків.

План нижче згенеровано тим самим runner із даних архіву. Це запити й очікування автора, а не результат моделі.

offline-plan.json
{
  "mode": "offline_plan",
  "model_calls": 0,
  "recipe": "value-extraction",
  "author_expectation": {
    "amount": "USD 39.50",
    "scheduled_date": "2026-10-22"
  },
  "notice": "Requests only, no model answers. Hierarchy includes conditional branches; repetition requests are templates.",
  "requests": [
    {
      "state": {
        "text": "Original order total: USD 129.00, paid on 2026-10-01. Approved refund: USD 39.50, scheduled for 2026-10-22. Internal draft date 2026-02-30 is invalid and is not the scheduled date.",
        "amount_candidates": {
          "amount_0": {
            "value": "USD 129.00",
            "start": 22,
            "end": 32
          },
          "amount_1": {
            "value": "USD 39.50",
            "start": 71,
            "end": 80
          }
        },
        "valid_date_candidates": {
          "date_0": {
            "value": "2026-10-01",
            "start": 42,
            "end": 52
          },
          "date_1": {
            "value": "2026-10-22",
            "start": 96,
            "end": 106
          }
        }
      },
      "questions": {
        "amount": {
          "type": "choice",
          "instructions": "Select the approved refund amount, not the original order total.",
          "criteria": {
            "amount_0": "USD 129.00",
            "amount_1": "USD 39.50",
            "none": "No approved refund amount"
          }
        },
        "date": {
          "type": "choice",
          "instructions": "Select the scheduled refund date, not the original payment date.",
          "criteria": {
            "date_0": "2026-10-01",
            "date_1": "2026-10-22",
            "none": "No scheduled refund date"
          }
        }
      }
    }
  ]
}