- 新增 configs/llm_models.yaml: 4 个场景(event_extraction/daily_report/stock_report/embedding)
可独立配置 provider/model/api_key_env/base_url_env/temperature 等,含用途与模型要求说明
- 新增 configs/loader.py: YAML 场景加载器(优先级: CLI 参数 > YAML > .env > 内置默认)
- llm/client.py: load_llm_config 支持 scene 参数,LLMConfig 增加 max_attempts
- embedding/factory+remote+local: provider/model/batch_limit 支持场景覆盖
- scheduler/reporter+stock_reporter: 日报/个股摘要接入场景配置
- dedup: Fingerprint.source_ids 多源记录 + 旧库自动迁移 + DedupResult 多源字段
- scripts/run_dedup: uniques JSON 的 sources 字段 + data/deduped/{day}/sources.json 汇总
- scripts/run_event_extraction: 接入 event_extraction 场景
- 补充测试: 场景优先级/零值、多源合并、旧库迁移、embedding 场景覆盖
65 lines
1.4 KiB
Python
65 lines
1.4 KiB
Python
"""LLM 投资事件抽取模块 (M4)。
|
|
|
|
公共 API:
|
|
- load_llm_config / make_sync_client / make_async_client
|
|
- extract_event / extract_event_async
|
|
- PromptTemplate / parse_event_json
|
|
- EventExtraction / ExtractedEvent / Sentiment / EVENT_TYPES / LLMCallError
|
|
"""
|
|
|
|
from .client import (
|
|
DEFAULT_MAX_ATTEMPTS,
|
|
DEFAULT_TEMPERATURE,
|
|
DEFAULT_TIMEOUT_SEC,
|
|
SCENE_DAILY_REPORT,
|
|
SCENE_EVENT_EXTRACTION,
|
|
SCENE_STOCK_REPORT,
|
|
LLMConfig,
|
|
load_llm_config,
|
|
make_async_client,
|
|
make_sync_client,
|
|
)
|
|
from .extractor import (
|
|
DEFAULT_PROMPT_PATH,
|
|
MAX_CONTENT_CHARS,
|
|
PromptTemplate,
|
|
extract_event,
|
|
extract_event_async,
|
|
parse_event_json,
|
|
)
|
|
from .models import (
|
|
EVENT_TYPES,
|
|
MAX_IMPORTANCE,
|
|
MIN_IMPORTANCE,
|
|
EventExtraction,
|
|
ExtractedEvent,
|
|
LLMCallError,
|
|
Sentiment,
|
|
)
|
|
|
|
__all__ = [
|
|
"DEFAULT_MAX_ATTEMPTS",
|
|
"DEFAULT_PROMPT_PATH",
|
|
"DEFAULT_TEMPERATURE",
|
|
"DEFAULT_TIMEOUT_SEC",
|
|
"EVENT_TYPES",
|
|
"MAX_CONTENT_CHARS",
|
|
"MAX_IMPORTANCE",
|
|
"MIN_IMPORTANCE",
|
|
"SCENE_DAILY_REPORT",
|
|
"SCENE_EVENT_EXTRACTION",
|
|
"SCENE_STOCK_REPORT",
|
|
"EventExtraction",
|
|
"ExtractedEvent",
|
|
"LLMCallError",
|
|
"LLMConfig",
|
|
"PromptTemplate",
|
|
"Sentiment",
|
|
"extract_event",
|
|
"extract_event_async",
|
|
"load_llm_config",
|
|
"make_async_client",
|
|
"make_sync_client",
|
|
"parse_event_json",
|
|
]
|