Shanraq.org Shanraq.org
IT

ИИ без LLM: создаем свою модель ИИ Урок 19 из 25

Урок 19. Собираем ответ по шаблону

Бланк справки содержит постоянную подпись и пустое место для проверенного значения. Такой бланк не придумывает новое расписание: он только аккуратно показывает найденную карточку.

Текст переведён с помощью ИИ.

Зачем это нужно

Бланк справки содержит постоянную подпись и пустое место для проверенного значения. Такой бланк не придумывает новое расписание: он только аккуратно показывает найденную карточку.

Перед запуском

Берём карточки из шага 18. kind выбирает одну из двух заранее написанных фраз: о времени или о месте. Поле value подставляется после подписи. Знак | внутри кавычек — просто печатный разделитель между источником и датой, а не действие Python.

[
  {"club": "шахмат", "kind": "уақыт", "value": "бейсенбі, 15:00", "source": "club-sheet-01", "checked_on": "2026-09-01"},
  {"club": "шахмат", "kind": "орын", "value": "203-бөлме", "source": "club-sheet-01", "checked_on": "2026-09-01"}
]

Из корня проекта перейдите в папку шага и запустите программу:

cd course/kazakh-ai/step-19
python3 answer.py

В Windows вместо последней команды выполните py answer.py.

import json

with open("facts.json", encoding="utf-8") as file:
    facts = json.load(file)
club = input("Үйірме: ").lower()
kind = input("Мәлімет түрі: ").lower()
matches = []
for fact in facts:
    if fact["club"] == club and fact["kind"] == kind:
        matches.append(fact)
if len(matches) == 1:
    fact = matches[0]
    if kind == "уақыт":
        print(fact["club"], "үйірмесінің уақыты:", fact["value"])
    elif kind == "орын":
        print(fact["club"], "үйірмесінің орны:", fact["value"])
    print("Дереккөз:", fact["source"], "| тексерілген күні:", fact["checked_on"])
elif len(matches) == 0:
    print("білмеймін: дерек жоқ")
else:
    print("тоқта: бірнеше дерек табылды")

Файл шага.

Что делает программа

Название берём из fact["club"], поэтому готовый текст связан с найденной карточкой. print соединяет части пробелами. При нуле или нескольких карточках ответ не строится. Пока это ответ только по двум введённым ключам; следующий урок соединит его с разбором полного вопроса.

Опорная карта

Екі кілт → бір карточка → уақыт/орын сөйлемі + мән → дереккөз + күн.

Вспомните и проверьте

Введите шахмат и уақыт. Подсказка: выбирается первая ветвь шаблона. Эталон: шахмат үйірмесінің уақыты: бейсенбі, 15:00 и Дереккөз: club-sheet-01 | тексерілген күні: 2026-09-01. Измените значение места и убедитесь, что ответ о времени не изменился. Частая ошибка: написать новое время прямо в шаблоне — оно расходится с каталогом.

Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом

Комментарии (0)

Пока нет комментариев. Будьте первым.