Tandem langchain open búsqueda profunda palabras clave

Para encadenar el proceso de ejecución del proyecto y traducir las instrucciones de las palabras clave, tenemos que basar nuestro proyecto en el archivoprompts.pypara describir detalladamente el flujo de ejecución de cada paso y sus correspondientes instrucciones de palabras clave.

Proceso de ejecución del proyecto e instrucciones correspondientes

1. Generar consultas de búsqueda para ayudar a planificar los informes

  • Pregunte a:
    report_planner_query_writer_instructions = """
    你是一名专家技术写手,正在帮助计划一份报告。
    <报告主题>
    {topic}
    </报告主题>
    <报告组织>
    {report_organization}
    </报告组织>
    <任务>
    你的目标是生成 {number_of_queries} 个搜索查询,以帮助收集全面的信息来规划报告部分。
    这些查询应当:
    1. 与报告主题相关
    2. 帮助满足报告组织中规定的要求
    使查询足够具体,以找到高质量、相关的资源,同时覆盖报告结构所需的广度。
    </任务>
    """
    

2. Plan de generación de informes

  • Pregunte a:
    report_planner_instructions = """
    我需要一个报告计划。
    <任务>
    生成一个报告部分的列表。
    每个部分应当包含以下字段:
    - 名称 - 报告部分的名称。
    - 描述 - 本部分涵盖的主要主题的简要概述。
    - 研究 - 是否需要为本部分报告进行网络研究。
    - 内容 - 本部分的内容,现在可以留空。
    例如,介绍和结论将不需要研究,因为它们将从报告的其他部分提炼信息。
    </任务>
    <主题>
    报告的主题是:
    {topic}
    </主题>
    <报告组织>
    报告应遵循此组织:
    {report_organization}
    </报告组织>
    <上下文>
    以下是用于规划报告部分的上下文:
    {context}
    </上下文>
    <反馈>
    以下是对报告结构的审查反馈(如果有):
    {feedback}
    </反馈>
    """
    

3. Preparación de las consultas de búsqueda

  • Pregunte a:
    query_writer_instructions = """
    你是一名专家技术写手,正在编写有针对性的网络搜索查询,以收集撰写技术报告部分的全面信息。
    <部分主题>
    {section_topic}
    </部分主题>
    <任务>
    你的目标是生成 {number_of_queries} 个搜索查询,以帮助收集有关本部分主题的全面信息。
    这些查询应当:
    1. 与主题相关
    2. 检查该主题的不同方面
    使查询足够具体,以找到高质量、相关的资源。
    </任务>
    """
    

4. Componente de redacción de informes

  • Pregunte a:
    section_writer_instructions = """
    你是一名专家技术写手,正在撰写技术报告的一个部分。
    <部分主题>
    {section_topic}
    </部分主题>
    <现有部分内容(如果已填写)>
    {section_content}
    </现有部分内容>
    <源材料>
    {context}
    </源材料>
    <撰写指南>
    1. 如果现有部分内容未填写,则从头撰写新的部分。
    2. 如果现有部分内容已填写,请撰写一个新的部分,将现有内容与新信息综合起来。
    <长度和风格>
    - 严格限制在150-200字
    - 不使用营销语言
    - 技术重点
    - 使用简单、清晰的语言
    - 用**加粗**的最重要的见解开头
    - 使用简短的段落(每段最多2-3句话)
    - 使用 ## 作为部分标题(Markdown格式)
    - 仅在有助于澄清观点时使用一个结构元素:
    * 要么是比较2-3个关键项目的集中表格(使用Markdown表格语法)
    * 要么是使用正确的Markdown列表语法的简短列表(3-5项):
    - 使用 `*` 或 `-` 表示无序列表
    - 使用 `1.` 表示有序列表
    - 确保正确的缩进和间距
    - 以参考以下源材料的###来源结束:
    * 列出每个来源的标题、日期和URL
    * 格式:`- 标题 : URL`
    </长度和风格>
    <质量检查>
    - 恰好150-200字(不包括标题和来源)
    - 仔细使用一个结构元素(表格或列表),仅在有助于澄清观点时
    - 一个具体的例子/案例研究
    - 以加粗见解开头
    - 在创建部分内容之前不作任何序言
    - 在结尾引用来源
    </质量检查>
    """
    

