网站制作和网页制作区别广西网站建设证件查询
2026/4/6 2:01:45 网站建设 项目流程
网站制作和网页制作区别,广西网站建设证件查询,学做甜品的网站,专做皮具的网站前言 AI 智能体#xff08;AI Agent#xff09;与传统大型语言模型#xff08;LLM#xff09;的核心区别是什么#xff1f;答案在于与外部世界交互的能力#xff0c;而实现这一能力的关键就是工具调用#xff08;或称函数调用#xff09;。 如果说 LLM 是一个强大的“大…前言AI 智能体AI Agent与传统大型语言模型LLM的核心区别是什么答案在于与外部世界交互的能力而实现这一能力的关键就是工具调用或称函数调用。如果说 LLM 是一个强大的“大脑”负责思考和生成内容那么 Agent 就是为这个大脑装上了“感官”和“四肢”。它通过调用工具来感知环境、获取信息并执行具体任务来影响外部世界。Agent 背后的核心逻辑非常简单可以用一个循环[1]来描述接收指令、思考、调用工具、观察结果然后重复此过程直至任务完成。# Agent 核心循环的极简实现 defagent_loop(llm, user_prompt): message user_prompt whileTrue: # 1. 大脑思考并决定是否需要使用工具 output, tool_calls llm(message) print(Agent: , output) # 2. 如果需要则使用工具四肢与外界交互 if tool_calls: # 3. 将工具返回的结果感官作为新的信息输入大脑 message [handle_tool_call(tc) for tc in tool_calls] else: # 4. 如果不需要工具则与用户继续交互 message user_input()就像我们在中学课堂就学过的一个知识人与动物的最大区别是人会使用工具。这个类比同样适用于 Agent 和 LLM。正是“工具调用”tool_calls的能力让 Agent 超越了单纯的大语言模型能够与外部世界交互。无论是查询天气、预订机票还是控制智能家居Agent 都将其转化为对外部工具API 或函数的调用。因此可以说工具/函数调用是 Agent 能力的基石。为了具体展示“工具/函数调用”这一基石是如何工作的下面分享一篇相关文章。该文章通过以构建一个购物助手 agent 为例深入探讨了大型语言模型LLM通过“函数调用”技术与外部世界交互的核心机制并讨论了相关的实现细节、安全风险以及未来的架构模式。• 原文链接Function calling using LLMs[2]• 作者Kiran Prakash• 日期: 2025-05-06构建与外部世界交互的 AI 智能体大型语言模型LLM的核心应用之一是赋予程序即智能体理解用户意图、进行推理并据此采取相应行动的能力。函数调用Function Calling是一项关键能力它使大型语言模型能够超越简单的文本生成进而与外部工具和现实世界应用进行交互。通过函数调用LLM 能够分析自然语言输入识别用户的操作意图并生成包含函数名称和调用所需参数的结构化输出。需要强调的是LLM 自身并不执行函数。相反它仅负责识别合适的函数收集所有必需参数并以结构化的 JSON 格式提供这些信息。实际执行则由外部系统完成。随后这个 JSON 输出可以轻松地反序列化为 Python或任何其他编程语言中的函数调用并在程序的运行时环境中执行。图1LLM将自然语言请求转化为结构化函数调用的过程示意图为了直观地展示这一过程我们将构建一个“购物智能体”它能帮助用户发现和购买时尚产品。如果用户意图不明确智能体将主动请求澄清以更好地理解其需求。例如如果用户说“我想找一件衬衫”或“告诉我关于那件蓝色跑步衫的细节”购物智能体将调用相应的 API无论是通过关键词搜索产品还是检索特定产品详情来满足请求。典型智能体的基础框架让我们为构建这个智能体编写一个基础框架。所有代码示例均使用 Python。classShoppingAgent: defrun(self, user_message: str, conversation_history: List[dict]) - str: ifself.is_intent_malicious(user_message): returnSorry! I cannot process this request. action self.decide_next_action(user_message, conversation_history) return action.execute() defdecide_next_action(self, user_message: str, conversation_history: List[dict]): pass defis_intent_malicious(self, message: str) - bool: pass根据用户的输入和对话历史购物智能体从预设行动集中进行选择执行该行动并将结果返回给用户。然后它将持续对话直到用户目标达成。现在让我们看看智能体可以采取的可能行动classSearch(): keywords: List[str] defexecute(self) - str: # 使用SearchClient根据关键词获取搜索结果 pass classGetProductDetails(): product_id: str defexecute(self) - str: # 使用SearchClient根据产品ID获取特定产品详情 pass classClarify(): question: str defexecute(self) - str: pass单元测试在实现完整代码之前我们先编写一些单元测试来验证这些功能。这将有助于确保在完善智能体逻辑的过程中其行为符合预期。deftest_next_action_is_search(): agent ShoppingAgent() action agent.decide_next_action(I am looking for a laptop., []) assertisinstance(action, Search) assertlaptopin action.keywords deftest_next_action_is_product_details(search_results): agent ShoppingAgent() conversation_history [ {role: assistant, content: fFound: Nike dry fit T Shirt (ID: p1)} ] action agent.decide_next_action(Can you tell me more about the shirt?, conversation_history) assertisinstance(action, GetProductDetails) assert action.product_id p1 deftest_next_action_is_clarify(): agent ShoppingAgent() action agent.decide_next_action(Something something, []) assertisinstance(action, Clarify)现在让我们使用 OpenAI 的 API 和 GPT 模型来实现decide_next_action函数。该函数将接收用户输入和对话历史将其发送给模型并提取行动类型以及任何必要的参数。defdecide_next_action(self, user_message: str, conversation_history: List[dict]): response self.client.chat.completions.create( modelgpt-4-turbo-preview, messages[ {role: system, content: SYSTEM_PROMPT}, *conversation_history, {role: user, content: user_message} ], tools[ {type: function, function: SEARCH_SCHEMA}, {type: function, function: PRODUCT_DETAILS_SCHEMA}, {type: function, function: CLARIFY_SCHEMA} ] ) tool_call response.choices[0].message.tool_calls[0] function_args eval(tool_call.function.arguments) # 注意在生产环境中应避免直接使用 eval存在安全风险。 if tool_call.function.name search_products: return Search(**function_args) elif tool_call.function.name get_product_details: return GetProductDetails(**function_args) elif tool_call.function.name clarify_request: return Clarify(**function_args)在这里我们调用了 OpenAI 的聊天补全 API并提供了一个系统提示词指示 LLM在本例中是gpt-4-turbo-preview根据用户的消息和对话历史识别适当的行动并提取必要的参数。LLM 将输出一个结构化的 JSON 响应该响应随后用于实例化相应的行动类。这个行动类将通过调用必要的 API例如search和get_product_details来执行其行动。系统提示词现在让我们仔细看看系统提示词SYSTEM_PROMPT You are a shopping assistant. Use these functions: 1. search_products: When user wants to find products (e.g., show me shirts) 2. get_product_details: When user asks about a specific product ID (e.g., tell me about product p1) 3. clarify_request: When users request is unclear通过系统提示词我们为 LLM 提供了任务所需的上下文。我们将其角色定义为“购物助手”指定了预期的“输出格式”函数并包含了“约束和特殊指令”例如当用户请求不明确时要求澄清。这只是提示词的一个基本版本足以满足我们的示例需求。然而在实际应用中您可能需要探索更复杂的引导 LLM 的方式。例如“单示例提示One-shot prompting”通过一个示例将用户消息与相应行动配对或“多示例提示Few-shot prompting”通过多个示例覆盖不同场景等技术可以显著提高模型响应的准确性和可靠性。聊天补全 API 调用的这一部分定义了 LLM 可以调用的可用函数并指定了它们的结构和目的tools[ {type: function, function: SEARCH_SCHEMA}, {type: function, function: PRODUCT_DETAILS_SCHEMA}, {type: function, function: CLARIFY_SCHEMA} ]每个条目都代表 LLM 可以调用的一个函数根据 OpenAI API 规范详细说明了其预期参数和用法。现在让我们仔细看看这些函数 Schema模式SEARCH_SCHEMA { name: search_products, description: Search for products using keywords, parameters: { type: object, properties: { keywords: { type: array, items: {type: string}, description: Keywords to search for } }, required: [keywords] } } PRODUCT_DETAILS_SCHEMA { name: get_product_details, description: Get detailed information about a specific product, parameters: { type: object, properties: { product_id: { type: string, description: Product ID to get details for } }, required: [product_id] } } CLARIFY_SCHEMA { name: clarify_request, description: Ask user for clarification when request is unclear, parameters: { type: object, properties: { question: { type: string, description: Question to ask user for clarification } }, required: [question] } }通过这些定义我们指定了 LLM 可以调用的每个函数及其参数——例如“搜索”函数的keywords和get_product_details函数的product_id。我们还明确了哪些参数是强制性的以确保函数正确执行。此外description字段提供了额外上下文帮助 LLM 理解函数目的尤其当函数名称本身不够直观时。所有关键组件都已就位现在让我们完整实现ShoppingAgent类的run函数。此函数将处理端到端流程——接收用户输入使用 OpenAI 的函数调用能力决定下一步行动执行相应的 API 调用并将响应返回给用户。以下是智能体的完整实现classShoppingAgent: def__init__(self): self.client OpenAI() defrun(self, user_message: str, conversation_history: List[dict] None) - str: ifself.is_intent_malicious(user_message): returnSorry! I cannot process this request. try: action self.decide_next_action(user_message, conversation_history or []) return action.execute() except Exception as e: returnfSorry, I encountered an error: {str(e)} defdecide_next_action(self, user_message: str, conversation_history: List[dict]): response self.client.chat.completions.create( modelgpt-4-turbo-preview, messages[ {role: system, content: SYSTEM_PROMPT}, *conversation_history, {role: user, content: user_message} ], tools[ {type: function, function: SEARCH_SCHEMA}, {type: function, function: PRODUCT_DETAILS_SCHEMA}, {type: function, function: CLARIFY_SCHEMA} ] ) tool_call response.choices[0].message.tool_calls[0] function_args eval(tool_call.function.arguments) # 注意在生产环境中应避免直接使用 eval存在安全风险。 if tool_call.function.name search_products: return Search(**function_args) elif tool_call.function.name get_product_details: return GetProductDetails(**function_args) elif tool_call.function.name clarify_request: return Clarify(**function_args) defis_intent_malicious(self, message: str) - bool: pass限制智能体的行动空间使用明确的条件逻辑来限制智能体的行动空间至关重要如上述代码块所示。虽然使用eval动态调用函数可能看起来很方便但它带来了严重的安全风险包括可能导致未经授权的代码执行的提示词注入攻击。为了保护系统免受潜在攻击务必严格控制智能体可调用的函数。防范提示词注入的防护措施在构建一个面向用户、通过自然语言交流并借助函数调用执行后台操作的智能体时预测恶意行为至关重要。用户可能会故意尝试绕过安全防护诱骗智能体执行非预期操作——这类似于 SQL 注入但通过语言形式实现。一种常见的攻击途径是诱导智能体泄露其系统提示词从而使攻击者掌握智能体的指令方式。有了这些信息他们可能会操控智能体执行诸如未经授权的退款或泄露敏感客户数据等操作。虽然限制智能体的行动空间是一个坚实的初步措施但仅凭这一点还不足够。为了加强保护对用户输入进行清理以检测并预防恶意意图至关重要。这可以通过结合以下方法来实现•传统技术如正则表达式和输入拒绝列表denylisting用于过滤已知的恶意模式。•基于 LLM 的验证即通过另一个模型来筛选输入检查是否存在操纵、注入尝试或提示利用的迹象。以下是一个基于拒绝列表的简单防护机制实现用于标记潜在的恶意输入defis_intent_malicious(self, message: str) - bool: suspicious_patterns [ ignore previous instructions, ignore above instructions, disregard previous, forget above, system prompt, new role, act as, ignore all previous commands ] message_lower message.lower() returnany(pattern in message_lower for pattern in suspicious_patterns)这是一个基本示例但可以通过正则表达式匹配、上下文检查或与基于 LLM 的过滤器集成来扩展以实现更细致的检测。构建强大的提示词注入防护措施对于在实际场景中维护智能体的安全性和完整性至关重要。行动类行动类Action classes是 LLM 决策与实际系统操作之间的关键桥梁。它们将 LLM 根据对话对用户请求的解释转化为具体的行动通过调用您的微服务或其他内部系统中的相应 API 来执行。classSearch: def__init__(self, keywords: List[str]): self.keywords keywords self.client SearchClient() defexecute(self) - str: results self.client.search(self.keywords) ifnot results: returnNo products found products [f{p[name]} (ID: {p[id]})for p in results] returnfFound: {, .join(products)} classGetProductDetails: def__init__(self, product_id: str): self.product_id product_id self.client SearchClient() defexecute(self) - str: product self.client.get_product_details(self.product_id) ifnot product: returnfProduct {self.product_id} not found returnf{product[name]}: price: ${product[price]} - {product[description]} classClarify: def__init__(self, question: str): self.question question defexecute(self) - str: returnself.question在具体实现中对话历史记录存储在用户界面的会话状态中并在每次调用时传递给run函数。这使得购物智能体能够保留先前交互的上下文从而在整个对话过程中做出更明智的决策。例如如果用户请求特定产品的详细信息LLM 可以从最近显示搜索结果的消息中提取product_id从而确保无缝且上下文感知的体验。以下是此简单购物智能体实现中典型对话流程的示例图2与购物智能体的对话重构以减少样板代码实现中大量冗余的样板代码来自为 LLM 定义详细的函数规范。您可能会认为这是重复的因为相同的信息已经存在于行动类的具体实现中。幸运的是像instructor[3]这样的库有助于减少这种重复它提供了能够自动将 Pydantic 对象序列化为符合 OpenAI Schema 的 JSON 格式的函数。这减少了重复最大限度地减少了样板代码并提高了可维护性。让我们探讨如何使用 instructor 来简化此实现。关键的改变是将行动类定义为 Pydantic 对象如下所示from typing importList, Union from pydantic import BaseModel, Field from instructor import OpenAISchema from neo.clients import SearchClient classBaseAction(BaseModel): defexecute(self) - str: pass classSearch(BaseAction): keywords: List[str] defexecute(self) - str: results SearchClient().search(self.keywords) ifnot results: returnSorry I couldnt find any products for your search. products [f{p[name]} (ID: {p[id]})for p in results] returnfHere are the products I found: {, .join(products)} classGetProductDetails(BaseAction): product_id: str defexecute(self) - str: product SearchClient().get_product_details(self.product_id) ifnot product: returnfProduct {self.product_id} not found returnf{product[name]}: price: ${product[price]} - {product[description]} classClarify(BaseAction): question: str defexecute(self) - str: returnself.question classNextActionResponse(OpenAISchema): next_action: Union[Search, GetProductDetails, Clarify] Field( descriptionThe next action for agent to take.)智能体实现更新为使用NextActionResponse其中next_action字段是Search、GetProductDetails或Clarify行动类的一个实例。instructor库提供的from_response方法可自动将 LLM 返回的 JSON 格式响应反序列化为NextActionResponse对象从而简化了响应处理流程进一步减少了样板代码。classShoppingAgent: def__init__(self): self.client OpenAI(api_keyos.getenv(OPENAI_API_KEY)) defrun(self, user_message: str, conversation_history: List[dict] None) - str: ifself.is_intent_malicious(user_message): returnSorry! I cannot process this request. try: action self.decide_next_action(user_message, conversation_history or []) return action.execute() except Exception as e: returnfSorry, I encountered an error: {str(e)} defdecide_next_action(self, user_message: str, conversation_history: List[dict]): response self.client.chat.completions.create( modelgpt-4-turbo-preview, messages[ {role: system, content: SYSTEM_PROMPT}, *conversation_history, {role: user, content: user_message} ], tools[{ type: function, function: NextActionResponse.openai_schema }], tool_choice{type: function, function: {name: NextActionResponse.openai_schema[name]}}, ) return NextActionResponse.from_response(response).next_action defis_intent_malicious(self, message: str) - bool: suspicious_patterns [ ignore previous instructions, ignore above instructions, disregard previous, forget above, system prompt, new role, act as, ignore all previous commands ] message_lower message.lower() returnany(pattern in message_lower for pattern in suspicious_patterns)这种模式能否取代传统的规则引擎尽管规则引擎在企业软件架构中长期占据重要地位但实际应用中却往往难以兑现最初的承诺。Martin Fowler 在 15 多年前对它们的观察至今仍然适用规则引擎的核心卖点通常是它将允许业务人员自行指定规则这样他们就可以在不涉及程序员的情况下构建规则。正如经常发生的那样这听起来可能合理但在实践中很少奏效。规则引擎的核心问题在于其随时间增长的复杂性。随着规则数量的增加规则之间发生非预期交互的风险也随之增加导致组合爆炸问题和测试覆盖困难。虽然单独定义规则——通常通过拖放工具——可能看起来简单且易于管理但当规则在实际场景中协同执行时问题便会浮现。规则交互的组合爆炸使得这些系统越来越难以测试、预测和维护。基于 LLM 的系统提供了一种引人注目的替代方案。虽然它们在决策方面尚未提供完全的透明性或确定性但它们能够以传统静态规则集无法实现的方式推理用户意图和上下文。您不再需要僵化的规则链而是获得由语言理解驱动的、上下文感知且自适应的行为。对于业务人员和领域专家而言通过自然语言表达业务规则相比使用最终生成难以理解代码的规则引擎可能更直观易用。一个可行的前进路径可能是将 LLM 驱动的推理与执行关键决策的明确人工门控相结合——在灵活性、控制和安全性之间取得平衡。函数调用Function Calling与工具调用Tool Calling尽管这些术语常被互换使用但“工具调用Tool Calling”是一个更通用、更现代的术语。它指的是 LLM 与外部世界交互的更广泛的能力集合。例如除了调用自定义函数外LLM 还可能提供内置工具如代码解释器用于执行代码和检索机制用于访问上传文件或连接数据库中的数据。函数调用与模型上下文协议Model Context Protocol, MCP的关系模型上下文协议Model Context Protocol, MCP是由 Anthropic 提出的一项开放协议正日益成为构建基于 LLM 应用与外部世界交互的标准化方式。越来越多的软件即服务提供商正通过该协议向 LLM 智能体开放其服务。MCP 定义了一个客户端-服务器架构包含三个主要组件图3高层架构 - 使用MCP的购物智能体•MCP 服务器MCP Server一个暴露数据源和各种工具即函数的服务器这些工具可以通过 HTTP 调用。•MCP 客户端MCP Client一个管理应用程序与 MCP 服务器之间通信的客户端。•MCP 宿主MCP Host基于 LLM 的应用程序例如我们的“购物智能体”它使用 MCP 服务器提供的数据和工具来完成任务满足用户的购物请求。MCP 宿主通过 MCP 客户端访问这些功能。MCP 解决的核心问题是实现系统的灵活扩展和动态工具调用能力。在我们的“购物智能体”示例中您可能会注意到可用工具集被硬编码为智能体可以调用的三个函数search_products、get_product_details和clarify。这在一定程度上限制了智能体适应或扩展新请求类型的能力但也因此更容易防范恶意使用。通过 MCP智能体可以在运行时查询 MCP 服务器以发现哪些工具可用。然后根据用户的查询它可以动态选择并调用适当的工具。这种架构设计将 LLM 应用逻辑与具体工具实现分离实现了模块间的松耦合、可扩展性和动态能力扩展——这对于复杂或不断发展的智能体系统尤为宝贵。尽管 MCP 增加了额外的复杂性但在某些应用或智能体中这种复杂性是合理的。例如基于 LLM 的集成开发环境IDE或代码生成工具需要动态获取它们可以交互的最新 API。理论上您可以设想一个能够访问广泛工具的通用智能体它能够处理各种用户请求——这与我们仅限于购物相关任务的示例不同。为了解决硬编码工具集的限制我们可以采用更灵活的 MCP 架构。让我们看看一个简单的 MCP 服务器对于我们的购物应用可能是什么样子。请注意GET /tools端点——它返回服务器提供的所有函数或工具的列表。TOOL_REGISTRY { search_products: SEARCH_SCHEMA, get_product_details: PRODUCT_DETAILS_SCHEMA, clarify: CLARIFY_SCHEMA } app.route(/tools, methods[GET]) defget_tools(): return jsonify(list(TOOL_REGISTRY.values())) app.route(/invoke/search_products, methods[POST]) defsearch_products(): data request.json keywords data.get(keywords) # 调用SearchClient搜索商品 search_results SearchClient().search(keywords) return jsonify({response: fHere are the products I found: {, .join(search_results)}}) app.route(/invoke/get_product_details, methods[POST]) defget_product_details(): data request.json product_id data.get(product_id) # 调用SearchClient获取产品详情 product_details SearchClient().get_product_details(product_id) return jsonify({response: f{product_details[name]}: price: ${product_details[price]} - {product_details[description]}}) app.route(/invoke/clarify, methods[POST]) defclarify(): data request.json question data.get(question) return jsonify({response: question}) if __name__ __main__: app.run(port8000)这是相应的 MCP 客户端它处理 MCP 宿主ShoppingAgent与服务器之间的通信classMCPClient: def__init__(self, base_url): self.base_url base_url.rstrip(/) defget_tools(self): response requests.get(f{self.base_url}/tools) response.raise_for_status() return response.json() definvoke(self, tool_name, arguments): url f{self.base_url}/invoke/{tool_name} response requests.post(url, jsonarguments) response.raise_for_status() return response.json()现在让我们重构我们的ShoppingAgent即 MCP 宿主使其首先从 MCP 服务器检索可用工具列表然后使用 MCP 客户端调用相应的函数。classShoppingAgent: def__init__(self): self.client OpenAI(api_keyos.getenv(OPENAI_API_KEY)) self.mcp_client MCPClient(os.getenv(MCP_SERVER_URL)) self.tool_schemas self.mcp_client.get_tools() defrun(self, user_message: str, conversation_history: List[dict] None) - str: ifself.is_intent_malicious(user_message): returnSorry! I cannot process this request. try: tool_call self.decide_next_action(user_message, conversation_history or []) result self.mcp_client.invoke(tool_call[name], tool_call[arguments]) returnstr(result[response]) except Exception as e: returnfSorry, I encountered an error: {str(e)} defdecide_next_action(self, user_message: str, conversation_history: List[dict]): response self.client.chat.completions.create( modelgpt-4-turbo-preview, messages[ {role: system, content: SYSTEM_PROMPT}, *conversation_history, {role: user, content: user_message} ], tools[{type: function, function: tool} for tool inself.tool_schemas], tool_choiceauto ) tool_call response.choices[0].message.tool_call return { name: tool_call.function.name, arguments: tool_call.function.arguments.model_dump() } # This method was previously defined outside the class in the provided text. # It must be inside the class for self.is_intent_malicious to work. defis_intent_malicious(self, message: str) - bool: pass结论函数调用作为 LLM 的一项重要能力为构建新型智能应用和复杂智能体系统提供了可能。然而它也带来了新的风险——特别是当用户输入最终可能触发敏感函数或 API 时。通过周密的防护措施设计和适当的安全保障许多这些风险可以得到有效缓解。明智的做法是首先将函数调用应用于低风险操作并随着安全机制的成熟逐步扩展到更关键的领域。普通人如何抓住AI大模型的风口领取方式在文末为什么要学习大模型目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 大模型作为其中的重要组成部分 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 为各行各业带来了革命性的改变和机遇 。目前开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景其中应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过30%。随着AI大模型技术的迅速发展相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业人工智能大潮已来不加入就可能被淘汰。如果你是技术人尤其是互联网从业者现在就开始学习AI大模型技术真的是给你的人生一个重要建议最后只要你真心想学习AI大模型技术这份精心整理的学习资料我愿意无偿分享给你但是想学技术去乱搞的人别来找我在当前这个人工智能高速发展的时代AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料能够帮助更多有志于AI领域的朋友入门并深入学习。真诚无偿分享vx扫描下方二维码即可加上后会一个个给大家发大模型全套学习资料展示自我们与MoPaaS魔泊云合作以来我们不断打磨课程体系与技术内容在细节上精益求精同时在技术层面也新增了许多前沿且实用的内容力求为大家带来更系统、更实战、更落地的大模型学习体验。希望这份系统、实用的大模型学习路径能够帮助你从零入门进阶到实战真正掌握AI时代的核心技能01教学内容从零到精通完整闭环【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块内容比传统教材更贴近企业实战大量真实项目案例带你亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌02适学人群应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。vx扫描下方二维码即可本教程比较珍贵仅限大家自行学习不要传播更严禁商用03入门到进阶学习路线图大模型学习路线图整体分为5个大的阶段04视频和书籍PDF合集从0到掌握主流大模型技术视频教程涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向新手必备的大模型学习PDF书单来了全是硬核知识帮你少走弯路不吹牛真有用05行业报告白皮书合集收集70报告与白皮书了解行业最新动态0690份面试题/经验AI大模型岗位面试经验总结谁学技术不是为了赚$呢找个好的岗位很重要07 deepseek部署包技巧大全由于篇幅有限只展示部分资料并且还在持续更新中…真诚无偿分享vx扫描下方二维码即可加上后会一个个给大家发

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询