文章介绍深度研究智能体(Deep Research Agent)的实现方法,详细阐述了系统架构、研究步骤、技术实现等内容,包括创建报告大纲、拆分任务、网络搜索、数据反思和总结报告等环节。作者提供了完整的代码实现和API配置方法,介绍了如何使用不同提示词引导大模型完成研究步骤,最终生成结构化的Markdown报告。


代码已放在:https://github.com/yanqiangmiffy/Agent-Tutorials-ZH/tree/main/deep_research_agent

什么是深度研究智能体?

简单来说,深度研究智能体(Deep Research Agents)是能够对预设主题进行深入研究的系统。通常,这至少包括以下几个步骤:

  • 规划研究: 这可能涉及创建研究报告的提纲,该提纲最终将成为系统的输出。
  • 拆解任务: 将上述提纲拆分为可管理的步骤。
  • 深入研究: 对报告的各个部分进行深入研究,这意味着需要推理出提供全面分析所需的数据,并利用网络搜索工具来支持分析。
  • 数据反思: 反思研究过程中不同步骤生成的数据,并改进结果。
  • 总结报告: 总结检索到的数据,并撰写最终的研究报告。

系统架构

下图展示了我们将要构建的系统,该系统将执行以下步骤:

  1. 用户提供一个需要研究的查询或主题。
  2. 大模型(LLM)将创建一个最终报告的提纲,并被指示生成的段落数量不超过某个限制。
  3. 每个段落的描述将单独输入到一个研究流程中,以生成一套全面的信息用于报告构建。研究流程的详细描述将在下一节中阐述。
  4. 所有信息将进入总结步骤,构建最终报告,包括结论。
  5. 报告将以 Markdown 形式交付给用户。

深度研究智能体结构示意图

研究步骤

让我们深入探讨上一段中定义的研究步骤:

  1. 一旦我们有了每个段落的提纲,它将被传递给一个大模型(LLM),以构建网络搜索查询,从而尽可能丰富所需信息。
  2. LLM 将输出搜索查询及其背后的推理。
  3. 我们将根据查询执行网络搜索,并检索最相关的结果。
  4. 结果将被传递到反思步骤,LLM 将在此处对任何遗漏的细微之处进行推理,并尝试提出能够丰富初始结果的搜索查询。
  5. 这个过程将重复 n次,以期获得最佳信息集。

研究步骤示意图

实现智能体

在进入实现阶段之前,我们先做一些技术准备。比如准备一些API KEY,我这里是直接使用的Deepseek,大家可以替换下下面的api_keybase_url

pip install openai

本项目我们将使用未蒸馏的 DeepSeek-R1 版本,其参数量为 671B。

import osimport openaiclient = openai.OpenAI(    api_key=os.environ.get("SAMBANOVA_API_KEY"),    base_url="https://preview.snova.ai/v1",)response = client.chat.completions.create(model="DeepSeek-R1",    messages=[{"role":"system","content":"You are a helpful assistant"},\              {"role":"user","content":"Tell me something interesting about human species"}],    temperature=1)print(response.choices[0].message.content)

您应该会看到类似以下内容:

<think>Okay, so I'm trying to ... <REDACTED></think>The human species is distinguished by the remarkable cognitive abilities of the brain, which underpin a array of unique traits. Our brain's advanced structure and function enable complex thought, language, and social organization. These capabilities have driven innovation, art, and the creation of intricate societies, setting humans apart in their ability to adapt, innovate, and create beyond any other species. This cognitive prowess is the cornerstone of human achievement and our profound impact on the world.```答案中将始终包含推理标记。虽然看到思考过程很有趣,但我们的系统只需要答案。这时我们可以创建一个清理函数来删除 `<think>` 标签之间的所有内容。```pythondef remove_reasoning_from_output(output):    return output.split("</think>")[-1].strip()

这个函数简单但实用。

这里可以替换为DeepSeek的api情求方式:

第一部分:定义状态

首先,我们需要定义整个系统的状态,该状态将在智能体(Agent)在环境中运行时不断演进,并被系统的不同部分选择性地使用。

我们将状态与智能体系统的阶段关联起来:

中间状态

  • 阶段 1 将是创建大纲,在此阶段报告结构将被规划,其状态也会随之演进。我们将从一个空状态开始,然后将其演变为类似以下结构(推理在阶段 2 中描述):
{      "report_title": "报告标题",      "paragraphs": [          {              "title": "段落标题",              "content": "段落内容",              "research": <...>          },          {              "title": "段落标题",              "content": "段落内容",              "research": <...>          }      ]}

上述状态可以使用 Python 的 dataclasses 库优雅地实现,如下所示:

@dataclassclass Paragraph:      title: str = ""      content: str = ""      research: Research = field(default_factory=Research)@dataclassclass State:      report_title:str = ""      paragraphs: List[Paragraph] = field(default_factory=list)
  • 阶段 2 是我们将迭代每个段落状态的阶段。我们将更改每个段落的 "research"字段。我们将使用以下结构来表示每个段落的研究状态:
{"search_history": [{"url": "某个 URL", "content": "某个内容"}],"latest_summary": "组合搜索历史的摘要","reflection_iteration": 1}
```![](http://cdn.zhipoai.cn/76d96c12.jpg)
> 研究步骤示意图

`search_history`:我们将所有执行的搜索存储在一个列表中,我们将同时需要 URL 和内容,以便我们可以对搜索结果进行去重,并在稍后形成最终报告时引用这些链接。

`latest_summary`:根据所有搜索结果给出的段落的总结版本。它将用于反思步骤,以确定是否需要更多搜索,并传递给摘要和报告创建的下一步。

`reflection_iteration`:这用于跟踪当前反思迭代的次数,并在达到限制时强制停止。

同样,我们可以通过 `dataclasses` 实现研究状态:

```plaintext
@dataclassclass Search:      url: str = ""      content: str = ""@dataclassclass Research:      search_history: List[Search] = field(default_factory=list)      latest_summary: str = ""      reflection_iteration: int = 0
第二部分:创建报告大纲

不同模型版本在生成答案时的一致性会有所不同。我在 DeepSeek-R1 上进行了大量实验,以下提示词似乎能持续生成格式良好的输出:

output_schema_report_structure = {        "type": "array",        "items": {            "type": "object",            "properties": {                "title": {"type": "string"},"content": {"type": "string"}            }        }    }SYSTEM_PROMPT_REPORT_STRUCTURE = f"""你是一个深度研究助手。给定一个查询,你需要为报告计划一个结构,包括要包含的段落。确保段落的顺序合乎逻辑。一旦创建了大纲,你将获得工具来分别搜索网络并对每个部分进行反思。使用以下 JSON 模式定义来格式化输出:<OUTPUT JSON SCHEMA>{json.dumps(output_schema_report_structure, indent=2)}</OUTPUT JSON SCHEMA>“title”和“content”属性将用于更深层次的研究。确保输出是一个 JSON对象,并符合上面定义的输出 JSON 模式。只返回 JSON 对象,不需要任何解释或额外文本。"""

注意这个提示语可以根据不同的模型效果进行调整

段落结构的状态

让我们使用上述系统提示词运行一些示例查询:

response = client.chat.completions.create(    model="DeepSeek-R1",    messages=[{"role":"system","content":SYSTEM_PROMPT_REPORT_STRUCTURE},\              {"role":"user","content":"告诉我一些关于人类物种的有趣事情"}],    temperature=1)print(response.choices[0].message.content)

您将得到类似以下内容:

