Python-разработчик AI-сервисов (LLM / RAG)
Технологии
Описание вакансии
Кратко о роли
Компания QSOFT ищет Python-разработчика для работы над AI-сервисами с использованием LLM и RAG-технологий.
Ключевые задачи
- Развитие HTTP API и бизнес-логики асинхронных Python-сервисов на FastAPI.
- Проектирование и реализация RAG-пайплайнов (retrieval, query rewriting, цитирование).
- Развитие агентных сценариев на LangChain, LangGraph и deepagents.
- Улучшение качества семантического поиска и развитие событийной индексации через Kafka.
- Интеграция LLM, embedding и reranking провайдеров.
- Обеспечение наблюдаемости системы через OpenTelemetry и Langfuse.
Обязательные требования
- Уверенное владение Python и опыт разработки backend-сервисов.
- Глубокое понимание асинхронного программирования.
- Опыт разработки API на FastAPI.
- Практический опыт работы с PostgreSQL и SQLAlchemy.
- Понимание событийной архитектуры и Kafka.
- Знание принципов работы RAG (chunking, embeddings, reranking).
- Умение писать unit- и интеграционные тесты для асинхронного кода.
Условия и бенефиты
- Полная занятость.
- Возможность удаленной работы.
Процесс найма
- Для отклика на вакансию отправьте свое резюме на указанный email.
QSOFT ищет Python-разработчика AI-сервисов (LLM / RAG).
Чем предстоит заниматься:
- Развивать HTTP API и бизнес-логику двух асинхронных Python-сервисов на FastAPI.
- Проектировать и реализовывать RAG-пайплайны: retrieval, query rewriting, multi-hop поиск, сбор контекста, structured output, цитирование источников и обработку частичных ответов.
- Развивать агентные сценарии на LangChain, LangGraph и deepagents: инструменты, middleware, ограничения числа вызовов, защита от циклов и контроль контрактов ответа.
- Улучшать качество семантического поиска: chunking, dense/sparse retrieval, фильтры Qdrant, reranking, RRF и token budget.
- Развивать событийную индексацию статей, файлов и структурированного контента через Kafka.
- Обеспечивать корректную мультитенантность и фильтрацию результатов по правам пользователей, групп и сообществ.
- Интегрировать и заменять LLM-, embedding- и reranking-провайдеры, включая OpenAI-compatible API, vLLM и Ollama.
- Работать с PostgreSQL, Redis и Qdrant, проектировать модели данных и Alembic-миграции.
- Диагностировать проблемы качества, производительности и надежности на границах внешних сервисов.
- Развивать автоматические тесты и quality gates, поддерживать воспроизводимые локальные и CI-окружения.
- Улучшать наблюдаемость: структурированные логи, технические метрики, OpenTelemetry и трассировку LLM/RAG через Langfuse.
- Участвовать в декомпозиции задач, ревью кода и принятии архитектурных решений.
Стек технологий:
- Python 3.12, async/await
- FastAPI, Pydantic 2
- SQLAlchemy 2 async, Alembic, PostgreSQL
- Redis, Apache Kafka, aiokafka
- Qdrant, dense/sparse vectors, embeddings, reranking, RRF
- LangChain, LangGraph, deepagents
- OpenAI-compatible API, vLLM, Ollama
- Pytest, pytest-asyncio, mypy, Black, Flake8
- Docker, Docker Compose, Kubernetes, GitLab CI
- Langfuse, OpenTelemetry
Наши пожелания к кандидатам:
- Уверенное владение Python и практический опыт разработки backend-сервисов.
- Хорошее понимание асинхронного программирования: event loop, конкурентный I/O, таймауты, отмена, управление ресурсами и graceful shutdown.
- Опыт разработки API на FastAPI или сопоставимом Python-фреймворке.
- Практический опыт с PostgreSQL и SQLAlchemy: транзакции, конкурентный доступ, индексы, миграции и диагностика запросов.
- Опыт интеграции внешних сервисов и проектирования устойчивого взаимодействия: retry/backoff, timeout, idempotency, ограничение параллелизма и обработка частичных отказов.
- Понимание событийной архитектуры и семантики Kafka consumer: consumer groups, offset commit, rebalance, повторная доставка и идемпотентная обработка.
- Понимание устройства RAG: chunking, embeddings, retrieval, reranking, контекстное окно, ограничения LLM и способы снижения галлюцинаций.
Оригинальная вакансия:
https://t.me/job_python/8078