# `Nous.KnowledgeBase.Workflows`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/knowledge_base/workflows.ex#L1)

Pre-built workflow DAG pipelines for knowledge base operations.

Provides ready-made workflows for:
- **Ingest pipeline** — raw documents → compiled wiki entries
- **Incremental update** — detect changes and recompile affected entries
- **Health check** — audit the knowledge base for issues
- **Output generation** — produce reports, summaries, or slides

# `build_health_check_pipeline`

```elixir
@spec build_health_check_pipeline(keyword()) :: Nous.Workflow.Graph.t()
```

Builds a health check pipeline.

## Required input data

    %{kb_config: %{store: ..., store_state: ..., kb_id: ...}}

# `build_incremental_pipeline`

```elixir
@spec build_incremental_pipeline(keyword()) :: Nous.Workflow.Graph.t()
```

Builds an incremental update pipeline.

Detects changed documents and recompiles only affected entries.

## Required input data

    %{
      documents: [%{title: "...", content: "..."}],
      kb_config: %{store: ..., store_state: ..., kb_id: ...}
    }

# `build_ingest_pipeline`

```elixir
@spec build_ingest_pipeline(keyword()) :: Nous.Workflow.Graph.t()
```

Builds an ingest pipeline workflow.

Nodes: ingest_docs → extract_concepts → compile_entries → generate_links → embed_entries → persist

## Required input data

    %{
      documents: [%{title: "...", content: "...", doc_type: :markdown}],
      kb_config: %{store: ..., store_state: ..., kb_id: ...}
    }

## Options

  * `:compiler_model` - Model string for LLM steps (default: "openai:gpt-4o-mini")
  * `:embedding` - Embedding provider module
  * `:embedding_opts` - Embedding options

# `build_output_pipeline`

```elixir
@spec build_output_pipeline(keyword()) :: Nous.Workflow.Graph.t()
```

Builds an output generation pipeline.

## Required input data

    %{
      topic: "...",
      output_type: :report | :summary | :slides,
      kb_config: %{store: ..., store_state: ..., kb_id: ...}
    }

---

*Consult [api-reference.md](api-reference.md) for complete listing*
