Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Knowledge Extraction

Извлечение знаний из внешних материалов через TasK API

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

Ваш агент может работать с источником любого (в рамках разумного) размера, не загружая его целиком в контекст. Задаёт вопросы, уточняет, ищет фрагменты — и получает ответы с опорой на источник.

Поддерживает статьи, YouTube-видео, видео- и аудиофайлы (Whisper-транскрибация), документы (PDF, DJVU, HTML).

Зависимости

Требует bash, curl, jq, GNU realpath и доступ к TasK API (документация). Для получения доступа — напишите команде.

Установка

Skill совместим с различными AI-агентами. Примеры ниже даны для pi — для других инструментов смотрите их документацию по установке skills.

git clone https://github.com/prikotov/knowledge-extraction.git .agents/skills/knowledge-extraction

После установки создайте в корне проекта файл .task_token.json:

{
  "access_token": "ваш-токен-доступа"
}

Разместите .task_token.json в рабочем проекте, из которого запускаете Skill. Скрипты используют текущий каталог ($PWD) как начальную точку и ищут токен в нём и родительских каталогах. Для явного выбора каталога можно задать KNOWLEDGE_EXTRACTION_WORKSPACE=/path/to/project.

Необязательный .task_config.json — конфигурация Skill. Сейчас он поддерживает переопределение адреса API:

{
  "api_url": "https://api.ai-aid.pro/v1"
}

Как работает

Skill использует методы TasK API:

  • Загрузка по URL — индексирует материал: статью, видео, документ.
  • Диалог через Chat API — вопросы и ответы с опорой на источник, цепочка уточнений.
  • Поиск по чанкам — находит фрагменты, близкие по смыслу к запросу.

Пользователь просит разобрать материал:

Разбери https://habr.com/ru/articles/1061876/

Агент загружает материал и начинает диалог с вопроса «О чём этот материал?». Дальше — цепочка уточнений:

Агент: — О чём этот материал?
TasK: — Локус контроля: 4 убеждения, которые тихо хоронят ваши амбиции. О склонности приписывать ответственность внешним обстоятельствам или собственным действиям.

Агент: — Какие убеждения разбирает автор? Приведи формулировки.
TasK: — Внешний локус контроля: вера в судьбу, удачу, других людей. Внутренний локус — способность брать ответственность за результат.

Агент: — Что автор предлагает для смены локуса?
TasK: — Сместить фокус с личности на действия, провести дебрифинг ошибок, вырабатывать стратегии на будущее.

Ответ агента пользователю:

Автор разбирает, как локус контроля влияет на амбиции: внешний локус (виню обстоятельства) хоронит их, внутренний (беру ответственность) — растит. Советует сместить фокус с личности на действия и проводить дебрифинг ошибок. Источник

Если диалог не дал нужного фрагмента — агент ищет по чанкам:

Что автор говорит про локус контроля?

Агент: — Найди фрагменты про теорию локуса контроля Роттера.
TasK: — Чанк #3: Джулиан Роттер в 1954 году предложил теорию локуса контроля… Чанк #7: люди с внутренним локусом контроля убеждены, что управляют своей жизнью…

Ответ агента пользователю:

Автор ссылается на теорию Роттера (1954) и выделяет два типа: внутренний локус — «я управляю своей жизнью», внешний — «всё решают обстоятельства».

Полученные факты и цитаты агент оформляет под задачу: саммари, дайджест-карточка, research-заметка.

Обработка YouTube-видео может занимать десятки минут — материал загружается асинхронно, статус можно проверить не дожидаясь готовности.

Использование

Через агента

После установки skill агент автоматически узнаёт о нём. Примеры запросов:

Разбери https://habr.com/ru/articles/1061876/
Что автор говорит про локус контроля? Найди в https://habr.com/ru/articles/1061876/

Напрямую через скрипты

Команды выполняются из корня рабочего проекта. После установки, показанной выше, путь к скриптам будет .agents/skills/knowledge-extraction/scripts/:

# Загрузить материал
.agents/skills/knowledge-extraction/scripts/ingest.sh --source-url https://habr.com/ru/articles/1061876/

# Загрузить локальный файл (PDF, видео, аудио и т. п.)
.agents/skills/knowledge-extraction/scripts/ingest.sh --source-file "/path/to/video.mp4"

# Начать диалог
.agents/skills/knowledge-extraction/scripts/chat.sh --source-url https://habr.com/ru/articles/1061876/

# Продолжить диалог
.agents/skills/knowledge-extraction/scripts/chat.sh --chat <UUID> --question "Какие убеждения разбирает автор?"

# Поиск по чанкам
.agents/skills/knowledge-extraction/scripts/search.sh --source-url https://habr.com/ru/articles/1061876/ --query "локус контроля"

# Проверить статус обработки
.agents/skills/knowledge-extraction/scripts/ingest.sh --check

# При ошибке API chat.sh завершится с ошибкой и напечатает, например:
# HTTP 422: Need to top up balance.

Безопасность

⚠️ .task_token.json — добавить в .gitignore, никогда не коммитить. Не просить агента прописывать или читать этот файл.

Сами скрипты не содержат секретов: токен читается из .task_token.json.

Лицензия

MIT

About

Извлечение структурированных знаний из внешних материалов через TasK API — навык для AI-агентов

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages