LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
文章目录
- 引言
- 理解 Flows(工作流)与 Crews(协作组)
- 一、环境准备与工具安装
- 1.1 Python环境搭建
- 1.2 创建并激活虚拟环境
- 1.3 安装核心依赖库(crewai、litellm)
- 二、本地DeepSeek R1大模型部署
- 2.1 Ollama框架安装
- 2.2 验证Ollama服务状态
- 2.3 运行DeepSeek-R1模型
- 三、代码实现与运行
- 3.1 项目文件结构说明
- 3.2 main.py核心功能
- 3.3 运行程序
- 3.4 输出日志
- 四、项目源码
- 五、源码解释(Agent、Tasks、工作流)
- 5.1 Agent(智能体)系统设计
- 5.2 Task(任务)系统设计
- 5.3 工作流设计原理
引言
在人工智能技术日新月异的今天,如何将大语言模型(LLM)与多智能体协作框架结合实现自动化流程,已成为开发者关注的热点。本文将分享一个基于CrewAI多智能体框架与DeepSeek-R1本地化大模型的创新实践——我们成功构建了一个具备完整邮件撰写、优化、发送能力的AI协作系统。该方案通过Writer(撰写)、Editor(编辑)、Sender(发送) 三个智能体的有机协作,实现了从主题输入到邮件发送的端到端自动化处理,不仅展现了多智能体系统的任务分解与流程控制能力,更验证了本地化大模型在隐私敏感场景下的实用价值。本文将深入解析该系统的技术架构、实现逻辑,以及这种技术组合带来的开发效率提升与部署成本优化。
程序流程图
理解 Flows(工作流)与 Crews(协作组)
CrewAI 提供两种强大互补的方法,可无缝协作构建复杂的 AI 应用:
Crews(协作组)
由具有真正自主决策能力的 AI 智能体组成的团队,通过角色化协作完成复杂任务。Crews 支持:
- 智能体间的自然自主决策
- 动态任务委派与协作
- 定义明确目标和专业能力的专属角色
- 灵活的问题解决方式
Flows(工作流)
面向生产环境的事件驱动型工作流,可精准控制复杂自动化流程。Flows 提供:
- 对现实场景执行路径的细粒度控制
- 任务间安全一致的状态管理
- AI 智能体与生产级 Python 代码的洁净集成
- 复杂业务逻辑的条件分支处理
协同威力
当 Crews 与 Flows 结合时,CrewAI 展现出真正的强大能力,使您可以:
- 构建复杂的生产级应用程序
- 在自主性与精准控制间取得平衡
- 处理复杂的现实场景
- 保持清晰可维护的代码结构
一、环境准备与工具安装
1.1 Python环境搭建
确保您的系统上安装了 Python >=3.10 < 3.13
。CrewAI 使用 UV 进行依赖项管理和包处理,提供无缝的设置和执行体验。
验证安装
python --version 或者 pip --version #查看是否输出版本号(Python >=3.10 < 3.13)
1.2 创建并激活虚拟环境
为了保持依赖隔离,建议在电脑上创建虚拟环境:
- 打开终端(Windows 用 CMD/PowerShell,Linux/Mac 用终端)。
- 导航到你的工作目录(例如 ~/Projects 或 C:\Projects)
cd ~/Projects # Linux/Mac
cd C:\Projects # Windows
创建虚拟环境:
python -m venv deepseek_env
激活虚拟环境:
Linux/Mac:
source deepseek_env/bin/activate
Windows:
deepseek_env\Scripts\activate
激活后,终端提示符前会出现 (deepseek_env)。
升级 pip:
修复pip安装
Python -m ensurepip --upgrade
升级pip
Python -m pip install --upgrade pip
1.3 安装核心依赖库(crewai、litellm)
安装必要库: 在虚拟环境中运行:
pip install crewai litellm
检查是否安装成功:
pip show crewai # 显示 crewai 版本信息
pip show litellm # 显示 litellm 版本信息
二、本地DeepSeek R1大模型部署
2.1 Ollama框架安装
访问Ollama官网 下载适用于您操作系统的版本。
Linux:
curl -fsSL https://ollama.com/install.sh | sh
Mac: 下载 .dmg 文件并安装。
Windows: 下载可执行文件并安装。
本文演示系统为Windows操作系统
进入官网后点击Download
下载
点击Download for Windows
进行安装,这里以Windows
系统示例
下载完毕是一个.exe文件,然后双击.exe文件进行安装
安装完成后再终端输入ollama --version
来查看是否安装成功
2.2 验证Ollama服务状态
# 检查服务是否运行(通用命令)
ollama list # 若返回空列表则表示服务正常# 或通过API接口验证
curl http://localhost:11434/api/tags # 预期返回JSON格式模型列表
2.3 运行DeepSeek-R1模型
ollama run deepseek-r1:1.5b
# 进阶操作(可选):
ollama ps # 查看模型运行状态
ollama ls # 列出已下载模型
ollama run deepseek-r1:1.5b "你好" # 直接交互测试
三、代码实现与运行
3.1 项目文件结构说明
mail-agent-project/
├── main.py # 主程序 - 定义智能体/任务/工作流
3.2 main.py核心功能
- 定义
Writer邮件撰写专家
/Editor邮件优化专家
/Sender邮件发送专员
三个智能体 - 构建任务链(撰写→润色→发送)
- 实现SMTP邮件发送回调
- 主流程控制(CrewAI顺序执行)
# 代码结构概览
import os
from crewai import Agent, Task, Crew, Process
import smtplib
from email.mime.text import MIMEText
# 配置环境变量/配置LiteLLM的Ollama模型
# 智能体定义(Writer/Editor/Sender)
# 任务链构建(create_writer_task/create_editor_task/create_sender_task)
# 邮件发送函数(send_email)
# 主函数(main)与程序入口
Ollama服务初始化: 本地启动模型推理服务,为后续LLM调用提供API端点
模型内容生成: Writer智能体通过DeepSeek-R1模型完成原始邮件创作
内容优化阶段: Editor智能体对文本进行结构化重组与语气调整
SSL加密认证: 采用SMTP_SSL协议保障邮箱账号认证安全性
3.3 运行程序
进入虚拟环境:
source deepseek_env/bin/activate # Linux/Mac
# 或
deepseek_env\Scripts\activate # Windows
执行邮件智能体程序
python test.py
3.4 输出日志
因为我这里使用的事deepseek-r1:1.5b模型,大模型思考的过程以及撰写的内容可能不如训练参数更多的模型,后续大家可以自行发挥对提示词进行优化以及使用更优质的大模型来完成,我这里只提供一个部署搭建思路。
【系统启动】初始化邮件智能体工作流...
├─ 当前主题:感谢朋友的支持
├─ 发件账户:xiongjava@163.com
└─ 收件地址:xiongjava@163.com# Agent: 邮件撰写专家
## Task: 请以'感谢朋友的支持'为主题撰写正式中文信件,要求:1. 采用标准书信格式(称呼、正文、结尾、落款)2. 正文至少包含3个逻辑连贯的段落3. 总字数控制在300-500字# Agent: 邮件撰写专家
## Final Answer:
尊敬的[朋友名称]先生、女士:您好!首先,请允许我向您表示最诚挚的感谢。在过去的[时间段内],您的支持与我息息相关,您的耐心和智慧让我感受到最大的幸福与满足。感谢您一直以来对我的关注和支持,是您付出的时间与精力换来的我如今如此的成长与进步。如果您有机会,请与我共同参与一些活动或分享自己的经历,这样不仅能够增进我们之间的友谊,还能让我继续与您合作一段时间。希望未来能有更多机会重逢,再次见证彼此的支持与关怀。最后,请允许我向您表示最热烈的欢迎和期待!此致
敬礼[您的姓名]
[日期]# Agent: 邮件优化专家
## Task: 对信件进行专业润色,确保:1. 对信件进行专业润色,一定要对邮件撰写专家杜撰的邮件内容进行更新优化,不能完全返回和邮件撰写专家一样的邮件。# Agent: 邮件优化专家
## Final Answer:
尊敬的[朋友名称]先生、女士:您好!首先,请允许我向您表示最诚挚的感谢。在过去的[时间段内],您的支持与我息息相关,您的耐心和智慧让我感受到最大的幸福与满足。感谢您一直以来对我的关注和支持,是您付出的时间与精力换来的我如今如此的成长与进步。如果您有机会,请与我共同参与一些活动或分享自己的经历,这样不仅能够增进我们之间的友谊,还能让我继续与您合作一段时间。希望未来能有更多机会重逢,再次见证彼此的支持与关怀。最后,请允许我向您表示最热烈的欢迎和期待!此致
敬礼[您的姓名]
[日期]# Agent: 邮件发送专员
## Task: 直接使用邮件优化专家返回的内容,不能由你自己(邮件发送专员)杜撰,不要进行擅自优化和篡改信件。
收件地址:xiongjava@163.com
发件账户:xiongjava@163.com# Agent: 邮件发送专员
## Final Answer:
尊敬的[朋友名称]先生、女士:您好!首先,请允许我向您表示最诚挚的感谢。在过去的[时间段内],您的支持与我息息相关,您的耐心和智慧让我感受到最大的幸福与满足。感谢您一直以来对我的关注和支持,是您付出的时间与精力换来的我如今如此的成长与进步。如果您有机会,请与我共同参与一些活动或分享自己的经历,这样不仅能够增进我们之间的友谊,还能让我继续与您合作一段时间。希望未来能有更多机会重逢,再次见证彼此的支持与关怀。最后,请允许我向您表示最热烈的欢迎和期待!此致
敬礼[您的姓名]
[日期]
四、项目源码
import os
from crewai import Agent, Task, Crew, Process
import smtplib
from email.mime.text import MIMEText# 配置环境变量
os.environ["OPENAI_API_KEY"] = "NA"
os.environ["OLLAMA_API_BASE"] = "http://localhost:11434"# 配置 LiteLLM 的 Ollama 模型
model_name = "ollama/deepseek-r1:1.5b"# 定义代理
writer = Agent(role="邮件撰写专家",goal="根据用户提供的主题生成结构清晰、情感真挚的中文信件初稿",backstory="""您是一位拥有十年写作经验的职业撰稿人,擅长捕捉情感细节并使用符合中文表达习惯的修辞手法。熟悉正式/非正式场景的文体转换,能快速构建包含开头、主体、结尾的标准信件结构。""",llm=model_name,verbose=True,allow_delegation=False
)editor = Agent(role="邮件优化专家",goal="对初稿进行中文语境下的专业润色",backstory="""您是从业八年的专业编辑,持有汉语水平考试(HSK)高级认证。擅长:1. 调整语气适合性 2. 优化段落衔接 3. 修正语法错误 4. 提升表达精准度熟悉商务信函、私人信件等不同场景的文体要求。""",llm=model_name,verbose=True,allow_delegation=False
)sender = Agent(role="邮件发送专员",goal="严格遵守安全协议完成邮件投递",backstory="""只负责传递信息,不做其他动作""",llm=model_name,verbose=True,allow_delegation=False
)# 定义任务
def create_writer_task(topic):return Task(description=f"""请以'{topic}'为主题撰写正式中文信件,要求:1. 采用标准书信格式(称呼、正文、结尾、落款)2. 正文至少包含3个逻辑连贯的段落3. 总字数控制在300-500字""",agent=writer,expected_output="符合GB/T 15834-2011中文排版规范的信件文本(含标点符号正确使用)")def create_editor_task():return Task(description="""对信件进行专业润色,确保:1. 对信件进行专业润色,一定要对邮件撰写专家杜撰的邮件内容进行更新优化,不能完全返回和邮件撰写专家一样的邮件。""",agent=editor,expected_output="优化后的标准中文信件文本(保留原始格式标记)")# 修改后的发送任务定义(添加editor_output参数)
def create_sender_task(email_to, email_from, email_password, editor_output):return Task(description=f"""直接使用邮件优化专家返回的内容,不能由你自己(邮件发送专员)杜撰,不要进行擅自优化和篡改信件。
收件地址:{email_to}
发件账户:{email_from}""",agent=sender,expected_output="只负责传递信息,不对文章进行篡改,保证对邮件优化专家撰写的内容原样发送",context=[editor_output], # 显式绑定编辑任务callback=lambda _: send_email(email_to,email_from,email_password,editor_output.output.raw # 直接使用编辑任务的原始输出))
# 邮件发送功能
def send_email(to_address, from_address, password, letter_content):subject = "感谢信"print(f"发送邮件 - 主题: {subject}, 收件人: {to_address}, 发件人: {from_address}")print(f"邮件内容: {letter_content}")msg = MIMEText(letter_content)msg["Subject"] = subjectmsg["From"] = from_addressmsg["To"] = to_addresstry:# 使用 SMTP_SSL 连接 465 端口,无需 starttls()with smtplib.SMTP_SSL("smtp.163.com", 465, timeout=30) as server:server.set_debuglevel(1) # 启用调试输出server.login(from_address, password)server.sendmail(from_address, to_address, msg.as_string())print("邮件发送请求已提交至服务器")return "邮件发送成功!"except smtplib.SMTPAuthenticationError as auth_error:print(f"认证失败: {auth_error}")raise Exception(f"SMTP 认证失败: {auth_error}")except smtplib.SMTPException as smtp_error:print(f"SMTP 错误: {smtp_error}")raise Exception(f"SMTP 错误: {smtp_error}")except Exception as e:print(f"其他错误: {e}")raise Exception(f"邮件发送失败: {e}")# 主流程
def main():topic = "感谢朋友的支持"email_to = "xiongjava@163.com"email_from = "xiongjava@163.com"email_password = "KL28MAziXpQ8p7My"writer_task = create_writer_task(topic)editor_task = create_editor_task()# 传递editor_task作为第四个参数sender_task = create_sender_task(email_to,email_from,email_password,editor_task # 新增参数)crew = Crew(agents=[writer, editor, sender],tasks=[writer_task, editor_task, sender_task],process=Process.sequential,verbose=True)print("\n【系统启动】初始化邮件智能体工作流...")print(f"├─ 当前主题:{topic}")print(f"├─ 发件账户:{email_from}")print(f"└─ 收件地址:{email_to}\n")result = crew.kickoff()print("\n######################")print("【执行结果】")print(f"详情:{result}")print("######################")
if __name__ == "__main__":main()
五、源码解释(Agent、Tasks、工作流)
5.1 Agent(智能体)系统设计
Agent代表具有特定专业能力的虚拟角色,每个Agent都承担明确的工作职责:
- 邮件撰写专家(Writer)
writer = Agent(role="邮件撰写专家",goal="根据用户提供的主题生成结构清晰、情感真挚的中文信件初稿",backstory="""(包含专业背景和能力描述)""",llm=model_name,verbose=True,allow_delegation=False
)
- role:定义角色名称,明确职责范围
- goal:设定核心工作目标,指导AI行为方向
- backstory:详细背景故事,包含:
- 专业经验年限(10年写作经验)
- 核心能力(情感捕捉、中文修辞)
- 专业领域(文体转换、信件结构)
- llm:指定使用的语言模型
- verbose:开启详细日志输出
- allow_delegation:禁止任务委派,保持专业专注
- 邮件优化专家(Editor)
editor = Agent(role="邮件优化专家",goal="对初稿进行中文语境下的专业润色",backstory="""(包含认证资质和专业技能)""",...
)
- 特别强调中文专业认证(HSK高级)
- 明确四项核心优化能力:
- 语气适配
- 段落衔接
- 语法修正
- 表达精准度
- 邮件发送专员(Sender)
sender = Agent(role="邮件发送专员",goal="严格遵守安全协议完成邮件投递",...
)
- 职责高度聚焦:仅负责信息传递
- 禁止内容修改:保持内容完整性
- 强调安全规范:确保投递过程合规
5.2 Task(任务)系统设计
每个Task定义具体的工作单元,包含完整的执行规范:
- 撰写任务(Writer Task)
def create_writer_task(topic):return Task(description=f"请以'{topic}'为主题撰写正式中文信件...",agent=writer,expected_output="符合GB/T 15834-2011中文排版规范的信件文本")
- 动态参数:通过topic参数实现内容定制化
- 三层式要求规范:
- 格式要求(标准书信格式)
- 结构要求(3个逻辑段落)
- 量化指标(300-500字)
- 国家标准引用:GB/T 15834-2011确保专业合规性
- 优化任务(Editor Task)
def create_editor_task():return Task(description="对信件进行专业润色...",agent=editor,expected_output="优化后的标准中文信件文本")
- 质量管控机制:
- 明确禁止简单复制(“不能完全返回相同内容”)
- 要求保留原始格式标记
- 迭代优化重点:
- 情感表达优化
- 专业术语校准
- 文化适应性调整
- 发送任务(Sender Task)
def create_sender_task(..., editor_output):return Task(description="直接使用优化后的内容...",agent=sender,context=[editor_output],callback=lambda _: send_email(...))
- 输入约束:
- 强制使用编辑后内容(editor_output)
- 禁止内容篡改(“原样发送”)
- 系统集成:
- 通过context绑定任务依赖
- 使用callback触发邮件发送函数
- 安全机制:
- 敏感信息(密码)通过参数传递
- 使用SSL加密连接
5.3 工作流设计原理
crew = Crew(agents=[writer, editor, sender],tasks=[writer_task, editor_task, sender_task],process=Process.sequential,verbose=True
)
- 顺序流程控制:
- 撰写 → 优化 → 发送 严格串行执行
- 前序任务输出自动成为后续任务输入
相关文章:

LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
文章目录 引言理解 Flows(工作流)与 Crews(协作组)一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库(crewai、litellm) 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…...

基于C++“简单且有效”的“数据库连接池”
前言 数据库连接池在开发中应该是很常用的一个组件,他可以很好的节省连接数据库的时间开销;本文基使用C实现了一个简单的数据库连接池,代码量只有400行只有,但是压力测试效果很好;欢迎收藏 关注,本人将会…...

为什么要将PDF转换为CSV?CSV是Excel吗?
在企业和数据管理的日常工作中,PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档,而CSV因其简洁、易操作的特性,广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据,转换为CSV格式可能是一个高效…...

Redis 集群的三种模式:一主一从、一主多从和多主多从
本文记述了博主在学习 Redis 在大型项目下的使用方式,包括如何设置Redis主从节点,应对突发状况如何处理。在了解了Redis的集群搭建和相关的主从复制以及哨兵模式的知识以后,进而想要了解 Redis 集群如何使用,如何正确使用…...
面试题——简述Vue 3的服务器端渲染(SSR)是如何工作的?
面试题——简述Vue3的服务器端渲染(SSR)是如何工作的? 服务器端渲染(SSR)已经成为了一个热门话题。Vue 3,作为一款流行的前端框架,也提供了强大的SSR支持。那么,Vue 3的SSR究竟是如…...
2.25DFS和BFS刷题
洛谷P1101单词方阵:用sta存字符串,for找到‘y的位置,然后dfs对字符串用for进行一个一个的判断,不符合就return,下面再用for进行book标记,能执行下面的for说明上面没有return,所以说明找到&#…...

C语言基本知识------指针(4)
1. 回调函数是什么? 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。 void qsort(void base,//指针…...

【OMCI实践】ONT上线过程的omci消息(六)
引言 在前四篇文章中,主要介绍了ONT上线过程的OMCI交互的第一、二、三个阶段omci消息,本篇介绍第四个阶段,OLT下发配置到ONT。前三个阶段,每个厂商OLT和ONT都遵循相同标准,OMCI的交换过程大同小异。但第四个阶段&…...

C语言(13)------------>do-while循环
1.do-while循环的语法 我们知道C语言有三大结构,顺序、选择、循环。我们可以使用while循环、for循环、do-while循环实现循环结构。之前的博客中提及到了前两者的技术实现。可以参考: C语言(11)------------->while循…...
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票 作者:某七年数据开发工程师 | 2025年02月23日 关键词:SQL窗口函数、连续问题、股票分析、腾讯面试题 一、问题背景与难点拆解 在股票量化分析场景中,"连续N天满足条件"是高频面试题类型。本题要求在单表stoc…...

HybridCLR+Adressable+Springboot热更
本文章会手把手教大家如何搭建HybridCLRAdressableSpringboot热更。 创作不易,动动发财的小手点个赞。 安装华佗 首先我们按照官网的快速上手指南搭建一个简易的项目: 快速上手 | HybridCLR 注意在热更的代码里添加程序集。把用到的工具放到程序集里…...

电脑连接示波器显示波形
通过网线连接示波器和电脑,将示波器波形显示在电脑上直接复制图片至报告中,以下是配置步骤。 一、设备 网线,Tektronix示波器,电脑 二、使用步骤 1.用网线连接电脑和示波器 2.电脑关掉WiFi,查看IPv4网关地址…...
监听其他音频播放时暂停正在播放的音频
要实现当有其他音频播放时暂停当前音频,你可以使用全局事件总线或 Vuex 来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。 首先,你需要创建一个事件总线。你可以在项目的一个公共文件中创建它,例如 eventBus.js…...

小熊猫C++安装EasyX最新教程
1.下载EasyX 官网下载: EasyX 官网https://easyx.cn/ 2.将下载文件改格式解压 注意:下载文件为.exe格式,需将其格式改成.zip格式! 如何改格式? a.若文件名字未显示.exe (1).打开此电脑 (2).点击上端的查看 (…...

安装VM和Centos
安装VM 一、打开虚拟机 二、选择典型 三、选择光盘 四、指定虚拟机位置 五、设置磁盘大小并拆分为多个文件 六、完成 安装Centos 一、上述过程完成后我们直接打开虚拟机 二、语言选择中文 三、默认安装位置并点击完成 四、点击开始安装 五、点击设置密码 设置完密码后点击完成…...
git 命令 设置别名
在Git中,您可以通过以下命令查看所有的alias(别名): git config --get-regexp alias 这个命令会列出所有配置的alias,例如: alias.st.status alias.co.checkout alias.br.branch ... 如果您想查看某个特定a…...
React + TypeScript 全栈开发最佳实践
React TypeScript 全栈开发最佳实践 一、环境搭建与项目初始化 node.js和npm的安装请参考我的文章。 1.1 脚手架选择与工程创建 # 使用Vite 5.x创建ReactTS项目(2025年主流方案) npx create-vitelatest my-app --template react-ts cd my-app npm in…...

springboot志同道合交友网站设计与实现(代码+数据库+LW)
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本志同道合交友网站就是在这样的大环境下诞生,其可以帮助使用者在短时间内处理完毕庞大的数据信…...

防火墙双机热备---VRRP,VGMP,HRP(超详细)
双机热备技术-----VRRP,VGMP,HRP三个组成 注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向 防火墙双机热备: 1.主备备份模式 双机热备最大的特点就是防火墙提供了一条专门的备份通道(心…...

MQTT实现智能家居------4、在Linux上运行MQTT
进入主目录,创建一个MQTT文件夹 cd ~ mkdir MQTT 用FileZilla连接开发板,将我发布的压缩包解压以后放进MQTT 安装cmake sudo apt-get install cmake g编译 & 运行 echo sudo apt-get update >> build.sh #向build.sh文件写入内容 chmod…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...