```json[{    "title": "人类适应性简介",    "content": "人类拥有独特的适应能力,这对于他们在各种环境中生存和占据主导地位至关重要。本简介将为探索人类适应性的各个方面奠定基础。"},...<REDACTED>...{    "title": "结论:适应性在人类生存中的作用",    "content": "适应性一直是人类生存和进化的基石,使我们能够面对挑战并探索新领域,为未来的潜力提供了深刻见解。"}]

输出周围的这些 JSON 标签并无帮助,因为我们需要将输出转换为 Python 字典。一个非常简单的函数可以删除输出的第一行和最后一行:

def clean_json_tags(text):    return text.replace("```json\n", "").replace("\n```", "")

这是经过正确清理的输出:

json.loads(clean_json_tags(remove_reasoning_from_output(response.choices[0].message.content)))

我们现在可以直接将上述内容作为输入到我们的全局状态中。

STATE = State()report_structure = json.loads(clean_json_tags(remove_reasoning_from_output(response.choices[0].message.content)))for paragraph in report_structure:    STATE.paragraphs.append(Paragraph(title=paragraph["title"], content=paragraph["content"]))
第三部分:Web 搜索工具

我们将使用 Tavily 执行网络搜索。我们可以在此处获取您的 Token,每个月可以免费1000次搜索,对于实验demo足够了

该工具非常简单:

def tavily_search(query, include_raw_content=True, max_results=5):    tavily_client = TavilyClient(api_key=os.getenv("TAVILY_API_KEY"))    return tavily_client.search(query,                                include_raw_content=include_raw_content,                                max_results=max_results)

每次函数调用将返回最多 max_results 条网络搜索结果,每条搜索结果将返回:

  • 搜索结果的标题。
  • 搜索结果的 URL。
  • 内容的摘要。
  • 如果可能,返回页面的完整内容。我们希望获得完整内容以获得最佳结果。

一旦我们从 Web 搜索工具中获取结果,我们可以直接将其添加到全局状态中,无需调用任何 LLM,但我们需要确保我们正在更新段落列表中的适当元素。

基本上,考虑到我们定义的结构:

{    "report_title": "报告标题",    "paragraphs": [        {            "title": "段落标题",            "content": "段落内容",            "research": <...>        },        {            "title": "段落标题",            "content": "段落内容",            "research": <...>        }    ]}

并且考虑到我们正在研究第 i 个段落,我们需要更新 STATE.paragraphs[i].research 字段。

回顾研究字段的结构:

"search_history": [{"url": "某个 URL", "content": "某个内容"}],"latest_summary": "组合搜索历史的摘要","reflection_iteration": 1}

下面是一个方便的函数,它将根据 Tavily 搜索结果、段落索引和状态对象正确更新状态。

def update_state_with_search_results(search_results, idx_paragraph, state):    for search_result in search_results["results"]:        search = Search(url=search_result["url"], content=search_result["raw_content"])        state.paragraphs[idx_paragraph].research.search_history.append(search)    return state

我们将追加到搜索历史中。latest_summaryreflection_iteration 字段需要 LLM 的一些处理,将在第五部分:反思中讨论。

第四部分:规划搜索

为了规划第一次搜索,我发现以下提示词能持续产生良好的结果:

input_schema_first_search = {            "type":"object",            "properties": {                "title": {"type": "string"},                "content": {"type": "string"}            }        }output_schema_first_search = {"type": "object",            "properties": {                "search_query": {"type": "string"},                "reasoning": {"type": "string"}            }        }SYSTEM_PROMPT_FIRST_SEARCH = f"""你是一个深度研究助手。你将获得一份报告中的一个段落,其标题和预期的内容,遵循以下 JSON 模式定义:<INPUT JSON SCHEMA>{json.dumps(input_schema_first_search, indent=2)}</INPUT JSON SCHEMA>你可以使用一个网络搜索工具,它接受“search_query”作为参数。你的任务是反思这个主题,并提供最优的网络搜索查询来丰富你当前的知识。使用以下 JSON 模式定义来格式化输出:<OUTPUT JSON SCHEMA>{json.dumps(output_schema_first_search, indent=2)}</OUTPUT JSON SCHEMA>确保输出是一个 JSON 对象,并符合上面定义的输出 JSON 模式。只返回 JSON 对象,不需要任何解释或额外文本。"""

我们在输出模式中请求推理,只是为了强制模型对查询进行更多思考。虽然这对于推理模型来说可能有些大材小用,但对于普通 LLM 来说可能是一个好主意。尽管我们正在为此使用 DeepSeek R1,但我们不一定需要。推理模型在深度研究智能体的第一步(需要规划报告结构)中特别有用。

鉴于我们现在已经规划好了一系列包含内容和描述的段落,我们可以将第三部分的输出直接输入到提示词中,其形式如下:

response = client.chat.completions.create(    model="DeepSeek-R1",    messages=[{"role":"system","content":SYSTEM_PROMPT_FIRST_SEARCH},{"role":"user","content":json.dumps(STATE.paragraphs[0])}],    temperature=1)print(response.choices[0].message.content)

STATE.paragraphs[0] 指向第一个段落的状态,其中 research 字段仍然为空。

我为我的第一个搜索计划得到了以下内容:

{"search_query": "智人特征 基本生物学特征 认知能力 行为特征"}

我可以直接将查询输入到我的搜索工具中:

tavily_search("智人特征 基本生物学特征 认知能力 行为特征")
第五部分:第一次总结

第一次总结与即将到来的反思步骤不同,因为还没有可供反思的内容,而这一步将产生反思的起点。以下提示词效果相对较好:

input_schema_first_summary = {            "type": "object",            "properties": {                "title": {"type": "string"},                "content": {"type": "string"},                "search_query": {"type": "string"},                "search_results": {                    "type": "array",                    "items": {"type": "string"}                }            }        }output_schema_first_summary= {            "type": "object",            "properties": {                "paragraph_latest_state": {"type": "string"}            }        }SYSTEM_PROMPT_FIRST_SUMMARY = f"""你是一个深度研究助手。你将获得一个搜索查询、搜索结果以及你正在研究的报告段落,遵循以下 JSON 模式定义:<INPUT JSON SCHEMA>{json.dumps(input_schema_first_summary, indent=2)}</INPUT JSON SCHEMA>你的任务是作为一名研究员撰写该段落,使用搜索结果来与段落主题保持一致,并将其适当地组织以包含在报告中。使用以下 JSON 模式定义来格式化输出:<OUTPUT JSON SCHEMA>{json.dumps(output_schema_first_summary, indent=2)}</OUTPUT JSON SCHEMA>确保输出是一个 JSON 对象,并符合上面定义的输出 JSON 模式。只返回 JSON 对象,不需要任何解释或额外文本。"""

我们现在需要以以下格式向 LLM 提供数据:

{    "title": "标题","content": "内容",    "search_query": "搜索查询",    "search_results": []}

我们可以从已有的数据构建 JSON。

根据以下搜索结果:

search_results = tavily_search("智人特征 基本生物学特征 认知能力 行为特征")

JSON 将如下所示:

input = {    "title": "人类适应性简介","content": "人类拥有独特的适应能力,这对于他们在各种环境中生存和占据主导地位至关重要。本简介将为探索人类适应性的各个方面奠定基础。",    "search_query": "智人特征 基本生物学特征 认知能力 行为特征",    "search_results": [result["raw_content"][0:20000] for result in search_results["results"] if result["raw_content"]]}

然后我们可以运行:

response = client.chat.completions.create(    model="DeepSeek-R1",    messages=[{"role":"system","content": SYSTEM_PROMPT_FIRST_SUMMARY},\              {"role":"user","content":json.dumps(input)}],    temperature=1)print(remove_reasoning_from_output(response.choices[0].message.content))

您将得到类似以下内容:

{  "paragraph_latest_state": "智人,即现代人类所属的物种,代表了地球生命进化史中独特而迷人的一章。作为智人属中唯一现存的物种,智人以其生物学、认知和行为特征的结合而区别于其他灵长类动物和已灭绝的人类近亲。我们的生物学特征包括一个庞大且结构先进的大脑,其新皮层与我们的进化祖先相比显著扩张。这种解剖学发展使得卓越的认知能力成为可能,例如复杂的解决问题、抽象思维以及语言和符号交流的能力。在行为方面,智人展现出复杂的社会结构、文化习俗和技术创新,这些在塑造我们适应各种环境和作为一个物种繁荣的能力方面至关重要。这些特征共同强调了定义人类状况的生物学和行为之间复杂的相互作用。"}

这正是我们将用于更新 STATE.paragraphs[0].research.latest_summary 字段的内容。在第六部分中,我们也将反思段落摘要的不断更新的最新状态。

第六部分:反思

我们现在拥有报告段落内容的最新状态,并将利用它来改进内容,通过提示我们的 LLM 反思文本,并寻找它在起草该段落时可能遗漏的任何角度。

以下提示词做得非常出色:

input_schema_reflection = {            "type": "object",            "properties": {                "title": {"type": "string"},                "content": {"type": "string"},                "paragraph_latest_state": {"type": "string"}            }        }output_schema_reflection = {            "type": "object",            "properties": {                "search_query": {"type": "string"},                "reasoning": {"type": "string"}            }        }SYSTEM_PROMPT_REFLECTION = f"""你是一名深度研究助手。你负责为研究报告构建全面的段落。你将获得段落标题和计划内容摘要,以及你已经创建的段落的最新状态,所有这些都遵循以下 JSON 模式定义:<INPUT JSON SCHEMA>{json.dumps(input_schema_reflection, indent=2)}</INPUT JSON SCHEMA>你可以使用一个网络搜索工具,它接受“search_query”作为参数。你的任务是反思当前段落文本的状态,思考你是否遗漏了主题的某些关键方面,并提供最优的网络搜索查询来丰富最新状态。使用以下 JSON 模式定义来格式化输出:<OUTPUT JSON SCHEMA>{json.dumps(output_schema_reflection, indent=2)}</OUTPUT JSON SCHEMA>确保输出是一个 JSON 对象,并符合上面定义的输出 JSON 模式。只返回 JSON 对象,不需要任何解释或额外文本。"""

对于我们当前正在实现的运行,输入将如下所示:

input = {"paragraph_latest_state": "智人,即现代人类所属的物种,代表了地球生命进化史中独特而迷人的一章。作为智人属中唯一现存的物种,智人以其生物学、认知和行为特征的结合而区别于其他灵长类动物和已灭绝的人类近亲。我们的生物学特征包括一个庞大且结构先进的大脑,其新皮层与我们的进化祖先相比显著扩张。这种解剖学发展使得卓越的认知能力成为可能,例如复杂的解决问题、抽象思维以及语言和符号交流的能力。在行为方面,智人展现出复杂的社会结构、文化习俗和技术创新,这在塑造我们适应各种环境和作为一个物种繁荣的能力方面至关重要。这些特征共同强调了定义人类状况的生物学和行为之间复杂的相互作用。",            "title": "引言",            "content": "人类物种,智人,是地球上最独特和迷人的物种之一。本节将介绍人类的基本特征,并为探索该物种的有趣方面奠定基础。"}

像之前一样,我们运行以下代码:

response = client.chat.completions.create(    model="DeepSeek-R1",    messages=[{"role":"system","content": SYSTEM_PROMPT_REFLECTION},\              {"role":"user","content":json.dumps(input)}],    temperature=1)print(remove_reasoning_from_output(response.choices[0].message.content))

输出如下:

{  "search_query": "关于智人进化的最新研究、与其他人类物种的互动以及促成其成功的因素",  "reasoning": "当前段落很好地概述了智人的特征,但缺乏进化史以及与其他物种互动方面的深度。纳入这些主题的最新研究将增强段落的全面性并提供最新信息。"}

现在我们运行查询,将新结果附加到段落状态,并将新结果与最新的段落状态结合起来。

第七部分:通过反思搜索结果丰富最新段落状态

在运行反思步骤的搜索查询后:

search_results = tavily_search("关于智人进化的最新研究、与其他人类物种的互动以及促成其成功的因素")

我们可以通过以下方式更新段落的搜索状态:

update_state_with_search_results(search_results, idx_paragraph, state)

现在我们将步骤 6. 和 7. 循环执行指定次数的反思步骤。

第八部分:总结并生成报告

我们对在第二部分中规划的每个段落重复执行第四部分到第七部分的步骤。一旦所有段落的最终状态都准备好,我们就可以将所有内容整合起来。我们将使用一个大模型(LLM)来完成这项工作,并生成一个格式精美的 Markdown 文档。以下是提示词:

input_schema_report_formatting = {            "type": "array",            "items": {                "type": "object",                "properties": {"title": {"type": "string"},                    "paragraph_latest_state": {"type": "string"}            }        }    }SYSTEM_PROMPT_REPORT_FORMATTING = f"""你是一名深度研究助手。你已经完成了研究,并构建了报告中所有段落的最终版本。你将以以下 JSON 格式获取数据:<INPUT JSON SCHEMA>{json.dumps(input_schema_report_formatting, indent=2)}</INPUT JSON SCHEMA>你的任务是精美地格式化报告,并以 Markdown 格式返回。如果报告中没有“结论”段落,请根据其他段落的最新状态将其添加到报告末尾。"""

运行:

report_data = [{"title": paragraph.title, "paragraph_latest_state": paragraph.research.latest_summary} for paragraphin STATE.paragraphs]response = client.chat.completions.create(    model="DeepSeek-R1",    messages=[{"role":"system","content": SYSTEM_PROMPT_REPORT_FORMATTING},\              {"role":"user","content":json.dumps(report_data)}],    temperature=1)print(remove_reasoning_from_output(response.choices[0].message.content))

就这样,我们就获得了一份关于所提供主题的深度研究报告。

结论

此外,还有许多细微之处需要考虑,可以使系统更加稳定:

  • 让系统持续生成格式良好的 JSON 输出并不容易,因为推理模型在结构化输出方面并非总能表现最佳。
  • 考虑到上述情况,在系统拓扑中为不同任务使用不同模型可能更有意义,我们主要在第一步(需要规划报告结构)中真正需要推理模型。
  • 在如何搜索网络以及如何对检索到的结果进行排序方面,还有许多可以改进的地方。
  • 反思步骤的次数可以配置为动态,由 LLM 判断是否需要更多反思。
  • 我们可以返回在网络搜索中使用的链接,并在报告中为每个段落提供参考文献。
  • ……

运行DeepResearch

为了更好看到Deepresearch执行的状态,我用大模型帮我写了一个streamlit应用,功能很简单就是输入研究主题,然后生成研究报告:因为之前开源的代码是英文的,我加了一个语言检测的小逻辑,用来判断是否使用中文提示语以及生成结果为中文。

修改之后的代码在这:https://github.com/yanqiangmiffy/Agent-Tutorials-ZH/blob/main/deep_research_agent/app.py

下面给大家分享一个执行的案例,

  • 生成报告结构:第一步生成报告的大纲目录以及每个部分的研究计划
  • 搜索与反思:第二步围绕每个章节搜索内容以及生成相关总结

  • 生成研究报告:基于上面研究结果生成最后报告内容

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型实战项目&项目源码👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
在这里插入图片描述

为什么分享这些资料?

只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