Repository navigation
feat(synthetic-llm-dataflow-bigquery): synthetic data generation solution guide (v0.6.1) - #354
Open
albertols wants to merge 1 commit into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
The synthetic data generation solution guide, generated from release
v0.6.1(edcfdcd6a621) of its source repository.pipelines/synthetic-llm-dataflow-bigquery/sdfb-core,sdfb-beam, tests), the standalone evaluator (packages/sdfb-evaluation: its own uv project, lock and tests), Dockerfile, Flex Template metadata, launch scripts01–06, one design document (docs/DESIGN.md) that maps every decision the code citesterraform/synthetic-llm-dataflow-bigquery/thelook_ecommercesnapshots, landing tables with the public schemas, one table perconfig/bq_schemafile, the evaluator's four tables and two views from its own schema files, optional Flex Template job, generatedscripts/00_set_variables.shuse_cases/Synthetic_Data_Generation.mdPipeline
Security guardrails
--disable-public-ips, with--subnetworkonly when Terraform was given one (plusroles/compute.networkUseron it)HF_HUB_OFFLINE=1)apache-beam[gcp]==2.76.0matches theapache/beam_python3.14_sdk:2.76.0base imageAlso in this PR
None.
Changes in the source repository for this release
🚀 Added
dsg/manifest.yamlnow includespackages/sdfb-evaluation(source with the metric catalogue and schemas, its ownpyproject.toml,uv.lockand Python pin, its README and docs, and its tests), so the guide's image carries the evaluator. Not shipped: the one evaluator test that reads the Composer DAGs, and the GUI (gui/,scripts/gui/), which the use-case page links in the source repository. The root side of the evaluator's golden parity test ships with it. Newscripts/06_run_evaluation.sh RUN_ID [GENERATION_JOB_ID]launches the same Flex Template withsdfb_job=evaluationon CPU workers, the way the generation DAG's chained evaluation does (seed_table=order_items, the public FK model,scope=manual,reference_rows_limit=10000,validation_runs_table, the generation job's id,disk_size_gb=200, ane2-standard-8launcher); it finds the job by its namesdfb-RUN_IDand refuses one that is not done. Terraform creates the fourevaluation_*tables insynthetic_data_qualityfrom the evaluator's own schema files, partitioned and clustered assdfb-eval schemasdoes, and the viewsevaluation_latestandevaluation_latest_per_jobfrom itsviews.sql; the Dataflow service account needs no new role (dataflow.developercovers the job-window read;bigquery.tables.deleteSnapshotis not granted, so the source pin degrades to an unpinned read with a warning). The README header, the use-case page, the Terraform README, the index rows and the PR template describe step 6. The sync now also retitles the licence header where a shipped file quotes it (views.sql's--block, the parity fixture that embeds the models' text), and the shipped evaluator modules carry theirdocs/DESIGN.mdline. The guide's row in the DSGREADME.mdindex now matches upstream verbatim (Beta :factory:, the maintainers' status) instead of settingReady. Not yet run on Google Cloud.🔧 Changed
sdfb-<version>-template.json,sdfb-latest-template.json, or anysdfb-*-template.json) and, when none is there, names the build that makes it:docker/flex_template_metadata.jsonon the image ofdocker/Dockerfile.sdfb_job,disk_size_gbor one whose help text starts "Evaluation only"; the evaluator's suite checks every such parameter and everysdfb-eval runflag a launch can supply against its own parser, and its Beam and Python pins againstdocker/Dockerfile.packages/sdfb-evaluation/README.mdis now a short page: what the evaluator is, how the one image and template carry and dispatch it (docker/Dockerfile,docker/flex_entry.py,docker/flex_template_metadata.json), and four ways to use it (on your machine, on Dataflow, from Composer, step 6 of the Dataflow Solution Guides copy), each with one diagram or command. The detail moved, re-checked against the code, intopackages/sdfb-evaluation/docs/:CLI.md(every command and flag as--helpprints it, exit codes, an offline trial),DATAFLOW.md(launch parameters, the read path, the launcher's 12 minutes, the reference panel under the temp location),COMPOSER.md(the chained and the standalone DAG) andRESULTS.md(tables, views, registry, baselines, noise floors, lifts, thresholds). A newpackages/sdfb-evaluation/GUI.mddescribes the self-hosted GUI for evaluations, which stays in the source repository. Statements that were no longer true were dropped: the evaluator-only template and the standalone image, "never parsed by Airflow", and a chain diagram that showedrun_evaluationfalse by default.docs/DESIGN.md§11 says the same.🗑️ Removed
packages/sdfb-evaluation/docker/(the evaluator's standalone CPU image and its entrypoint, which no script built) andpackages/sdfb-evaluation/deploy/(an optional evaluator-only template: its metadata and build script). The evaluator is deployed only through the repository's one image and one template, anddocker/flex_template_metadata.jsonis the one file that declares the template's parameters (ADR 0041, note of 2026-10-15). Nothing deployed changes.📗 Docs
docs/DEPLOYMENT_PREREQUISITES.md(Evaluator, step 13j); the standalone evaluation DAG's header.Testing
Gates run by
scripts/dsg/sync.pyagainst this branch, mirroring.github/workflows/pull_request.yml:Important
Not yet run in Google Cloud for this sync. The gates above are local and CI-equivalent; a live Dataflow run of
scripts/04_run_dataflow.shandscripts/06_run_evaluation.shis pending.How this PR is produced
This PR was generated by
scripts/dsg/sync.pyin the source repository(https://github.com/albertols/synthetic-llm-dataflow-bigquery); the pipeline README names the release and
commit. Review feedback is applied there and published to this pull request
as a new commit, so the two trees stay identical.