来源:互联网 更新时间:2026-07-20 13:10
探索国产AI框架的创新实践,深入了解DeepSeekers如何助力企业与个人高效应用AI技术。
先说几个核心判断:轻量级、全面支持DeepSeek系列模型(包括deepseek-chat和deepseek-r1),这才是面向个人和中小企业实际应用场景的AI Agent框架该有的样子。整个开发过程,我们用实例来驱动——这本身就是复合目标。
打造一个轻量级的AI Agent框架,全面支持DeepSeek系列模型,目标用户是个人和中小企业,解决真实场景问题。
用实例驱动AI Agent框架的开发,是贯穿始终的主线。现阶段,Agent和Task的实现已经初步完成。Task由若干Step组成,Step是最小的执行单元。Task和Step都面向实际业务逻辑场景来设计——如果了解过LangChain,这里的Task有点像LangGraph,用来有效组织Step;而组成Task的Step则类似于LangGraph中的Node。相对于Task和Step更偏向业务,Agent更偏向LLM,它对LLM进行包裹和装饰,让LLM更容易、更流畅地与外界交互,使用工具,输出结构化结果。
第一阶段主要瞄准三个落地场景:邮件助手、数据分析、项目空间。为什么选这三个?因为它们在AI Agent能力测试中各有独特作用。先说邮件助手。
选择邮件助手,理由很直接:我实际接触过这样的需求——一个实实在在存在的客户需求,所以算是有些经验。而且邮件处理是工作中的高频场景,客户来自海外的情况就更加常见了。
非结构化数据提取是第一个坎。邮件里经常出现图片、音频、超链接。需要从这些多媒体内容中提取信息,形成结构化数据,供下一个流程使用。
import email from bs4 import BeautifulSoup from PIL import Image import pydub
借助这些库,可以提取图片上的信息,然后统一形成结构化数据。
class EmailMetaData(BaseModel):
sender:str = Field(title="sender",description="邮件发送人")
reciever:str = Field(title="reciever",description="邮件介绍送人")
email_cc:List[str] = Field(title="cc",description="邮件抄送")
email_attech:List[Union[str,Path]] = Field(title="cc",description="邮件附件")
email_image:List[Dict[str,Any]] = Field(title="email images",description="邮件中显出的图")
from urllib.parse import urlparse
def classify_link(url):
...
首先判断超链接是否在白名单(白名单可配置),然后判断超链接类型,不同超链接类型做出相应的动作。
urllib.parse.urlparse()
这个函数用于解析URL。
parsed_url.scheme
属性表示URL的协议。
parsed_url.path
属性表示URL的路径。
def content_chunking_step(agent,context,use_cache):
"""chunking"""
def retrieve_step(agent,context,use_cache):
"""retrieve"""
def create_local_relation_graph(agent,context,use_cache):
"""创建邮件内部关系图"""
收集项目以外更丰富的信息,比如知识库、历史对话等。
针对以上挑战,逐一给出解决方案。对于邮件中的图片和视频理解,通过OCR提取图像文本,然后交给LLM理解。
在智能邮件场景中,内建了一个邮件处理模板任务,适配通用场景:
class AutoEmailTask(Task):
def __init__(self, name, description, agent, verbose = False):
super().__init__(name, description, agent, verbose)
def run(self, query, conf):
return super().run(query, conf)
邮件中除了文本,通常还包含图片、表格、超链接等非结构化的多媒体信息。这些需要通过Agent理解,进一步形成结构化数据。提取信息:从邮件头部提取发件人、收件人、主题、发送时间;从正文提取纯文本、HTML、图片等。
class EmailMetaData(BaseModel):
sender:str = Field(title="sender",description="邮件发送人")
reciever:str = Field(title="reciever",description="邮件介绍送人")
email_cc:List[str] = Field(title="cc",description="邮件抄送")
email_attech:List[Union[str,Path]] = Field(title="cc",description="邮件附件")
...
之后将邮件抽象为一个Documentory数据结构:
class Documentory:
@staticmethod
def from_image(self,image:Union[Path,str]):
....
OCR技术的具体实现可以参考下面。
在结构化信息基础上进行抽象,创建特定事件。例如邮件中间出现的“交付”、“会议”这类有时间有效性的事件,会创建对应事件并通知用户。整个过程通过实体识别,提取时间、地点、人名等关键实体,然后基于这些实体理解创建事件。
class MeetingEvent:
pass
class DeliveryEvent:
pass
class MeetingEvent:
def __init__(self, meeting_memer, time, location):
self.meeting_memer = meeting_memer # 参会人员列表
self.time = time # 会议时间
self.location = location # 会议地点
def __str__(self):
return f"会议时间:{self.time},地点:{self.location},参会人员:{self.meeting_memer}"
def trigger(self):
# ... (事件触发逻辑)
if self.callback:
self.callback(self) # 执行回调函数
通过API、检索数据库、浏览网页来获取更多项目数据。这部分类似RAG,此外还会搜索知识图谱,检索召回关联邮件和历史对话。
OCR模型首推PaddlePaddle系列提供的PaddleOCR:
def image_ocr_step(agent,context,use_cache):
"""对于图像"""
from paddleocr import PaddleOCR, draw_ocr
ocr = PaddleOCR(use_angle_cls=True, lang='ch')
res = []
if context['email']:
email_data:EmailDocument = context['email']
if email_data.meta_data.email_image:
for img_path in email_data.meta_data.email_image:
result = ocr.ocr(img_path, cls=True)
# 返回的是 List[ImageResult]
使用情感分析技术判断邮件情感极性(积极、消极、中性)。这部分随后展开。
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
基于自然语言处理和图,构建邮件中间出现实体与知识库中实体之间的关系。基于实体及关系构建关系图:
import spacy
import networkx as nx
nlp = spacy.load("zh_core_web_sm")
def build_email_graph(email_content):
doc = nlp(email_content)
graph = nx.Graph()
for entity in doc.ents:
graph.add_node(entity.text, type=entity.label_)
for token in doc:
...
利用NLP技术理解邮件内容,自动提取关键信息,生成结构化数据。
Agent理解传入的邮件内容,将用户感兴趣的内容生成Query,然后根据对Query的理解生成回复:
class EmailQuery(BaseModel):
query:str
reply:str
class EmailMessage:
role:str
content:str
extra:Any
计算每个Query与EmailMessage的相似性,形成注意力机制,应用到Query。每个Query的reply生成,都是对EmailMessage信息加权线性组合的结果。
使用替换、遮蔽、加密等脱敏技术处理敏感信息。
def content_chunking_step(agent,context,use_cache): """chunking""" def retrieve_step(agent,context,use_cache): """retrieve""" def create_local_relation_graph(agent,context,use_cache): """创建邮件内部关系图""" def email_style_rewrite(agent,context,use_cache): """按照风格对邮件rewrite""" def write_email_base_on_attention(agent,context,use_cache): """生成邮件""" def email_review(agent,context,use_cache): """对邮件脱敏加密复核"""
根据用户风格调整AI Agent的回复风格,通过example借助prompt来实现。核心就是通过example提示Agent。
七麦数据官网网页地址 七麦数据官方入口在线首页
问卷星官方网站入口地址 问卷星网页版在线使用
币安Binance官方中文网站 币安App最新版下载及新手注册指南
闲鱼的严选验货在哪里看?闲鱼严选和验货宝哪个可靠
PokePay加密卡2026完整指南:申请开卡全攻略+多场景应用技巧
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
摩托车活塞环性能如何
为何比特币BTC价格跌破7.3万美元?一文拆解影响近期比特币行情的五大原因
ThinkBook系列最新价格全解析:2026年选购避坑与实时询价指南
迷你网名古风男生霸气(精选100个)
文雅简易网名男生可爱(精选100个)
GPT5.6惨遭切脑,Fable 5回归要变弱鸡版?
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
王者荣耀「西行封妖记」【孙权-仙扇使者】6月25日上线!
豆包AI专业版使用教程【新手必看】
索尼限时赠送PS Plus Premium七日会员,需手
闲鱼严选和验货宝哪个可靠?闲鱼的验货宝怎么样,,
币圈十大实用工具:从实时行情监控到数据分析、资产管理
币安杀入美股市场,重头戏bStocks还没来
陈姓和杨姓网名大全男生(精选100个)
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc