AutoGen+Deepseek+chainlit的简单使用
AutoGen 的应用场景
AutoGen 作为一个强大的多智能体协作框架,可用于多种复杂任务:
- 自动化工作流:构建由多个智能体组成的流水线,例如数据收集、分析、报告生成
- 复杂问题分解:将难题拆解为子任务,分配给不同专长的智能体
- 工具使用与集成:让智能体调用外部API、数据库或执行代码
- 人机协作系统:设计需要人类参与关键决策的混合智能系统
- 教育与培训:创建交互式学习环境,智能体可作为导师或学习伙伴
使用 DeepSeek 模型配置 AutoGen
要使用 DeepSeek 模型,需要正确配置 AutoGen 的模型端点和认证信息。以下是一个完整示例:
首先你需要有一个deepseek api,访问deepseek api平台进行api购买与配置,
接着打开VsCode/Pycharm进行python代码的编写
首先安装必要的依赖库
pip install -U “autogen-agentchat” “autogen-ext[openai]”
pip install chainlit
import chainlit as cl
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient# 初始化时发送欢迎信息
@cl.on_chat_start
async def main():await cl.Message(content="你好,欢迎来到智能客服系统。请问有什么可以帮助您?").send()# 定义处理用户查询的函数
async def run_team(query: str):model_client = OpenAIChatCompletionClient(model="deepseek-chat",base_url="https://api.deepseek.com",api_key="这里输入deepseek的api秘钥",model_info={"vision": False,"function_calling": False,"json_output": True,"family": "unknown",},)assistant_agent = AssistantAgent("assistant",model_client=model_client,system_message=("你是一个智能客服助手,你的任务是帮助用户解决各种问题。""请根据用户的问题,给出一个最合适的答案。""如果你无法解决用户的问题,请直接给出一个最合适的答案。""请确保你的答案不超过100个字符。""请使用中文回答。""如果用户骂你,请回复:我知道你很急,但你先别急"),)team = RoundRobinGroupChat(participants=[assistant_agent], max_turns=1)response_stream = team.run_stream(task=query)async for msg in response_stream:if msg.source != "user" and msg.content:await cl.Message(content=msg.content, author="Agent Team").send()# 处理用户消息
@cl.on_message
async def handle_message(message: cl.Message):await run_team(message.content)if __name__ == "__main__":import os,subprocess,sysscript_name = os.path.basename(__file__)subprocess.run([sys.executable, "-m", "chainlit", "run", script_name, "-w"])
如果输入骂客服的话,客服会回复:我知道你很急,但你先别急
多智能体协作示例
以下是一个更复杂的示例,展示如何配置多个使用 DeepSeek 模型的智能体进行协作:
import autogen# 配置DeepSeek模型
config_list = [{"model": "deepseek-chat","api_base": "https://api.deepseek.com/v1","api_key": "你的DeepSeek_API密钥","api_type": "open_ai",}
]# 工具函数 - 用于数学计算
def calculate(formula):"""执行数学计算"""try:return eval(formula)except Exception as e:return f"计算错误: {str(e)}"# 创建三个不同角色的智能体
researcher = autogen.AssistantAgent(name="researcher",system_message="你是一个专业研究员,擅长收集和整理信息。",llm_config={"config_list": config_list},
)analyst = autogen.AssistantAgent(name="analyst",system_message="你是数据分析专家,擅长处理和解读数据。",llm_config={"config_list": config_list,"function_call": [{"name": "calculate", "parameters": {"formula": "string"}}],},
)analyst.register_function(function_map={"calculate": calculate})writer = autogen.AssistantAgent(name="writer",system_message="你是专业技术文档撰写人,擅长将复杂信息转化为通俗易懂的内容。",llm_config={"config_list": config_list},
)# 创建用户代理
user_proxy = autogen.UserProxyAgent(name="user_proxy",human_input_mode="TERMINATE",max_consecutive_auto_reply=10,
)# 启动多智能体协作流程
user_proxy.initiate_chat(researcher,message="""请分析当前大型语言模型的发展趋势。1. 研究当前最先进的模型及其性能指标2. 分析不同模型在参数规模和实际应用效果之间的关系3. 撰写一份技术报告总结你的发现"""
)
关键配置说明
-
API 配置:
api_base
:指向 DeepSeek 的 API 端点api_key
:你的 DeepSeek API 访问密钥api_type
:设置为 “open_ai” 以使用兼容接口
-
模型参数:
temperature
:控制输出随机性(0.0 为确定性输出,1.0 为最大随机性)timeout
:设置请求超时时间,避免长时间等待
-
函数调用:
- 通过
function_call
参数配置智能体可调用的函数 - 使用
register_function
注册实际的函数实现
- 通过
注意事项
- 确保你的 DeepSeek API 密钥具有足够权限
- 注意 API 调用频率限制,必要时添加重试机制
- 对于敏感信息,考虑添加内容过滤或隐私保护措施
- 复杂任务建议设置合理的
max_consecutive_auto_reply
以避免无限循环
通过以上配置,可以充分利用 DeepSeek 模型的能力,构建强大的多智能体系统,实现从简单问答到复杂问题解决的各种应用场景。
相关文章:

AutoGen+Deepseek+chainlit的简单使用
AutoGen 的应用场景 AutoGen 作为一个强大的多智能体协作框架,可用于多种复杂任务: 自动化工作流:构建由多个智能体组成的流水线,例如数据收集、分析、报告生成复杂问题分解:将难题拆解为子任务,分配给不…...

采用SqlSugarClient创建数据库实例引发的异步调用问题
基于SqlSugar编写的多个WebApi接口,项目初始化时采用单例模式注册SqlSugarClient实例对象,前端页面采用layui布局,并在一个按钮事件中通过Ajax连续调用多个WebApi接口获取数据。实际运行时点击按钮会随机报下面几种错误: Execute…...

第7次课 栈A
课堂学习 栈(stack) 是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子,如果想取出底部的盘子,则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素(如整数、字符、对象等&…...
部署RocketMQ
部署环境:jdk8以上,Linux系统 下载和安装指令: wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip 显示下载成功: --2025-05-10 11:34:46-- https://archive.apache.org/dist/rocketm…...

软考-软件设计师中级备考 13、刷题 数据结构
倒计时17天时间不多了,数据库、UML、等知识点有基础直接略过,法律全靠考前的一两天刷题,英语直接放弃。 一、数据结构:链表、栈、队列、数组、哈希表、树、图 1、关于链表操作,说法正确的是: A)新增一个头…...