5. Evaluación del componente de información

  • Pregunte a:
    section_grader_instructions = """
    审核相对于指定主题的报告部分:
    <部分主题>
    {section_topic}
    </部分主题>
    <部分内容>
    {section}
    </部分内容>
    <任务>
    评估该部分是否通过检查技术准确性和深度,充分涵盖了主题。
    如果该部分未满足任何标准,请生成具体的后续搜索查询以收集缺失的信息。
    </任务>
    <格式>
    grade: Literal["pass","fail"] = Field(
    description="评估结果,指示响应是否符合要求('通过')或需要修订('失败')。"
    )
    follow_up_queries: List[SearchQuery] = Field(
    description="后续搜索查询列表。",
    )
    </格式>
    """
    

6. Redacción del informe final

  • Pregunte a:
    final_section_writer_instructions = """
    你是一名专家技术写手,正在撰写综合报告其他部分信息的部分。
    <部分主题>
    {section_topic}
    </部分主题>
    <可用报告内容>
    {context}
    </可用报告内容>
    <任务>
    1. 部分特定方法:
    对于介绍:
    - 使用 # 作为报告标题(Markdown格式)
    - 50-100字限制
    - 使用简单和清晰的语言
    - 重点介绍报告的核心动机,1-2段
    - 使用清晰的叙述弧线介绍报告
    - 不使用任何结构元素(无列表或表格)
    - 不需要来源部分
    对于结论/总结:
    - 使用 ## 作为部分标题(Markdown格式)
    - 100-150字限制
    - 对于比较报告:
    * 必须包含使用Markdown表格语法的集中比较表
    * 表格应提炼报告中的见解
    * 保持表格条目清晰简洁
    - 对于非比较报告:
    * 仅在有助于提炼报告中的要点时使用一个结构元素:
    * 要么是比较报告中项目的集中表格(使用Markdown表格语法)
    * 要么是使用正确的Markdown列表语法的简短列表:
    - 使用 `*` 或 `-` 表示无序列表
    - 使用 `1.` 表示有序列表
    - 确保正确的缩进和间距
    - 以具体的下一步或影响结束
    - 不需要来源部分
    3. 撰写方法:
    - 使用具体细节而非一般陈述
    - 每个字都要有意义
    - 重点突出最重要的一点
    </任务>
    <质量检查>
    - 对于介绍:50-100字限制,# 作为报告标题,无结构元素,无来源部分
    - 对于结论:100-150字限制,## 作为部分标题,仅使用一个结构元素,无来源部分
    - Markdown格式
    - 不在响应中包含字数或任何序言
    </质量检查>
    """
    

 

Proceso de ejecución en tándem

串联 langchain 开放的的深度搜索提示词

 

1. Inicialización (Start)
  • importación Temas proporcionados por los usuarios, como "Visión general del mercado del razonamiento de IA con especial atención a Fireworks, Together.ai, Groq".
  • desarrollo de los acontecimientos El sistema inicializa el estado y almacena el tema como parte del estado sin llamadas al modelo AI.
  • exportaciones : Contiene el estado del tema para su uso en pasos posteriores.
2. Planificación
  • importación : Contiene el estado del tema.
  • desarrollo de los acontecimientos Generar un plan de investigación utilizando un modelo de planificación como el predeterminado OpenAI o3-mini o deepseek-r1-distill-llama-70b de Groq. La palabra clave es: "Dado un tema [tema], cree un plan de investigación, desglosado en subtemas, que siga la estructura del informe: introducción, sección del cuerpo principal y conclusión."
  • exportaciones Estado actualizado para incluir los programas de investigación (lista de subtemas), por ejemplo: "1. Definición del mercado de la inferencia de IA; 2. Papel de los fuegos artificiales; 3. El mercado de la inferencia de IA". JuntosA case study of .ai", entre otros.
  • Fuente de las palabras clave La estructura consiste en una introducción, una sección del cuerpo principal y una conclusión, con la sección del cuerpo principal que debe cubrir conceptos clave, definiciones y ejemplos.
3. Generación de consultas
  • importación Contiene la situación del programa de investigación.
  • desarrollo de los acontecimientos Utilice el modelo de IA para generar una consulta de búsqueda para cada subtema con la siguiente frase: "Para cada subtema de [plan de investigación], genere [número_de_consultas] consultas de búsqueda para encontrar información relevante". El número_de_consultas por defecto es 2.
  • exportaciones Estado actualizado para incluir la lista de consultas de búsqueda como "AI Reasoning Market Definition 2023", "Fireworks AI Service Cases", etc.
  • Fuente de las palabras clave : En la documentación del proyecto se menciona que se puede configurar el número de consultas, suponiendo que la palabra de consulta sea una forma genérica de la consulta generada.
4. Búsqueda en Internet
  • importación : Contiene el estado de la consulta de búsqueda.
  • desarrollo de los acontecimientos Ejecutar cada consulta utilizando una API de búsqueda (por ejemplo, Tavily por defecto) para obtener resultados de búsqueda en la web. Sin llamadas al modelo de IA, ejecutadas directamente a través de la herramienta.
  • exportaciones : El estado se actualiza para incluir los resultados de la búsqueda (URL o listas de fragmentos), como un resumen de las páginas devueltas por Tavily.
  • Ficha técnica Dependencia de tavily-python >= 0.5.0, necesita configurar TAVILY_API_KEY.
5. Tratamiento de datos
  • importación : Contiene el estado de los resultados de la búsqueda.
  • desarrollo de los acontecimientos : Utilice el modelo de IA para resumir los resultados de búsqueda de cada subtema con la palabra clave: "Resumir la información de los resultados de búsqueda de cada subtema".
  • exportaciones : Estado actualizado para incluir datos de procesamiento (resumen), por ejemplo, "Definición del mercado de la inferencia de IA: se refiere a la industria que utiliza modelos de IA para la previsión en tiempo real y está creciendo rápidamente en 2023."
  • Fuente de las palabras clave Supuestos de indicaciones genéricas para tareas de resumen, basados en los objetivos del proyecto para generar informes.
6. Redacción de informes
  • importación : Contiene el estado de los datos procesados.
  • desarrollo de los acontecimientos : Utiliza un modelo de escritura (por ejemplo, antrópico por defecto). Claude 3.5 Sonnet) Escribe una sección de informe basada en datos procesados con las palabras de aviso: "Utiliza datos procesados para escribir una sección de informe para cada subtema, siguiendo la estructura del informe."
  • exportaciones : Estado actualizado para incluir una sección del informe, por ejemplo, "Introducción: el mercado del razonamiento de IA es un área importante para la adopción de IA; Sección 1 del cuerpo principal: Fireworks proporciona servicios de razonamiento eficientes, con casos que incluyen implantaciones en la nube."
  • Fuente de las palabras clave : Junto con DEFAULT_REPORT_STRUCTURE, el informe debe incluir una descripción general, conceptos clave y ejemplos.
7. Reflexión
  • importación : Contiene el estado de la sección del informe.
  • desarrollo de los acontecimientos Utiliza el modelo de IA para revisar el informe y determinar si se necesita más investigación, con las siguientes palabras: "Revisa la sección del informe e identifica las lagunas o áreas en las que se necesita más investigación. Si se necesita más investigación, sugiera nuevos subtemas o consultas".
  • exportaciones Estado actualizado para incluir la decisión de iteración (por ejemplo, se necesita más investigación) o el informe final. Si se necesita iteración, salida de nuevos subtemas o sugerencias de consulta.
  • Fuente de las palabras clave : Menciona en la documentación del proyecto que se apoya la reflexión y la iteración, asumiendo que la palabra clave es una forma genérica de revisión y recomendación.
8. Salida
  • importación : Contiene el estado del informe final (cuando Reflection decide que el informe está completo).
  • desarrollo de los acontecimientos Compilar todas las secciones del informe para generar el informe final en formato Markdown sin llamadas al modelo AI.
  • exportaciones Informe final, por ejemplo, documento Markdown completo para que los usuarios lo descarguen o consulten.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...