热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >deepseekers 第一个全面拥抱 deepseek 的国产 AI Agent 框架

deepseekers 第一个全面拥抱 deepseek 的国产 AI Agent 框架

来源:互联网 更新时间: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更容易、更流畅地与外界交互,使用工具,输出结构化结果。

项目结构

  • core

    文件:对Agent、Task、Message、Result这些核心概念的抽象。
  • extension

    :针对实际落地场景给出完整解决方案。
  • rag

    :提供构建增强知识库的各种组件。

第一阶段:三个落地场景

第一阶段主要瞄准三个落地场景:邮件助手、数据分析、项目空间。为什么选这三个?因为它们在AI Agent能力测试中各有独特作用。先说邮件助手。

场景1:邮件助手

选择邮件助手,理由很直接:我实际接触过这样的需求——一个实实在在存在的客户需求,所以算是有些经验。而且邮件处理是工作中的高频场景,客户来自海外的情况就更加常见了。

面临挑战

结构化数据

非结构化数据提取是第一个坎。邮件里经常出现图片、音频、超链接。需要从这些多媒体内容中提取信息,形成结构化数据,供下一个流程使用。

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="邮件中显出的图")

邮件中存在超链接处理方案

  • 通过建立黑名单和白名单对链接分类,未注册的链接需要询问Human确认后才可访问。
  • 对超链接的用途给予理解和分析。
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):
    """创建邮件内部关系图"""

beyond 邮件

收集项目以外更丰富的信息,比如知识库、历史对话等。

技术上的解决方案

针对以上挑战,逐一给出解决方案。对于邮件中的图片和视频理解,通过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)  # 执行回调函数

邮件获取

  • email库

    :Python标准库,用于解析邮件内容。
  • smtplib

    :也是Python标准库,用于与SMTP服务器交互,发送电子邮件。通常与email库结合使用。

外部知识

通过API、检索数据库、浏览网页来获取更多项目数据。这部分类似RAG,此外还会搜索知识图谱,检索召回关联邮件和历史对话。

  • 检索和更新知识图谱
  • 召回
  • 公司客户组织图,检索邮件相关人
  • 客户询问去知识库检索

涉及技术

文本解析

  • 邮件内容格式多样——纯文本、HTML、富文本等,需统一解析。
  • 结构化非结构化数据
  • 提取邮件概要

OCR图像识别

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。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc