Skip to content

Releases: AlexanderOnischenko/fetchgraph

Demo-qa

04 Jan 07:21
e20f219

Choose a tag to compare

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

📜 Полный список изменений

v0.1.0...v0.2.0

Fetchgraph v.0.1.0 - библиотека для оркестрации сбора контекста для LLM

18 Dec 14:26

Choose a tag to compare

Это первый стабильный минорный релиз 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).