hub-gif 9fd32a3f84 refactor(pipeline): OpenAI 网关与配料视觉抽离至 openai_gateway
新增 pipeline/openai_gateway:credentials、text_chat、ingredients_op、ingredients_defaults 等;AI_crawler 仅加载 .env 与重导出。CrawlerOpenAiCompatible 与京东详情/流水线改走 import pipeline.openai_gateway,不再依赖 sys.path 注入爬虫目录。llm/providers/shared 转重导 gateway。详情脚本补充 backend 入 path。

Made-with: Cursor
2026-04-27 10:24:50 +08:00

89 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
竞品报告 / 策略稿的**大模型生成**:经 ``pipeline.llm`` → ``openai_gateway.chat_completion_text``OpenAI 兼容),
与配料多模态识别共用 `OPENAI_*` / `LLM_*` 环境配置。
实现已拆分为子模块(``llm_client``、``generate_*``),本模块保留对外符号以兼容
``from pipeline.llm.generate import …`` 与测试中的 patch 路径。
"""
from __future__ import annotations
from .generate_competitor_full import (
REPORT_SYSTEM,
REPORT_USER_PREFIX,
generate_competitor_report_markdown_llm,
)
from .generate_group_summaries import (
COMMENT_GROUPS_SYSTEM,
COMMENT_GROUPS_USER_PREFIX,
MATRIX_GROUPS_SYSTEM,
MATRIX_GROUPS_USER_PREFIX,
PRICE_GROUPS_SYSTEM,
PRICE_GROUPS_USER_PREFIX,
PROMO_GROUPS_SYSTEM,
PROMO_GROUPS_USER_PREFIX,
_join_chunked_group_markdown,
generate_comment_group_summaries_llm,
generate_comment_group_summaries_llm_chunked,
generate_matrix_group_summaries_llm,
generate_matrix_group_summaries_llm_chunked,
generate_price_group_summaries_llm,
generate_price_group_summaries_llm_chunked,
generate_promo_group_summaries_llm,
generate_promo_group_summaries_llm_chunked,
)
from .generate_sections import (
BRIDGE_SECTIONS_SYSTEM,
SENTIMENT_LLM_SYSTEM,
generate_comment_sentiment_analysis_llm,
generate_section_bridges_llm,
split_competitor_report_for_bridges,
)
from .generate_strategy import (
STRATEGY_OPPORTUNITIES_SYSTEM,
STRATEGY_OPPORTUNITIES_USER_PREFIX,
STRATEGY_SYSTEM,
STRATEGY_USER_PREFIX,
generate_strategy_draft_markdown_llm,
generate_strategy_opportunities_llm,
resolve_strategy_draft_llm_input_snapshot,
strategy_decisions_substantive,
)
from .llm_client import call_llm as _call_llm
__all__ = [
"BRIDGE_SECTIONS_SYSTEM",
"COMMENT_GROUPS_SYSTEM",
"COMMENT_GROUPS_USER_PREFIX",
"MATRIX_GROUPS_SYSTEM",
"MATRIX_GROUPS_USER_PREFIX",
"PRICE_GROUPS_SYSTEM",
"PRICE_GROUPS_USER_PREFIX",
"PROMO_GROUPS_SYSTEM",
"PROMO_GROUPS_USER_PREFIX",
"REPORT_SYSTEM",
"REPORT_USER_PREFIX",
"SENTIMENT_LLM_SYSTEM",
"STRATEGY_OPPORTUNITIES_SYSTEM",
"STRATEGY_OPPORTUNITIES_USER_PREFIX",
"STRATEGY_SYSTEM",
"STRATEGY_USER_PREFIX",
"_call_llm",
"_join_chunked_group_markdown",
"generate_comment_group_summaries_llm",
"generate_comment_group_summaries_llm_chunked",
"generate_comment_sentiment_analysis_llm",
"generate_competitor_report_markdown_llm",
"generate_matrix_group_summaries_llm",
"generate_matrix_group_summaries_llm_chunked",
"generate_price_group_summaries_llm",
"generate_price_group_summaries_llm_chunked",
"generate_promo_group_summaries_llm",
"generate_promo_group_summaries_llm_chunked",
"generate_section_bridges_llm",
"generate_strategy_draft_markdown_llm",
"generate_strategy_opportunities_llm",
"resolve_strategy_draft_llm_input_snapshot",
"split_competitor_report_for_bridges",
"strategy_decisions_substantive",
]