[refactor]: move interleave_thinker under fastvideo.workflows (was wheel-leaking top-level apps)
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
"""Application-level integrations built on top of FastVideo."""
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
This directory contains a small Python example for running an application-level
|
||||
InterleaveThinker-style image generation trace on top of FastVideo. The helper
|
||||
code lives under `apps/interleave_thinker` so it stays separate from FastVideo's
|
||||
core generation package.
|
||||
code lives under `fastvideo/workflows/interleave_thinker` and is importable as
|
||||
`fastvideo.workflows.interleave_thinker`.
|
||||
|
||||
## Single-Prompt Trace
|
||||
|
||||
@@ -39,7 +39,7 @@ added later.
|
||||
The app helper can also use closed-source Google image models through lazy
|
||||
wrappers when you instantiate the backend directly:
|
||||
|
||||
- `apps.interleave_thinker.generator.NanoBananaImageGeneratorBackend`
|
||||
- `fastvideo.workflows.interleave_thinker.generator.NanoBananaImageGeneratorBackend`
|
||||
implements the same image backend protocol as the local FastVideo generator.
|
||||
|
||||
Install the optional SDK and provide a key only when using these API backends:
|
||||
|
||||
@@ -18,7 +18,7 @@ from fastvideo.api.schema import (
|
||||
OffloadConfig,
|
||||
PipelineSelection,
|
||||
)
|
||||
from apps.interleave_thinker import (
|
||||
from fastvideo.workflows.interleave_thinker import (
|
||||
AcceptAllCritic,
|
||||
FastVideoImageGeneratorBackend,
|
||||
InterleaveOrchestrator,
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
"""Reusable multi-step generation workflows."""
|
||||
+8
-8
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
"""InterleaveThinker example app helpers."""
|
||||
|
||||
from apps.interleave_thinker.config import (
|
||||
from fastvideo.workflows.interleave_thinker.config import (
|
||||
InterleaveCriticConfig,
|
||||
InterleaveImageBackendConfig,
|
||||
InterleavePlannerConfig,
|
||||
@@ -10,7 +10,7 @@ from apps.interleave_thinker.config import (
|
||||
load_interleave_run_config,
|
||||
resolve_interleave_instruction,
|
||||
)
|
||||
from apps.interleave_thinker.evaluation import (
|
||||
from fastvideo.workflows.interleave_thinker.evaluation import (
|
||||
InterleavePromptItem,
|
||||
InterleavePromptResult,
|
||||
InterleavePromptSetSummary,
|
||||
@@ -20,22 +20,22 @@ from apps.interleave_thinker.evaluation import (
|
||||
run_interleave_prompt_set_config,
|
||||
save_prompt_set_summary,
|
||||
)
|
||||
from apps.interleave_thinker.generator import (
|
||||
from fastvideo.workflows.interleave_thinker.generator import (
|
||||
FastVideoImageGeneratorBackend,
|
||||
ImageGeneratorBackend,
|
||||
)
|
||||
from apps.interleave_thinker.orchestrator import (
|
||||
from fastvideo.workflows.interleave_thinker.orchestrator import (
|
||||
AcceptAllCritic,
|
||||
CriticProvider,
|
||||
InterleaveOrchestrator,
|
||||
PlannerProvider,
|
||||
SinglePromptPlanner,
|
||||
)
|
||||
from apps.interleave_thinker.runner import (
|
||||
from fastvideo.workflows.interleave_thinker.runner import (
|
||||
InterleaveRunResult,
|
||||
run_interleave_config,
|
||||
)
|
||||
from apps.interleave_thinker.schema import (
|
||||
from fastvideo.workflows.interleave_thinker.schema import (
|
||||
CriticDecision,
|
||||
CriticInput,
|
||||
GeneratedImage,
|
||||
@@ -45,11 +45,11 @@ from apps.interleave_thinker.schema import (
|
||||
PlannedInterleaveStep,
|
||||
PlannerInput,
|
||||
)
|
||||
from apps.interleave_thinker.trace import (
|
||||
from fastvideo.workflows.interleave_thinker.trace import (
|
||||
save_trace,
|
||||
trace_to_dict,
|
||||
)
|
||||
from apps.interleave_thinker.trace_eval import (
|
||||
from fastvideo.workflows.interleave_thinker.trace_eval import (
|
||||
InterleaveTraceEvaluationSummary,
|
||||
InterleaveTraceMetrics,
|
||||
discover_interleave_trace_paths,
|
||||
+5
-5
@@ -11,14 +11,14 @@ from dataclasses import dataclass, field
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from apps.interleave_thinker.generator import ImageGeneratorBackend
|
||||
from apps.interleave_thinker.runner import (
|
||||
from fastvideo.workflows.interleave_thinker.generator import ImageGeneratorBackend
|
||||
from fastvideo.workflows.interleave_thinker.runner import (
|
||||
build_critic,
|
||||
build_image_backend,
|
||||
build_planner,
|
||||
)
|
||||
from apps.interleave_thinker.schema import InterleaveTrace
|
||||
from apps.interleave_thinker.trace import save_trace
|
||||
from fastvideo.workflows.interleave_thinker.schema import InterleaveTrace
|
||||
from fastvideo.workflows.interleave_thinker.trace import save_trace
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -208,7 +208,7 @@ def _build_prompt_set_orchestrator(
|
||||
config: Any,
|
||||
image_backend: ImageGeneratorBackend,
|
||||
) -> Any:
|
||||
from apps.interleave_thinker.orchestrator import InterleaveOrchestrator
|
||||
from fastvideo.workflows.interleave_thinker.orchestrator import InterleaveOrchestrator
|
||||
|
||||
return InterleaveOrchestrator(
|
||||
planner=build_planner(config.planner),
|
||||
+1
-1
@@ -19,7 +19,7 @@ from fastvideo.api.compat import (
|
||||
)
|
||||
from fastvideo.api.results import GenerationResult
|
||||
from fastvideo.api.schema import GenerationRequest
|
||||
from apps.interleave_thinker.schema import (
|
||||
from fastvideo.workflows.interleave_thinker.schema import (
|
||||
GeneratedImage,
|
||||
InterleaveEditRequest,
|
||||
)
|
||||
+2
-2
@@ -6,11 +6,11 @@ from __future__ import annotations
|
||||
from collections.abc import Sequence
|
||||
from typing import Any, Protocol
|
||||
|
||||
from apps.interleave_thinker.generator import (
|
||||
from fastvideo.workflows.interleave_thinker.generator import (
|
||||
ImageGeneratorBackend,
|
||||
encode_file_to_base64,
|
||||
)
|
||||
from apps.interleave_thinker.schema import (
|
||||
from fastvideo.workflows.interleave_thinker.schema import (
|
||||
CriticDecision,
|
||||
CriticInput,
|
||||
GeneratedImage,
|
||||
+5
-5
@@ -7,27 +7,27 @@ from collections.abc import Callable
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
from apps.interleave_thinker.config import (
|
||||
from fastvideo.workflows.interleave_thinker.config import (
|
||||
InterleaveCriticConfig,
|
||||
InterleaveImageBackendConfig,
|
||||
InterleavePlannerConfig,
|
||||
InterleaveRunConfig,
|
||||
resolve_interleave_instruction,
|
||||
)
|
||||
from apps.interleave_thinker.generator import (
|
||||
from fastvideo.workflows.interleave_thinker.generator import (
|
||||
FastVideoImageGeneratorBackend,
|
||||
ImageGeneratorBackend,
|
||||
NanoBananaImageGeneratorBackend,
|
||||
)
|
||||
from apps.interleave_thinker.orchestrator import (
|
||||
from fastvideo.workflows.interleave_thinker.orchestrator import (
|
||||
AcceptAllCritic,
|
||||
CriticProvider,
|
||||
InterleaveOrchestrator,
|
||||
PlannerProvider,
|
||||
SinglePromptPlanner,
|
||||
)
|
||||
from apps.interleave_thinker.schema import InterleaveTrace
|
||||
from apps.interleave_thinker.trace import save_trace
|
||||
from fastvideo.workflows.interleave_thinker.schema import InterleaveTrace
|
||||
from fastvideo.workflows.interleave_thinker.trace import save_trace
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -7,7 +7,7 @@ import json
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
from apps.interleave_thinker.schema import (
|
||||
from fastvideo.workflows.interleave_thinker.schema import (
|
||||
CriticDecision,
|
||||
GeneratedImage,
|
||||
InterleaveAttempt,
|
||||
+2
-2
@@ -195,13 +195,13 @@ dreamverse-mock-server = "dreamverse.mock_server:cli"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = [".", "apps/dreamverse"]
|
||||
exclude = ["assets*", "docker*", "docs", "scripts*", "apps.dreamverse*", "dreamverse.tests*"]
|
||||
exclude = ["assets*", "docker*", "docs", "scripts*", "apps*", "dreamverse.tests*"]
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
dreamverse = ["prompts/*.md"]
|
||||
|
||||
[tool.wheel]
|
||||
exclude = ["assets*", "docker*", "docs", "scripts*", "apps/dreamverse*"]
|
||||
exclude = ["assets*", "docker*", "docs", "scripts*", "apps*"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
markers = [
|
||||
|
||||
Reference in New Issue
Block a user