当前位置: 首页 > news >正文

AutoGen-构建问答智能体

概述

如https://github.com/microsoft/autogen所述,autogen是一多智能体的框架,属于微软旗下的产品。

依靠AutoGen我们可以快速构建出一个多智能体应用,以满足我们各种业务场景。

环境说明

  • python,3.10
  • AutoGen,0.4.2
  • chainlit,2.0.2
  • 大模型,deepseek 

安装依赖

pip install autogen-agentchat openai autogen-ext

        使用UI交互界面为Chainlit 安装chainlit命令

pip install chainlit

3.示例一,聊天机器人

应用场景:创建一个聊天机器人,让他给你回复

代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File    : ai_hub.py
# @Software: PyCharm
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="sir 我是贾维斯,有什么可以帮您?").send()

async def run_team(query: str):
    model_client = OpenAIChatCompletionClient(model="deepseek-chat", base_url="https://api.deepseek.com",api_key="YOU DEEPSEEK API KEY", model_info={
            "vision": False,
            "function_calling": False,
            "json_output": True,
            "family": "unknown",
        }, )
    assistant_agent = AssistantAgent("assistant", model_client=model_client,
                                     system_message="你是一个机器人,请根据你所会的知识与用户进行友好交流!")
    team = RoundRobinGroupChat(participants=[assistant_agent], max_turns=1)
    response_stream = team.run_stream(task=query)
    async for msg in response_stream:
        if hasattr(msg, "source") and msg.source != "user" and hasattr(msg, "content"):
            msg = cl.Message(content=msg.content, author="Agent Team")
            await msg.send()

@cl.on_message
async def main(message: cl.Message):
    await run_team(message.content)

启动机器人

chainlit run .\ai_hub.py -w

结果及界面

相关文章:

  • C#程序员接口调用工具与方法
  • Unity进阶课程【二】Mask 组件的使用 UI遮罩效果以及透明抠图效果
  • Linux 部署 Spring Boot 项目, Web项目(2025版)
  • SpringCloud
  • Java8计算集合属性的最小值
  • 基于javaweb的SpringBoot杂物商城系统设计与实现(源码+文档+部署讲解)
  • 正则表达式入门及常用的正则表达式
  • SpringCloudAlibaba项目搭建
  • 数据库原理9
  • Tcp网络通信的基本流程梳理
  • docker指令整理
  • SpaceClaim二次开发(4)
  • MATLAB风光柴储微网粒子群算法
  • 上海高考解析几何
  • 『大模型笔记』什么是MCP?将AI智能体与数据库和API集成
  • 向量库集成指南
  • Windows下安装Git客户端
  • 关于在vue3中使用keep-live+component标签组合,实现对指定某些组件进行缓存或不缓存的问题
  • 【论文笔记】Contrastive Learning for Compact Single Image Dehazing(AECR-Net)
  • 一窥DeepSeek开源EPLB项目:揭开技术背后的面纱
  • html网站开发/地推网推平台
  • 公路建设新闻网站/做百度推广的网络公司
  • 建网站的公司不肯签合同/如何写软文
  • 网站的域名每年都要续费/产品营销推广策略
  • 公司网站建设大概多少钱/怎么开网站平台挣钱
  • 手机电商网站开发/seo是什么职位简称