centos的根目录占了大量空间怎么办
问题 当根目录磁盘不够时,就必须删除无用的文件了 上面的,如果删除/usr 或/var是可以释放出系统盘的 定位占空间大的文件 经过命令,一层层查哪些是占磁盘的。 du -sh /* | sort -rh | head -n 10 最终排查,是有个系统日志占了20…...

电子电器架构 --- 新能源高压上下电那点事一文通
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

每日算法-250510
每日算法学习记录 - 250510 1. LeetCode 2086. 喂食仓鼠的最小食物桶数 题目描述: 解题思路 这是一个典型的贪心问题。我们的目标是用最少的食物桶喂饱所有仓鼠。 解题过程 核心思想是:当遇到一只仓鼠时,如何放置食物桶才能最有效地利用这个桶。 …...

渗透测试行业术语1
渗透测试行业术语1 1. 肉鸡 所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是 WINDOWS 系统,也可以是 UNIX/LINUX 系统可以是普通的个人电脑,也可以是大型的服务器我们可以象操作自己的电脑那样来操…...
[思维模式-25]:《本质思考力》-6- 马哲的三大规律:对立统一规律、质量互变规律、否定之否定规律,以及在计算机领域中的体现
一、马克思主义哲学的三大规律 马克思主义哲学的三大规律是对立统一规律、质量互变规律、否定之否定规律,它们共同构成了唯物辩证法的核心内容,揭示了事物发展的根本动力、过程形式和方向特征。 以下是对这三大规律的详细阐述: 1、对立统一…...
Ubuntu22.04安装显卡驱动/卸载显卡驱动
报错 今日输入nvidia-smi报错,在安装了535和550,包括560都没办法解决,但是又怕乱搞导致环境损坏,打算把显卡卸载然后重新安装系统默认推荐版本的显卡驱动 qinqin:~$ nvidia-smi Failed to initialize NVML: Driver/library version mismatch NVML library version: 560.35卸载…...
不同类型的 SAP 项目
目录 1 实施项目 2 SAP S/4 HANA 升级项目 3 数据迁移项目 4 优化项目 5 Rollout 项目 6 运维项目 1 实施项目 企业第一次用 SAP 系统,从硬件搭建到安装 SAP、根据业务流程做配置、开发、培训业务、测试系统直到系统上线。 SAP S/4 HANA ACTIVATE 实施方法论…...

【大模型】使用 LLaMA-Factory 进行大模型微调:从入门到精通
使用 LLaMA-Factory 进行模型微调:从入门到精通 一、环境搭建:奠定微调基础(一)安装依赖工具(二)创建 conda 环境(三)克隆仓库并安装依赖 二、数据准备:微调的基石&#…...
TWAS / FUSION
FUSION 是一套用于执行转录组范围和调控组范围关联研究(TWAS 和 RWAS)的工具。它通过构建功能/分子表型的遗传成分的预测模型,并使用 GWAS 汇总统计数据预测和测试该成分与疾病的关联,目标是识别 GWAS 表型与仅在参考数据中测量的…...
矩阵短剧系统:如何用1个后台管理100+小程序?深度解析多端绑定技术
短剧行业效率革命!一套系统实现多平台内容分发、数据统管与流量聚合 在短剧行业爆发式增长的今天,内容方和运营者面临两大核心痛点:多平台运营成本高与流量分散难聚合。传统模式下,每个小程序需独立开发后台,导致人力…...

使用Python 打造多格式文件预览工具 — 图、PDF、Word、Excel 一站式查看
在日常办公或文件管理场景中,我们经常面临这样的问题:在一个文件夹中短时间内产生了大量不同类型的文件(如图片、PDF、Word、Excel),我们需要快速浏览和筛选这些文件的内容,却不希望一个个打开它们。有没有…...

[docker基础四]容器虚拟化基础之 LXC
目录 一 认识LXC 二 LXC容器操作实战 1)实战目的 2)基础知识 lxc-checkconfig lxc-create lxc-start lxc-ls lxc-info lxc-attach lxc-stop lxc-destory 3)安装LXC(我的是Ubuntu) 4)操作实战 1. 检查 lxc 是否运行…...

路由策略和策略路由的区别以及配置案例
区别 路由策略:路由策略是通过ACL等方式控制路由发布,让对方学到适当路由条目,比如有20条路由,只想让某个路由器学到10条,可以通过路由策略进行过滤。 策略路由:策略路由是通过定义策略和应用,…...

MAD-TD: MODEL-AUGMENTED DATA STABILIZES HIGH UPDATE RATIO RL
ICLR 2025 spotlight paper 构建能够在少量样本下学习出优良策略的深度强化学习(RL)智能体一直是一个极具挑战性的任务。为了提高样本效率,近期的研究尝试在每获取一个新样本后执行大量的梯度更新。尽管这种高更新-数据比(UTD&am…...

PyTorch API 10 - benchmark、data、批处理、命名张量
基于 PyTorch 2.7 文章目录 基准测试工具 - torch.utils.benchmarktorch.utils.bottlenecktorch.utils.checkpointtorch.utils.cpp_extensiontorch.utils.data数据集类型映射式数据集可迭代式数据集 数据加载顺序与采样器加载批处理与非批处理数据自动批处理(默认情…...

后缀表达式+栈(详解)(c++)
前言 很抱歉,上一期没有介绍栈stack的用法,今天简要介绍一下,再讲讲后缀表达式,用stack栈做一些后缀表达式的练习。 栈 栈stack是c中系统给出的栈,有了它,就不用自己创建栈啦! 头文件 栈sta…...

[C++类和对象]构造函数和析构函数
类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗? 并不是,任何类在什么都不写时,编译器会自动生成以下6 个默认成员函数。 默认成员函数:用户没有显式实现,编译器会…...

onenet连接微信小程序(mqtt协议)
一、关于mqtt协议 mqtt协议常用于物联网,是一种轻量级的消息推送协议。 其中有三个角色,Publisher设备(客户端)发布主题到服务器,其他的设备通过订阅主题,获取该主题下的消息,Publisher可以发…...
使用 JAX-RS 创建 REST 服务/微服务
REST(表述性状态转移)是一种基于 Web 标准和 HTTP 协议的架构风格,广泛用于构建可扩展、无状态且易于消费的 Web 服务。JAX-RS(Java API for RESTful Web Services)是 Java 提供的标准 API,通过注解简化了 RESTful Web 服务的开发和部署。JAX-RS 允许开发者使用 Java 类和…...

人脸真假检测:SVM 与 ResNet18 的实战对比
在人工智能蓬勃发展的当下,人脸相关技术广泛应用于安防、金融、娱乐等诸多领域。然而,随着人脸合成技术的日益成熟,人脸真假检测成为保障这些应用安全的关键环节。本文将深入探讨基于支持向量机(SVM)结合局部二值模式&…...
如何创建伪服务器,伪接口
创建伪接口一般是用于模拟真实接口的行为,以便在开发和测试过程中进行使用,以下是一些常见的创建伪接口的方法: 使用 Web 框架搭建: Python 和 Flask:Flask 是一个轻量级的 Python Web 框架。示例代码如下:…...

《AI大模型应知应会100篇》第54篇:国产大模型API对比与使用指南
第54篇:国产大模型API对比与使用指南 ——从百度文心到通义千问,一文看懂国内AI平台选型 📌 摘要 随着中国人工智能产业的快速发展,越来越多的国产大模型平台开始崭露头角。本文将系统梳理当前主流国产大模型 API(如…...

质量、重力、引力、惯性 的本质,以及虫洞
1、质量 物体,之所以,有质量源自于其微观结构。物体好比一块海绵,浸没在暗物质的海洋里。随暗物质海洋的涌动而不断移动。海绵微观结构越细密,受到暗物质海洋的裹携力就越大(好比汤勺,与漏勺对汤水的阻碍力。又好比纱窗与船帆对风的阻隔力。) 微观结构越细密,在相同表面积…...

基于ssm+mysql的快递管理系统(含LW+PPT+源码+系统演示视频+安装说明)
系统功能 管理员功能:个人中心、用户管理、订单管理、快递员管理;快递员功能:查看订单、更新快递状态;派单员功能:订单分配、订单管理;客户功能:订单查询、个人信息维护。 作者:计算…...
JVM——即时编译器的中间表达形式
中间表达形式(IR):编译器的核心抽象层 1. IR的本质与作用 在编译原理的体系中,中间表达形式(Intermediate Representation, IR)是连接编译器前端与后端的桥梁。前端负责将源代码转换为IR,而后…...