Releases: AlexanderOnischenko/fetchgraph
Demo-qa
fetchgraph v0.2.0
Версия 0.2.0 — это эволюционный релиз, добавляющий возможности воспроизводимого QA, регрессионного сравнения и CI-ориентированных LLM-прогонов.
Основной фокус релиза — demo QA harness: инфраструктура для пакетного запуска кейсов, хранения артефактов, сравнения результатов между версиями моделей/конфигураций и работы с baseline/overlay сценариями.
🧪 Demo QA Harness
- QA runner для LLM-кейсов:
- batch-прогоны,
- частичные запуски,
- missed-кейсы,
- Поддержка baseline / overlay / compare сценариев:
- корректное healing фейлов,
- overlay-aware selection workflow.
- Run-теги (
--tag) и tag-based compare. - Хранение всех результатов и ошибок в per-run artifacts directory.
(подробнее в README_demo_qa.md)
📊 Аналитика и CLI
- Унифицированная логика diff и compare.
- Стабилизированный формат отчётов:
- JSON-вывод для stats и schema,
- корректная обработка missing / partial runs.
- Улучшенный CLI:
- цветной и форматированный вывод,
- расширенная диагностика,
- JSON-режим для CI.
⚙️ Конфигурация и архитектура
- Упрощённая OpenAI-интеграция, удалён mock-провайдер.
- Требование Python 3.11 для demo QA.
🔄 Обновление
pip install -U fetchgraph📜 Полный список изменений
Fetchgraph v.0.1.0 - библиотека для оркестрации сбора контекста для LLM
Это первый стабильный минорный релиз fetchgraph — библиотеки для создания агентов, которые умеют планировать извлечение контекста из данных и синтезировать ответ. Ключевые нововведения: поддержка реляционных провайдеров (Pandas, SQL) и семантических потоковых кросс-джойнов.
Основные возможности (Features)
- Библиотечный подход: вы подключаете свою LLM и источники данных, а fetchgraph управляет конвейером PLAN → FETCH → SYNTH → VERIFY.
- Плагинная архитектура: легко добавляются новые провайдеры контекста (API, базы данных, файлы).
- Реляционные провайдеры: работа с табличными данными через Pandas и SQL с семантическими запросами.
- Семантический поиск: встроенный TF-IDF бэкенд для CSV, интеграция с pgvector/LangChain.
- Типизация на JSON: селекторы для планировщика строго JSON-сериализуемы, что обеспечивает совместимость.
Что нового и улучшено (Основные изменения с v0.0.3)
1. Новые реляционные провайдеры:
PandasRelationalDataProvider: для работы с данными в памяти (DataFrames).
SqlRelationalDataProvider: для выполнения SQL-запросов.
CompositeRelationalDataProvider: объединяет несколько источников для сложных сценариев.
Поддержка семантических кросс-джойнов (SemanticClause) для связывания сущностей по смыслу.
2. Улучшенная работа с селекторами:
Провайдеры могут публиковать JSON Schema (ProviderInfo.selectors_schema), чтобы LLM понимала, как формировать корректные запросы.
Селекторы теперь включают поле "op" для выбора операции ("schema", "semantic_only", "query").
3. Семантический бэкенд для CSV:
Класс CsvSemanticBackend предварительно вычисляет эмбеддинги для CSV-файлов (используя TF-IDF или вашу модель).
Это ускоряет семантический поиск при повторных запусках.
4. Примеры и документация:
В папке examples/retail_orders добавлен детальный пример построения реляционных провайдеров по схеме.
В README появились разделы по работе с селекторами и pgvector.
5. Прочие улучшения:
Расширены и лучше структурированы тесты (включая тесты на кросс-джойны).
Обновлены промпты для лучшей поддержки реляционных данных.
Настроен CI/CD workflow для публикации в PyPI.
Как начать использовать
Установка последней версии:
pip install fetchgraphБазовый пример использования (полный пример в README):
from fetchgraph import BaseGraphAgent, TaskProfile
# ... инициализация провайдеров и LLM
profile = TaskProfile(task_name="Demo", goal="...", output_format="...")
agent = BaseGraphAgent(llm_plan=..., llm_synth=..., providers=...)
result = agent.run("FeatureX")Для работы с реляционными данными смотрите пример examples/retail_orders/.
Полный список изменений
Подробный список коммитов можно увидеть в истории проекта.
Ключевые коммиты, связанные с этим релизом:
- Добавлены реляционные провайдеры и семантические кросс-джойны.
- Улучшены промпты и добавлены тесты.
- Настроен рабочий процесс публикации (publishing workflow).