1. 什么是Agent
大型语言模型(LLMs)能够实现复杂的顺序工作流程和任务自动化。例如,可以利用 LLMs 构建助手,使其能够在市场应用中代表用户自主订购在线产品并安排配送。这些基于 LLM 的助手被称为Agent。Agent是由 LLM 驱动的助手,被分配特定任务并配备相应工具来完成这些任务。从基本形式来看,一个典型的AI Agent可能具备存储和管理用户交互的内存、与外部数据源通信的能力,以及使用功能来执行任务的能力。智能体可以完成的常见任务包括:
-
餐厅预订:例如,餐厅系统中的应用内AI Agent可以帮助用户进行在线预订、比较不同餐厅,并通过实时语音交互呼叫用户偏好的餐厅。
-
资深同事:Agent可以作为副驾驶,在特定项目上与用户协作。
-
自动化操作:Agent有助于执行需要多个甚至数百个步骤的任务,例如日常使用计算机。例如,Replit Agent(实验项目)(https://docs.replit.com/replitai/agent)通过执行与开发者在集成开发环境(IDE)中相同的操作,为构建项目提供了便捷方式。这个Agent可以像开发者一样安装项目依赖项和编辑代码。Anthropic 的 “计算机使用”(公开测试版)(https://www.anthropic.com/news/3-5-models-and-computer-use)Agent可以指示 Claude 以与人类使用计算机相同的方式在计算机上执行任务。“计算机使用” Agent可以查看计算机屏幕并进行导航,移动鼠标光标、点击按钮和输入文本。
从头开始构建这些Agent助手需要大量的团队努力和其他考虑因素,例如管理用户与Agent的聊天历史、与其他系统的集成等。以下部分将探讨用于构建Agent并将其添加到应用程序中的五个顶级平台。本文将探讨这些框架的关键特性和优势,并展示使用其中一些框架构建Agent的代码示例。
2. 为什么使用Multi-Agent框架
从零开始构建AI Agent有多种方式。Agent可以使用 Python 或 React 及其他技术栈构建。然而,像 Phidata(https://www.phidata.com/)、OpenAI Swarm(https://github.com/openai/swarm)、LangGraph(https://www.langchain.com/langgraph)、Microsoft Autogen(https://www.microsoft.com/en-us/research/project/autogen/)、CrewAI(https://www.crewai.com/)、Vertex AI(https://cloud.google.com/vertex-ai) 和 Langflow(https://www.langflow.org/) 这样的Agent框架具有巨大优势。这些框架预先打包了工具和特性,可帮助快速构建任何人工智能助手。
-
选择合适的LLM:使用来自 OpenAI(https://openai.com/)、Anthropic(https://www.anthropic.com/)、xAI(https://x.ai/)、Mistral(https://mistral.ai/) 的大语言模型以及 Ollama(https://ollama.com/) 或 LM Studio(https://lmstudio.ai/) 等工具,作为构建Agent的首选模型。
-
添加知识库:这些框架允许将特定文档(如 json、pdf 或网站)添加为知识库。
-
内置内存:此功能无需实施系统来记住和跟踪聊天记录和个性化对话,无论它们有多长。它允许您浏览以前的较长时间的提示。
-
添加自定义工具:这些Multi-Agent框架允许为Agent赋予自定义工具,并将其与外部系统无缝集成,以执行在线支付、搜索网络、进行 API 调用、运行数据库查询、观看视频、发送电子邮件等操作。
-
消除工程挑战:这些框架有助于简化构建人工智能产品时复杂的工程任务,如知识和内存管理。
-
更快的开发和交付:它们提供了构建人工智能系统并将其部署在亚马逊网络服务(AWS)等云服务上的工具和基础设施。
3. Agent的基本结构
以下代码片段展示了最简单的AI Agent。Agent使用语言模型来解决问题。Agent的定义可能包括要使用的大语言模型(大或小)、内存、存储、外部知识源、向量数据库、指令、描述、名称等。
agent = Agent(` `model=OpenAI(id="o1-mini"),` `memory=AgentMemory(),` `storage=AgentStorage(),` `knowledge=AgentKnowledge(` `vector_db=PgVector(search_type=hybrid)` `),` `tools=[Websearch(), Reasoning(), Marketplace()],` `description="You are a useful marketplace AI agent",``)
例如,像 Windsurf (https://codeium.com/windsurf)这样的前沿Agent可以帮助任何人在几分钟内提示、运行、编辑、构建和部署全栈 Web 应用程序。它支持使用多种 Web 技术和数据库(如 Astro、Vite、Next.js、Superbase 等)进行代码生成和应用程序构建。
4. Multi-Agent在企业中的应用案例
Agent在企业环境中有无数的应用领域,从执行自动化到重复性任务。以下概述了智能体在企业领域中发挥作用的关键领域:
-
通话和其他分析:分析参与者的视频通话,以深入了解人们的情绪、意图和满意度水平。Multi-Agent在分析和报告用户意图、人口统计信息和交互方面表现出色。它们的分析 / 报告能力有助于企业针对所需客户进行定位或营销。
-
通话分类:根据参与者的网络带宽和强度自动对通话进行分类,以便高效处理。
-
市场监测:在市场应用的各个渠道中监控和分析客户情绪。
-
民意调查和评论分析:利用客户反馈和民意调查获取见解并改善客户体验。
-
差旅和费用管理:自动化费用报告、跟踪和审批流程。
-
对话式银行:使客户能够通过人工智能驱动的聊天或由智能体提供支持的语音助手执行银行任务。(https://getstream.io/blog/conversational-banking/)
-
通用人工智能支持聊天机器人:支持智能体可以解决客户投诉、修复问题,并将复杂任务委托给其他智能体。(https://getstream.io/blog/ai-chat-nextjs/)
-
金融领域:金融智能体可用于预测经济、股票和市场趋势,并提供切实可行的投资建议。(https://getstream.io/blog/fintech-chatbots-conversational-banking/)
-
市场营销:行业营销团队可以使用人工智能智能体为不同目标受众创建个性化内容和活动副本,从而提高转化率。
-
销售领域:智能体可以帮助分析系统中的客户交互模式,使企业销售团队能够专注于转化潜在客户。
-
技术领域:在技术行业中,人工智能编码智能体协助开发者和工程师高效工作,通过更快的代码完成和生成、自动化、测试和错误修复来提高工作效率。
5. AI Agent的局限性
尽管存在多种构建Agent的框架,但只有有限的基于智能体的应用程序和系统(如 Cursor 和 Windsurf)用于人工智能辅助编码的生产环境。以下局限性解释了为何这些应用程序在生产中的数量较少:
-
质量问题:这些智能体在各种场景中可能无法提供高质量的结果。
-
构建成本:开发、维护和扩展用于生产环境的人工智能智能体可能成本高昂。训练需要计算成本和人工智能专家。
-
高延迟:人工智能智能体处理用户提示并提供响应所需的时间可能会影响实时服务(如实时客户交互、订购和问题报告)中的用户体验。
-
安全问题:将这些智能体投入生产对于企业用例可能存在伦理和安全方面的担忧。
6. 构建Multi-Agent的 Top 5 框架
有多种 Python 框架可用于创建智能体并将其添加到应用程序和服务中。这些框架包括无代码(可视化人工智能智能体构建器)、低代码和中代码工具。本节介绍五个领先的基于 Python 的智能体构建框架。
6.1 Phidata
Phidata(https://www.phidata.com/) 是一个基于 Python 的框架,用于将大语言模型转换为人工智能产品的智能体。它与来自 OpenAI、Anthropic、Cohere、Ollama、Together AI 等知名提供商的封闭和开放大语言模型兼容。借助其数据库和向量存储支持,可以轻松地将人工智能系统与 Postgres、PgVector、Pinecone、LanceDb 等连接。使用 Phidata,可以构建基本的智能体以及使用函数调用、结构化输出和微调的高级智能体。Phidata 还提供免费、专业和企业定价。访问其网站了解更多信息并开始使用。
6.1.1 Phidata 的关键特性
-
内置智能体用户界面:Phidata 具有现成的用户界面,用于在本地(https://getstream.io/blog/best-local-llm-tools/)和云端运行智能体项目,并在幕后管理会话。
-
部署功能:可以将智能体发布到 GitHub 或任何云服务,或者连接 AWS 账户以将其部署到生产环境。
-
监控关键指标:获取会话、API 调用、令牌的快照,调整设置并改进智能体。
-
模板支持:使用预配置的代码库加速人工智能智能体的开发和生产。
-
亚马逊网络服务(AWS)支持:Phidata 与 AWS 无缝集成,因此可以在 AWS 账户上运行整个应用程序。
-
模型独立性:可以将来自 OpenAI、Anthropic、Groq 和 Mistral 等领先提供商的模型和 API 密钥引入 Phidata。
-
构建多智能体:可以使用 Phidata 构建一个智能体团队,它们可以相互传递任务并协作执行复杂任务。Phidata 将在后端无缝处理智能体的编排。
6.1.2 使用 Phidata 和 OpenAI 构建基本的AI Agent
本部分演示如何使用 Phidata 框架和 OpenAI 的大语言模型在 Python 中构建一个基本的人工智能智能体,以查询雅虎财经(https://github.com/ranaroussi/yfinance)的财务数据。该智能体旨在通过雅虎财经总结各公司的分析师建议。
步骤 1:为 Python 项目设置虚拟环境Python 虚拟环境将确保此项目的智能体依赖项不会与设备上其他 Python 项目的依赖项相互干扰。虚拟环境将使项目依赖项井井有条,并防止在全局 Python 安装中出现冲突和问题。如需了解更多信息,请参阅设置编码环境。
创建一个空文件夹并在 Cursor 中打开它。添加一个新的 Python 文件 financial_agent.py。使用以下终端命令设置虚拟环境:
# 在当前目录创建venv``python -m venv venv``source venv/bin/activate
步骤 2:安装依赖项在终端中运行以下命令以添加 Phidata 和 OpenAI 作为依赖项。我们还安装雅虎财经和 python - dotenv 包。
pip install -U phidata openai``pip install python-dotenv # 从.env文件加载环境变量``pip install yfinance # 从雅虎财经获取财务数据
步骤 3:创建财务人工智能智能体创建一个新文件 financial_ai_agent.py,并将其内容替换为以下代码:
import openai``from phi.agent import Agent``from phi.model.openai import OpenAIChat``from phi.tools.yfinance import YFinanceTools``from dotenv import load_dotenv``import os`` ``# 从.env文件加载环境变量``load_dotenv()``openai.api_key = os.getenv("OPENAI_API_KEY") # 从环境中获取API密钥`` ``# 初始化智能体``finance_agent = Agent(` `name="Finance AI Agent",` `model=OpenAIChat(id="gpt-4o"),` `tools=[` `YFinanceTools(` `analyst_recommendations=True,` `stock_price=True,` `company_news=True,` `company_info=True,` `)` `],` `instructions=["Use tables to display data"],``)``finance_agent.print_response(` `"Summarize analyst recommendations for NVDA",` `stream=True,` `show_tool_calls=True,` `markdown=True,``)
总结一下这个基本人工智能智能体的示例代码。首先,导入所需的模块和包,并从.env 文件加载 OpenAI API 密钥。加载 API 密钥的方式与使用 Anthropic、Mistral 和 Groq 等其他模型提供商类似。接下来,使用 Phidata 的 Agent 类创建一个新的智能体,并指定其独特的特征和能力,包括模型、工具、智能体指令等。最后,打印智能体的响应,并指定答案是否应流式传输(stream = True)。
使用以下命令运行智能体:
python3 financial_agent.py
现在已经构建了第一个智能体,它以表格形式为指定公司提供财务见解和总结。
6.1.3 使用 Phidata 构建高级 / Multi-Agent
上一部分展示了如何使用 Phidata 和 OpenAI 构建基本的智能体。本部分将在此基础上扩展,将之前的智能体扩展为多智能体(智能体团队)。上一个智能体示例解决了一个单一特定的问题。现在,我们可以利用多智能体的能力创建一个由多个个体智能体组成的团队来解决复杂问题。
这个智能体团队将由两名成员组成,他们共同合作从网络上搜索信息,并分享指定公司财务数据的总结。
步骤 1:安装其他依赖项由于本示例使用 DucDucGo (https://duckduckgo.com/)搜索从网络获取信息,需要先安装。创建一个新的 Python 文件 multi_ai_agent.py,并运行以下命令添加 DucDucGo 作为依赖项:
pip install duckduckgo-search
使用以下示例代码填充 multi_ai_agent.py 的内容:
from phi.agent import Agent``from phi.model.openai import OpenAIChat``from phi.tools.duckduckgo import DuckDuckGo``from phi.tools.yfinance import YFinanceTools`` ``web_search_agent = Agent(` `name="Web Search Agent",` `role="Search the web for information",` `model=OpenAIChat(id="gpt-4o"),` `tools=[DuckDuckGo()],` `instructions=["Always include sources"],` `show_tool_calls=True,` `markdown=True,``)`` ``finance_agent = Agent(` `name="Finance Agent",` `role="Get financial data",` `model=OpenAIChat(id="gpt-4o"),` `tools=[` `YFinanceTools(` `stock_price=True,` `analyst_recommendations=True,` `company_info=True,` `)` `],` `instructions=["Use tables to display data"],` `show_tool_calls=True,` `markdown=True,``)`` ``multi_ai_agent = Agent(` `team=[web_search_agent, finance_agent],` `instructions=["Always include sources", "Use tables to display data"],` `show_tool_calls=True,` `markdown=True,``)`` ``multi_ai_agent.print_response(` `"Summarize analyst recommendations and share the latest news for NVDA",` `stream=True,``)
由于本节中的示例智能体扩展了之前的智能体,添加了从 phi.tools.duckduckgo 导入 DuckDuckGo 的语句。然后,创建了各个贡献智能体 web_search_agent 和 finance_agent,为它们分配不同的角色,并配备执行任务所需的工具和指令。
使用以下命令运行多智能体文件 multi_ai_agent.py:
python3 multi_ai_agent.py
现在,将看到类似于以下预览的输出。
从上面的示例代码中,multi_ai_agent 由两个团队成员组成(team = [web_search_agent, finance_agent])。web_search_agent 链接财务信息,finance_agent 的作用与上一部分相同。
6.1.4 使用 Phidata 构建推理Agent
凭借 Phidata 的易用性和简洁性,可以用更短的代码构建一个在回答问题前会思考的全功能智能体。例如,如果我们指示我们的思考智能体用指定的编程语言编写代码,智能体将在回答之前开始思考并实施逐步解决问题的指南。创建一个新文件 reasoning_ai_agent.py,并使用以下示例代码填充其内容:
from phi.agent import Agent``from phi.model.openai import OpenAIChat`` ``task = "Create a SwiftUI view that allows users to switch between the tab bar and sidebar views using TabView and .tabView(.sidebarAdaptable) modifier. Put the content in TabSidebar.swift"`` ``reasoning_agent = Agent(` `model=OpenAIChat(id="gpt-4o-mini"),` `reasoning=True,` `markdown=True,` `structured_outputs=True,``)``reasoning_agent.print_response(task, stream=True, show_full_reasoning=True)
在这个示例中,按照代码所示指定提示任务。然后,创建一个新的智能体,将 reasoning 设置为 True,使其成为一个思考智能体。当您运行 reasoning_ai_agent.py 时,应该会看到类似于以下预览的结果。
6.2 OpenAI Swarm
Swarm(https://github.com/openai/swarm) 是 OpenAI 最近发布的一个开源实验性智能体框架。它是一个轻量级的多智能体编排框架。
注意:撰写本文时,Swarm 处于实验阶段。它可用于开发和教育目的,但不应在生产环境中使用。此阶段可能会改变,因此请查看其 GitHub 存储库以获取更多更新。
Swarm 使用智能体和交接作为智能体编排和协调的抽象。它是一个轻量级框架,可以高效地进行测试和管理。Swarm 的智能体组件可以配备工具、指令和其他参数来执行特定任务。
6.2.1 Swarm 的优势和关键特性
除了 Swarm 的轻量级和简单架构外,它还具有以下关键特性:
-
交接对话:使用 Swarm 构建多智能体系统为一个智能体在任何时候将对话转移或交接给其他智能体提供了绝佳方式。
-
可扩展性:Swarm 的简单性和交接架构使构建可扩展到数百万用户的智能体系统变得容易。
-
可扩展性:它的设计使其易于高度定制。您可以使用它创建完全定制的智能体体验。
-
内置检索系统和内存处理。
-
隐私性:Swarm 主要在客户端运行,并且在调用之间不保留状态。完全在客户端运行有助于确保数据隐私。
-
教育资源:Swarm 具有启发性的智能体示例用例,可以运行和测试这些用例作为起点。这些示例涵盖从基本到高级的多智能体应用程序。
6.2.2 构建Basic Swarm Agent
要开始使用 Swarm,请访问其 GitHub 仓库(https://github.com/openai/swarm)并运行以下命令进行安装。安装需要 Python 3.10 或更高版本。
pip install git+ssh://git@github.com/openai/swarm.git``或``pip install git+https://github.com/openai/swarm.git
注意:如果在运行上述任何命令后遇到错误,应通过附加 --upgrade 来升级它们。因此,它们变为:
pip install --upgrade git+ssh://git@github.com/openai/swarm.git``pip install --upgrade git+https://github.com/openai/swarm.git
以下多智能体示例使用 OpenAI 的 gpt-4o-mini 模型构建一个支持任务交接的两队智能体系统。
from swarm import Swarm, Agent`` ``mini_model = "gpt-4o-mini"``client = Swarm()`` ``# 协调器函数``def transfer_to_agent_b():` `return agent_b`` ``# Agent A``agent_a = Agent(` `name="Agent A",` `instructions="You are a helpful assistant.",` `functions=[transfer_to_agent_b],``)`` ``# Agent B``agent_b = Agent(` `name="Agent B",` `model=mini_model,` `instructions="You speak only in Finnish.",``)`` ``response = client.run(` `agent=agent_a,` `messages=[{"role": "user", "content": "I want to talk to Agent B."}],` `debug=False,``)``print(response.messages[-1]["content"])
在上述示例中,协调器 transfer_to_agent_b 负责将对话从 agent_a 转交给 agent_b,以便用指定语言编写响应并跟踪其进度。如果将 agent_b 的指令语言更改为不同语言(例如,英语、瑞典语、芬兰语),将看到类似于以下图像的输出。
从其 GitHub 仓库(https://github.com/openai/swarm)中可以注意到,Swarm 仍在开发中,未来可能会发生变化。可以开始将其用于实验目的。如需高级 Swarm 智能体案例,可以查看 OpenAI 在 GitHub (https://github.com/openai/swarm/tree/main/examples)上的这些示例。
6.3 CrewAI
CrewAI (https://www.crewai.com/)是最受欢迎的Agent框架之一。它可以帮助我们快速构建Agent,并将其与最新的大语言模型和代码库集成。
6.3.1 CrewAI 的优势和关键特性
与其他Agent框架相比,CrewAI 在功能和特性方面更加丰富。
-
可扩展性:它与超过 700 个应用程序集成,包括 Notion、Zoom、Stripe、Mailchimp、Airtable 等。
-
工具:开发者可以利用 CrewAI 的框架从头开始构建多智能体自动化。设计师可以使用其 UI Studio 和模板工具在无代码环境中创建功能齐全的智能体。
-
部署:可以将在开发环境构建的Agent快速转移到生产环境。
-
智能体监控:与 Phidata 一样,CrewAI 提供了一个直观的仪表板,用于监控Agent的进度和性能。
-
现成的训练工具:使用 CrewAI 内置的训练和测试工具来提高智能体的性能和效率,并确保其响应的质量。
6.3.2 使用 CrewAI 创建Agent
要在 CrewAI 中构建Agent,需要采用下面的命令安装python依赖:
pip install crewai``pip install 'crewai[tools]'``pip freeze | grep crewai
在这里,我们安装 CrewAI 和Agent工具并验证安装。验证安装成功后,可以通过运行以下命令创建一个新的 CrewAI 项目:
crewai create crew your_project_name
运行上述命令时,系统将提示您从 OpenAI、Anthropic、xAI、Mistral 等模型提供商列表中进行选择。选择一个提供商后,还可以从列表中选择一个模型。例如,可以选择 gpt - 4o - mini。
运行以下命令使用 CrewAI 创建一个Multi-Agent系统:
crewai create crew multi_agent_crew
完成的 CrewAI 应用程序在我们的 GitHub 仓库(https://github.com/GetStream/stream-tutorial-projects/tree/main/AI/Multi-Agent-AI)中。下载并使用以下命令运行它:
crewai run
可以看到类似于下图的响应。
要开始使用 CrewAI 创建智能体项目,请查看入门和操作指南。
-
入门: https://docs.crewai.com/introduction
-
操作指南: https://docs.crewai.com/how-to/create-custom-tools
6.4 Autogen
Autogen (https://github.com/microsoft/autogen)是一个用于构建智能体系统的开源框架。可以使用此框架构建多智能体协作和大语言模型工作流程。
6.4.1 Autogen 的关键特性
Autogen 的关键特性包括以下几点:
-
跨语言支持:可以使用 Python 和.NET 等编程语言构建智能体。
-
本地智能体:可以在本地进行实验和运行智能体,以确保更高的隐私性。它使用异步消息传递进行通信。
-
可扩展性:允许开发者在不同组织之间构建分布式智能体网络。
-
可扩展性:自定义其可插拔组件,以构建完全定制的智能体系统体验。
6.4.2 Autogen:安装和快速入门
使用以下命令进行安装:
pip install 'autogen-agentchat==0.4.0.dev6' 'autogen-ext[openai]==0.4.0.dev6'
安装 Autogen 后,可以运行以下代码,体验使用 Autogen 构建的基本的人工智能天气智能体系统:
import asyncio``from autogen_agentchat.agents import AssistantAgent``from autogen_agentchat.task import Console, TextMentionTermination``from autogen_agentchat.teams import RoundRobinGroupChat``from autogen_ext.models import OpenAIChatCompletionClient``import os``from dotenv import load_dotenv`` ``load_dotenv()`` ``# 定义一个工具``async def get_weather(city: str) -> str:` `return f"The weather in {city} is 73 degrees and Sunny."`` ``async def main() -> None:` `# 定义一个智能体` `weather_agent = AssistantAgent(` `name="weather_agent",` `model_client=OpenAIChatCompletionClient(` `model="gpt-4o-mini",` `api_key=os.getenv("OPENAI_API_KEY"),` `tools=[get_weather],` `),` `)` `# 定义终止条件` `termination = TextMentionTermination("TERMINATE")` `# 定义一个团队` `agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)` `# 运行团队并将消息流式传输到控制台` `stream = agent_team.run_stream(task="What is the weather in New York?")` `await Console(stream)`` ``asyncio.run(main())
上述 Autogen 智能体示例需要一个 OpenAI API 密钥。我们从.env 文件加载 API 密钥。运行示例代码将显示类似于如下的输出。
注意:与 Phidata 和 CrewAI 不同,Autogen 缺乏与其他框架和数据源的集成。它也只有少量内置智能体。如需了解更多信息,请参阅 Autogen 的 GitHub 仓库(https://github.com/microsoft/autogen)。
6.5 LangGraph
LangGraph(https://www.langchain.com/langgraph) 是一个基于节点的、最受欢迎的人工智能框架之一,用于构建处理复杂任务的多智能体。它作为基于图的智能体框架存在于 LangChain 生态系统中。使用 LangGraph,可以使用节点和边构建智能体,以实现线性、分层和顺序工作流程。智能体的动作称为节点,这些动作之间的转换称为边。状态是 LangGraph 智能体的另一个组件。
6.5.1 LangGraph 的优势和关键特性
-
免费和开源:LangGraph 是一个基于 MIT 许可的免费库。
-
流式支持:LangGraph 提供逐个标记的流式支持,以显示智能体的中间步骤和思考过程。
-
部署:可以通过多种选项大规模部署智能体,并使用 LangSmith 监控其性能。通过其自托管企业选项,可以将 LangGraph 智能体完全部署在自己的基础设施上。
-
企业就绪性:Replit 将 LangGraph 用于其人工智能编码智能体。这展示了 LangGraph 在企业用例中的实用性。
-
性能:对于复杂的智能体工作流程,它不会给代码增加开销。
-
循环和可控性:轻松定义涉及循环的多智能体工作流程,并完全控制智能体的状态。
-
持久性:LangGraph 在图中的每个步骤后自动保存智能体的状态。它还允许您在任何时候暂停和恢复智能体的图执行。
6.5.2 LangGraph 安装和快速入门
使用 LangGraph 创建智能体需要几个步骤。首先,需要初始化语言模型、工具、图和状态。然后,指定图节点、入口点和边。最后,编译并执行图。
安装 LangGraph,运行:
pip install -U langgraph
接下来,需要获取并存储模型提供商的 API 密钥。在这里,我们将使用 Anthropic 的 API 密钥。但是,该过程与其他提供商的方式相同。
pip install langchain-anthropic``export ANTHROPIC_API_KEY="YOUR_API_KEY"
另一种存储 API 密钥的方法是复制 export 命令,将其粘贴到您的.zshrc 文件中并保存。
要尝试基本的 LangGraph 智能体,可以采用 langgraph_agent.py(https://github.com/GetStream/stream-tutorial-projects/blob/main/AI/Multi-Agent-AI/langgraph_ai_agent.py) 。我们使用与 LangGraph GitHub 仓库相同的示例(https://langchain-ai.github.io/langgraph/)。
注意:在运行 Python 代码之前,您应该添加计费信息以开始使用 Anthropic API。
7. 小结
本文概述了构建复杂人工智能智能体以解决复杂任务和工作流程的最佳框架,还讨论了环境准备,研究了这些智能体平台的关键优势和特性,并解释了如何使用基本示例使用它们。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。