CMDCRAGArcana.CitationSpan (cmdc_rag_arcana v0.4.0)

Copy Markdown View Source

Citation 的细粒度来源定位。

企业文档通常需要页码、段落、表格和 bbox 级引用。该结构只描述 provenance, 不承载大段原文。

Summary

Functions

从 chunk / metadata 构建 citation span。

把 span 转成可放入 Arcana metadata 的 map。

Types

bbox()

@type bbox() :: %{
  optional(:x) => number(),
  optional(:y) => number(),
  optional(:width) => number(),
  optional(:height) => number(),
  optional(:page) => non_neg_integer()
}

t()

@type t() :: %CMDCRAGArcana.CitationSpan{
  bbox: bbox() | nil,
  char_end: non_neg_integer() | nil,
  char_start: non_neg_integer() | nil,
  metadata: map(),
  page_number: non_neg_integer() | nil,
  paragraph: String.t() | nil,
  section: String.t() | nil,
  source_uri: String.t() | nil,
  table_id: String.t() | nil,
  text: String.t() | nil
}

Functions

from_maps(chunk, metadata)

@spec from_maps(map(), map()) :: t() | nil

从 chunk / metadata 构建 citation span。

to_metadata(span)

@spec to_metadata(t() | nil) :: map()

把 span 转成可放入 Arcana metadata 的 map。