Documentation
¶
Overview ¶
Package extractor 提供文档信息提取功能
本包实现多种提取器: - LLMExtractor: 基于 LLM 的结构化信息提取 - RuleExtractor: 基于规则的提取 - HybridExtractor: 混合提取策略
Index ¶
- type EntityExtractionStep
- type LLMExtractionStep
- type LLMExtractor
- func (e *LLMExtractor) Extract(ctx context.Context, doc *adw.Document, schema *adw.ExtractionSchema) (map[string]any, error)
- func (e *LLMExtractor) ExtractEntities(ctx context.Context, doc *adw.Document) ([]adw.Entity, error)
- func (e *LLMExtractor) ExtractRelations(ctx context.Context, doc *adw.Document, entities []adw.Entity) ([]adw.Relation, error)
- func (e *LLMExtractor) Name() string
- type LLMExtractorOption
- type RelationExtractionStep
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EntityExtractionStep ¶
type EntityExtractionStep struct {
// contains filtered or unexported fields
}
EntityExtractionStep 实体提取步骤
func NewEntityExtractionStep ¶
func NewEntityExtractionStep(provider llm.Provider, opts ...LLMExtractorOption) *EntityExtractionStep
NewEntityExtractionStep 创建实体提取步骤
func (*EntityExtractionStep) CanHandle ¶
func (s *EntityExtractionStep) CanHandle(doc *adw.Document) bool
CanHandle 检查是否能处理
func (*EntityExtractionStep) Description ¶
func (s *EntityExtractionStep) Description() string
Description 返回步骤描述
func (*EntityExtractionStep) Process ¶
func (s *EntityExtractionStep) Process(ctx context.Context, doc *adw.Document, opts adw.ProcessOptions) error
Process 处理文档
type LLMExtractionStep ¶
type LLMExtractionStep struct {
// contains filtered or unexported fields
}
LLMExtractionStep LLM 提取步骤
func NewLLMExtractionStep ¶
func NewLLMExtractionStep(provider llm.Provider, schema *adw.ExtractionSchema, opts ...LLMExtractorOption) *LLMExtractionStep
NewLLMExtractionStep 创建 LLM 提取步骤
func (*LLMExtractionStep) CanHandle ¶
func (s *LLMExtractionStep) CanHandle(doc *adw.Document) bool
CanHandle 检查是否能处理
func (*LLMExtractionStep) Description ¶
func (s *LLMExtractionStep) Description() string
Description 返回步骤描述
func (*LLMExtractionStep) Process ¶
func (s *LLMExtractionStep) Process(ctx context.Context, doc *adw.Document, opts adw.ProcessOptions) error
Process 处理文档
type LLMExtractor ¶
type LLMExtractor struct {
// contains filtered or unexported fields
}
LLMExtractor 基于 LLM 的提取器 使用 LLM 理解文档内容并提取结构化信息
func NewLLMExtractor ¶
func NewLLMExtractor(provider llm.Provider, opts ...LLMExtractorOption) *LLMExtractor
NewLLMExtractor 创建 LLM 提取器
func (*LLMExtractor) Extract ¶
func (e *LLMExtractor) Extract(ctx context.Context, doc *adw.Document, schema *adw.ExtractionSchema) (map[string]any, error)
Extract 提取结构化数据
func (*LLMExtractor) ExtractEntities ¶
func (e *LLMExtractor) ExtractEntities(ctx context.Context, doc *adw.Document) ([]adw.Entity, error)
ExtractEntities 提取实体
type LLMExtractorOption ¶
type LLMExtractorOption func(*LLMExtractor)
LLMExtractorOption LLMExtractor 配置选项
func WithSystemPrompt ¶
func WithSystemPrompt(prompt string) LLMExtractorOption
WithSystemPrompt 设置系统提示词
type RelationExtractionStep ¶
type RelationExtractionStep struct {
// contains filtered or unexported fields
}
RelationExtractionStep 关系提取步骤
func NewRelationExtractionStep ¶
func NewRelationExtractionStep(provider llm.Provider, opts ...LLMExtractorOption) *RelationExtractionStep
NewRelationExtractionStep 创建关系提取步骤
func (*RelationExtractionStep) CanHandle ¶
func (s *RelationExtractionStep) CanHandle(doc *adw.Document) bool
CanHandle 检查是否能处理
func (*RelationExtractionStep) Description ¶
func (s *RelationExtractionStep) Description() string
Description 返回步骤描述
func (*RelationExtractionStep) Process ¶
func (s *RelationExtractionStep) Process(ctx context.Context, doc *adw.Document, opts adw.ProcessOptions) error
Process 处理文档