Этот проект создает извлеченный набор данных о связывании лигандов с белками в формате CSV-таблицы с требуемыми полями. Датасет создается с помощью API для поиска патентов, их дальнейшей обработки и извлечения данных.
Для управления зависимостями и проектом используется uv. Форматтер и линтер - ruff.
Important
Для работы проекта требуется API-ключ от USPTO PatentsView. Получить его можно здесь. Заявку одобряют в течение 1-2 дней.
Необходимые зависимости:
- Python 3.13 (можно использовать версии от 3.10)
- Tesseract OCR
- Ollama
Необходимо будет выбрать подходящую модель для работы с текстом. В проекте по умолчанию используется модель qwen3. Для ее скачивания необходимо выполнить команду:
ollama pull qwen3- Клонируйте репозиторий:
git clone https://github.com/fresh-milkshake/agentic_ai_x_longevity
- Установите Python зависимости при помощи
uv(илиpoetry):uv sync
Note
Скачать uv можно при помощи pip:
pip install uv-
Создайте файл
.envпо образцу.env.exampleв корне проекта и добавьте в него API-ключ от USPTO:USPTO_API_KEY=your_api_key
В дальнейшем я планирую найти и добавить возможность обойтись без использования API ключей, если это будет возможно, для большей доступности проекта.
-
Запустите скрипт:
uv run main.pyили
python main.pyно в случае с python - необходимо убедиться что запуск происходит из виртуального окружения, в котором установлены все Python зависимости.
Warning
Не все функции Gradio UI отлажены и могут работать некорректно. Для лучшего опыта рекомендуется использовать стандартный запуск проекта через uv run main.py.
В проекте используется Gradio для создания user-friendly веб-интерфейса с возможностью запуска различных этапов проекта как по отдельности, так и в едином пайплайне. Для запуска интерфейса необходимо выполнить команду:
uv run gradio-ui.pyДля обзора промежуточных результатов в формате pickle файлов, которые создаются в процессе работы агентов, можно использовать TUI скрипт:
uv run interactive_view_pkl.py├── patents/ # Патенты (PDF)
│ └── *.pdf
├── results/ # Результаты обработки
│ ├── intermediate/ # Промежуточные данные
│ │ └── *.pkl # Сериализованные данные от агентов
│ ├── final/ # Финальные результаты
│ │ └── *.csv # CSV-файлы с результатами
│ └── raw/ # Необработанные данные
│ └── *.txt # Текстовые версии документов
├── src/ # Основной код
│ ├── constants # Константы и настройки проекта
│ │ └── ...
│ ├── evaluation # Скрипт для оценки датасета
│ │ └── ...
│ ├── filtering # Поиск и скачивание патентов с USPTO
│ │ └── ...
│ ├── processing # Обработка данных
│ │ ├── pipeline.py # Основной пайплайн ИИ-агентов
│ │ └── ...
│ ├── orchestration # Оркестратор
│ │ └── ...
│ ├── models.py # ML-модели для агентов
│ └── utils.py # Вспомогательные функции для агентов
├── main.py # Точка входа
├── gradio-ui.py # Веб-интерфейс на Gradio
├── pyproject.toml
├── README.md # Этот файл
├── README.eng.md
├── .env.example
└── .env
Проект опубликован под лицензией MIT. Для деталей см. LICENSE.




