diff --git a/defaults/main.yml b/defaults/main.yml index bba698f..43088a4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -13,3 +13,40 @@ dnd_pipeline_campaigns_root: /usr/local/share/narratio/campaigns dnd_pipeline_prompt_library_repository_url: https://gitea.maximumdirect.net/eric/narratio-prompts.git dnd_pipeline_prompt_library_revision: main dnd_pipeline_prompt_library_root: /usr/local/share/narratio/prompt-library +dnd_pipeline_audita_pipeline_modules: + - glossary + - homophones + - glossary + - spoken_word + - grammar +dnd_pipeline_audita_output_schema: audita-v1 +dnd_pipeline_audita_llm_proposal_base_url: https://inference.ai.rakestrawhome.com/v1 +dnd_pipeline_audita_llm_proposal_model: google/gemma-4-31b-it +dnd_pipeline_audita_llm_proposal_api_key_env: AUDITA_LLM_API_KEY +dnd_pipeline_audita_llm_proposal_timeout: 900s +dnd_pipeline_audita_llm_proposal_max_retries: 3 +dnd_pipeline_audita_llm_validation_base_url: https://inference.ai.rakestrawhome.com/v1 +dnd_pipeline_audita_llm_validation_model: google/gemma-4-31b-it +dnd_pipeline_audita_llm_validation_api_key_env: AUDITA_VALIDATION_LLM_API_KEY +dnd_pipeline_audita_llm_validation_timeout: 900s +dnd_pipeline_audita_llm_validation_max_retries: 3 +dnd_pipeline_audita_concurrency_total_llm: 4 +dnd_pipeline_audita_concurrency_proposal_llm: 4 +dnd_pipeline_audita_concurrency_validation_llm: 4 +dnd_pipeline_audita_chunking_target_sections: 8 +dnd_pipeline_audita_chunking_max_section_tokens: 6144 +dnd_pipeline_audita_chunking_min_section_tokens: 2048 +dnd_pipeline_audita_normalization_max_segment_gap: 3s +dnd_pipeline_audita_normalization_ellipsis_gap: 3s +dnd_pipeline_audita_normalization_max_segment_duration: 240s +dnd_pipeline_audita_normalization_max_segment_tokens: 2048 +dnd_pipeline_audita_thresholds_glossary: 0.8 +dnd_pipeline_audita_thresholds_homophones: 0.8 +dnd_pipeline_audita_thresholds_spoken_word: 0.8 +dnd_pipeline_audita_thresholds_grammar: 0.8 +dnd_pipeline_audita_context_description: >- + The following transcript was recorded during a Dungeons & Dragons game session. + It may contain some unrelated pre-session or post-session banter, in addition + to actual D&D gameplay. +dnd_pipeline_audita_diagnostics_work_dir: /tmp/audita +dnd_pipeline_audita_diagnostics_retention: auto diff --git a/meta/argument_specs.yml b/meta/argument_specs.yml index 48044a7..3cfb768 100644 --- a/meta/argument_specs.yml +++ b/meta/argument_specs.yml @@ -63,3 +63,120 @@ argument_specs: type: path required: true description: Prompt-library checkout root. + dnd_pipeline_audita_pipeline_modules: + type: list + elements: str + required: true + description: Ordered Audita processing modules. + dnd_pipeline_audita_output_schema: + type: str + required: true + description: Audita output schema shared with Narratio. + dnd_pipeline_audita_llm_proposal_base_url: + type: str + required: true + description: Audita proposal LLM endpoint. + dnd_pipeline_audita_llm_proposal_model: + type: str + required: true + description: Audita proposal LLM model. + dnd_pipeline_audita_llm_proposal_api_key_env: + type: str + required: true + description: Proposal LLM API-key environment variable name. + dnd_pipeline_audita_llm_proposal_timeout: + type: str + required: true + description: Proposal LLM timeout. + dnd_pipeline_audita_llm_proposal_max_retries: + type: int + required: true + description: Proposal LLM retry count. + dnd_pipeline_audita_llm_validation_base_url: + type: str + required: true + description: Audita validation LLM endpoint. + dnd_pipeline_audita_llm_validation_model: + type: str + required: true + description: Audita validation LLM model. + dnd_pipeline_audita_llm_validation_api_key_env: + type: str + required: true + description: Validation LLM API-key environment variable name. + dnd_pipeline_audita_llm_validation_timeout: + type: str + required: true + description: Validation LLM timeout. + dnd_pipeline_audita_llm_validation_max_retries: + type: int + required: true + description: Validation LLM retry count. + dnd_pipeline_audita_concurrency_total_llm: + type: int + required: true + description: Total Audita LLM concurrency. + dnd_pipeline_audita_concurrency_proposal_llm: + type: int + required: true + description: Proposal Audita LLM concurrency. + dnd_pipeline_audita_concurrency_validation_llm: + type: int + required: true + description: Validation Audita LLM concurrency. + dnd_pipeline_audita_chunking_target_sections: + type: int + required: true + description: Audita target section count. + dnd_pipeline_audita_chunking_max_section_tokens: + type: int + required: true + description: Audita maximum section tokens. + dnd_pipeline_audita_chunking_min_section_tokens: + type: int + required: true + description: Audita minimum section tokens. + dnd_pipeline_audita_normalization_max_segment_gap: + type: str + required: true + description: Audita maximum segment gap. + dnd_pipeline_audita_normalization_ellipsis_gap: + type: str + required: true + description: Audita ellipsis gap. + dnd_pipeline_audita_normalization_max_segment_duration: + type: str + required: true + description: Audita maximum segment duration. + dnd_pipeline_audita_normalization_max_segment_tokens: + type: int + required: true + description: Audita maximum segment tokens. + dnd_pipeline_audita_thresholds_glossary: + type: float + required: true + description: Audita glossary confidence threshold. + dnd_pipeline_audita_thresholds_homophones: + type: float + required: true + description: Audita homophone confidence threshold. + dnd_pipeline_audita_thresholds_spoken_word: + type: float + required: true + description: Audita spoken-word confidence threshold. + dnd_pipeline_audita_thresholds_grammar: + type: float + required: true + description: Audita grammar confidence threshold. + dnd_pipeline_audita_context_description: + type: str + required: true + description: Audita transcript context description. + dnd_pipeline_audita_diagnostics_work_dir: + type: str + required: true + description: Audita diagnostics work directory. + dnd_pipeline_audita_diagnostics_retention: + type: str + required: true + description: Audita diagnostics retention policy. diff --git a/meta/main.yml b/meta/main.yml index b1df3bc..facbcae 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -29,6 +29,35 @@ dependencies: audita_manage_build_dependencies: "{{ dnd_pipeline_manage_build_dependencies }}" audita_go_snap_channel: "{{ dnd_pipeline_go_snap_channel }}" audita_go_binary: "{{ dnd_pipeline_go_binary }}" + audita_pipeline_modules: "{{ dnd_pipeline_audita_pipeline_modules }}" + audita_output_schema: "{{ dnd_pipeline_audita_output_schema }}" + audita_llm_proposal_base_url: "{{ dnd_pipeline_audita_llm_proposal_base_url }}" + audita_llm_proposal_model: "{{ dnd_pipeline_audita_llm_proposal_model }}" + audita_llm_proposal_api_key_env: "{{ dnd_pipeline_audita_llm_proposal_api_key_env }}" + audita_llm_proposal_timeout: "{{ dnd_pipeline_audita_llm_proposal_timeout }}" + audita_llm_proposal_max_retries: "{{ dnd_pipeline_audita_llm_proposal_max_retries }}" + audita_llm_validation_base_url: "{{ dnd_pipeline_audita_llm_validation_base_url }}" + audita_llm_validation_model: "{{ dnd_pipeline_audita_llm_validation_model }}" + audita_llm_validation_api_key_env: "{{ dnd_pipeline_audita_llm_validation_api_key_env }}" + audita_llm_validation_timeout: "{{ dnd_pipeline_audita_llm_validation_timeout }}" + audita_llm_validation_max_retries: "{{ dnd_pipeline_audita_llm_validation_max_retries }}" + audita_concurrency_total_llm: "{{ dnd_pipeline_audita_concurrency_total_llm }}" + audita_concurrency_proposal_llm: "{{ dnd_pipeline_audita_concurrency_proposal_llm }}" + audita_concurrency_validation_llm: "{{ dnd_pipeline_audita_concurrency_validation_llm }}" + audita_chunking_target_sections: "{{ dnd_pipeline_audita_chunking_target_sections }}" + audita_chunking_max_section_tokens: "{{ dnd_pipeline_audita_chunking_max_section_tokens }}" + audita_chunking_min_section_tokens: "{{ dnd_pipeline_audita_chunking_min_section_tokens }}" + audita_normalization_max_segment_gap: "{{ dnd_pipeline_audita_normalization_max_segment_gap }}" + audita_normalization_ellipsis_gap: "{{ dnd_pipeline_audita_normalization_ellipsis_gap }}" + audita_normalization_max_segment_duration: "{{ dnd_pipeline_audita_normalization_max_segment_duration }}" + audita_normalization_max_segment_tokens: "{{ dnd_pipeline_audita_normalization_max_segment_tokens }}" + audita_thresholds_glossary: "{{ dnd_pipeline_audita_thresholds_glossary }}" + audita_thresholds_homophones: "{{ dnd_pipeline_audita_thresholds_homophones }}" + audita_thresholds_spoken_word: "{{ dnd_pipeline_audita_thresholds_spoken_word }}" + audita_thresholds_grammar: "{{ dnd_pipeline_audita_thresholds_grammar }}" + audita_context_description: "{{ dnd_pipeline_audita_context_description }}" + audita_diagnostics_work_dir: "{{ dnd_pipeline_audita_diagnostics_work_dir }}" + audita_diagnostics_retention: "{{ dnd_pipeline_audita_diagnostics_retention }}" - role: rakestraw.notarius vars: notarius_version: "{{ dnd_pipeline_notarius_version }}"