Composio:开源项目中的AI智能体任务执行利器

news2024/11/15 12:52:51

目录

  • 一、引言
  • 二、Composio 简介
  • 三、Composio 的功能特性
  • 四、Composio 的应用场景
  • 五、Composio 的应用实践
    • 1、安装 Composio 核心库
    • 2、安装OpenAI
    • 3、添加 GitHub 集成
    • 4、初始化Composio工具集
    • 5、获取预配置的 GitHub 工具
    • 6、工具函数配置
    • 7、执行工具函数
  • 六、结语


一、引言

在人工智能技术迅速发展的今天,开发高效的 AI 智能体成为了许多开发者追求的目标。Composio 作为一款面向 AI 智能体且生产就绪的工具集,为开发者提供了强大的支持,使其能够更轻松地构建和管理 AI 智能体。本文将详细介绍 Composio 的相关信息,包括其功能特性、应用场景以及应用实践等方面。

二、Composio 简介

Composio 自称是“面向 AI 智能体的生产就绪工具集”,其官网为https://composio.dev/,GitHub 主页为https://github.com/composiohq/composio。它为开发者提供了高质量的工具和集成,让开发者无需担心单行代码中的身份验证、准确性和可靠性。Composio 为 AI 智能体的开发提供了一个全面、灵活且强大的平台,使其能够适应各种不同的应用场景和需求。其设计理念是基于 AI 智能体/工作流是未来的方向,是将 AI 智能体集成到最佳代理工具并使用它们来完成任务的最佳工具集。
在这里插入图片描述

三、Composio 的功能特性

  1. 支持 100+工具,涵盖软件、操作系统、浏览器、搜索、SWE 等多个类别,包括在 GitHub、Notion、Linear、Gmail、Slack、HubSpot、Salesforce 等平台上的各种操作,以及单击、键入、复制到剪贴板、智能搜索、截屏、多开、下载、上传等功能,还支持谷歌搜索、Perplexity 搜索、Tavily、Exa 等搜索工具,以及 Ngrok、Database、Redis、Vercel、Git 等 SWE 工具
  2. 具备检索增强生成(RAG)功能,适用于任何类型的动态数据的 RAG 智能体。
  3. 轻松集成 OpenAI、Claude、LlamaIndex、LangChain、CrewAI、Autogen、Gemini、Julep、Lyzr 等 AI 框架。
  4. 托管授权支持六种不同的身份验证协议,包括 AccessToken、RefreshToken、OAuth、APIKeys、JWT 等,将其抽象出来以便开发者专注于构建代理。
  5. 由于更好的工具设计,工具调用的代理准确率提高了 40%。
  6. 可嵌入到应用程序的后端进行白标,管理所有用户和代理的身份验证和集成,并保持一致的体验。
  7. 可插拔的设计旨在非常轻松地使用其他工具、框架和授权协议进行扩展。
    在这里插入图片描述

四、Composio 的应用场景

  1. 应用类别
  • 任务执行智能体:可通过与外部 API、RPCs、Shells、文件管理器、浏览器等交互来执行任务,例如创建 GitHub 仓库、管理文件等。
  • 代码执行智能体:能够执行代码并与本地系统交互,处理更复杂的逻辑和自动化任务。
  • 触发器和动作智能体:为 100 多种广泛使用的软件设置触发器和动作,响应特定事件并执行相应操作。
  • 身份验证管理智能体:处理用户身份验证,支持多种认证协议,使智能体能够代表用户与各种工具集成并执行操作。
  • 可观察性智能体:提供全面的可观察性和日志记录功能,允许开发者实时监控和跟踪智能体与工具的每一次交互。
  • 集成开发智能体:提供了与 Python 和 JavaScript 的原生支持,轻松地将智能体集成到现有的应用程序中。
  • 多用户管理智能体:能够管理多个用户的认证,为不同的用户执行操作,提高了灵活性和可扩展性。
  • 跨平台智能体:不仅可以在本地系统上运行,还可通过浏览器等工具与 Web 应用交互,扩展了应用范围。
  1. 具体场景
  • 自动化软件开发流程,如创建和管理 GitHub 仓库、自动化代码审查和测试流程。
  • 内容管理,包括管理博客和网站内容的发布、自动化社交媒体帖子的发布。
  • 数据管理,实现自动化数据收集、整理和分析,以及管理数据库和文件存储。
  • 客户服务,提供自动化的客户支持和帮助,管理客户反馈和工单系统。
  • 电子商务领域的自动化订单处理和库存管理,以及管理在线商店的产品列表和定价。
  • 项目管理中的自动化项目任务和里程碑的跟踪,管理团队协作和沟通。
  • 教育和培训方面的自动化课程内容的发布和更新,管理在线学习平台的学生互动和评估。
  • 健康和医疗行业的自动化患者记录和预约管理,提供健康咨询和信息管理。
  • 金融和会计领域的自动化交易记录和财务报告,管理预算和支出。
  • 安全和监控的自动化安全监控和警报系统,管理访问控制和身份验证。
  • 研究和开发的自动化科学实验和数据分析,管理研究项目和出版物。
  • 娱乐和媒体的自动化电影和音乐内容的发布,管理版权和许可。
  • 人力资源管理的自动化员工记录和福利管理,管理招聘和培训流程。
  • 法律和合规的自动化法律文件和合同管理,管理合规性和审计。
  • 作为个性化的虚拟助手服务,管理日程安排和提醒。

五、Composio 的应用实践

以下是如何使用 Composio 与 GitHub 集成,代表用户为某个开源存储库加星标的示例代码
首先需要安装 Composio 的核心库和相关插件,安装命令如下:

1、安装 Composio 核心库

pip install composio-core

2、安装OpenAI

安装 Composio 的 OpenAI 插件(需要 OpenAI 的场景)

pip install composio-openai

3、添加 GitHub 集成

添加 GitHub 集成(当前场景需要使用GitHub)

composio add github

4、初始化Composio工具集

导入依赖包、初始化Composio 工具集和OpenAI客户端

from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action
#初始化OpenAI客户端
openai_client = OpenAI(api_key="**\*\***OPENAIKEY**\*\***")

# 初始化Composio 工具集
composio_toolset = ComposioToolSet(api_key="**\*\***COMPOSIO_API_KEY**\*\***")

5、获取预配置的 GitHub 工具

# Get GitHub tools that are pre-configured
actions = composio_toolset.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER])

6、工具函数配置

my_task = "Star a repo composiohq/composio on GitHub"

# Setup openai assistant
assistant_instruction = "You are a super intelligent personal assistant"

assistant = openai_client.beta.assistants.create(
    name="Personal Assistant",
    instructions=assistant_instruction,
    model="gpt-4-turbo-preview",
    tools=actions,  # type: ignore
)


# create a thread
thread = openai_client.beta.threads.create()
message = openai_client.beta.threads.messages.create(thread_id=thread.id,role="user",content=my_task)

# Execute Agent with integrations
run = openai_client.beta.threads.runs.create(thread_id=thread.id,assistant_id=assistant.id)

7、执行工具函数

# Execute Function calls
response_after_tool_calls = composio_toolset.wait_and_handle_assistant_tool_calls(
    client=openai_client,
    run=run,
    thread=thread,
)

print(response_after_tool_calls)

六、结语

Composio 作为一款强大的面向 AI 智能体的生产就绪工具集,为开发者提供了丰富的功能和广泛的应用场景。通过支持多种工具、框架集成以及身份验证协议,它大大简化了 AI 智能体的开发和管理过程,提高了开发效率和代理准确率。无论是在软件开发、内容管理、数据处理还是其他众多领域,Composio 都展现出了巨大的潜力和价值。随着人工智能技术的不断发展,相信 Composio 将在未来的 AI 应用开发中发挥更加重要的作用,为开发者带来更多的便利和创新。

参考资料

  • Composio 官网
  • Composio GitHub 主页
  • Composio文档说明

在这里插入图片描述

🎯🔖更多专栏系列文章:AI大模型提示工程完全指南AI大模型探索之路(零基础入门)AI大模型预训练微调进阶AI大模型开源精选实践AI大模型RAG应用探索实践🔥🔥🔥 其他专栏可以查看博客主页📑

😎 作者介绍:我是寻道AI小兵,资深程序老猿,从业10年+、互联网系统架构师,目前专注于AIGC的探索。
📖 技术交流:欢迎关注【小兵的AI视界】公众号或扫描下方👇二维码,加入技术交流群,开启编程探索之旅。
💘精心准备📚500本编程经典书籍、💎AI专业教程,以及高效AI工具。等你加入,与我们一同成长,共铸辉煌未来。
如果文章内容对您有所触动,别忘了点赞、⭐关注,收藏!加入我,让我们携手同行AI的探索之旅,一起开启智能时代的大门!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可定制化内容具体识别事物,多方位同时监管的智慧快消开源了

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。国产化人工智能“…

Vue实现zip压缩下载

1,安装依赖npm //jszip是一个用于创建、读取和编辑.zip文件的JavaScript库 https://stuk.github.io/jszip/ npm install jszip https://www.npmjs.com/package/file-saver npm install file-saver 2,在所需的页面中引入对应包 import JSZip from &…

3.服务注册_服务发现

文章目录 1.服务注册_服务发现1.1服务注册概念及图解介绍2.2 CAP理论2.3 常见的注册中心(了解)2.4 Eureka组件介绍2.4.1.搭建注册中心2.4.2服务注册2.4.3服务发现 大家好,我是晓星航。今天为大家带来的是 服务注册_服务发现 相关的讲解!😀 1…

自然语言常见面试题及答案(41~60)

Reply:面试题 获取资料下载 文章目录 41. 谈谈在自然语言处理中,如何评估模型的性能?42. 什么是语言模型(Language Model)?它在自然语言处理中的作用是什么?43. 如何进行文本分类任务&#xff…

外卖点餐配送系统源码的模块化设计:快速开发与迭代的秘诀

在快速发展的外卖行业中,点餐配送系统的开发需要具备高效、可扩展、易维护的特点。模块化设计能够有效地解决这些问题,通过将系统功能分解为多个独立的模块,使得开发团队可以快速开发和迭代每个模块,减少耦合度,提高系…

SpringBoot-读取配置文件方式

前言 Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,读取配置文件的时候,首先获取的是file:/config/文件下的配置文件,也就是项目下config文件里面的配置文件&…

Leetcode 216.组合总和Ⅲ 回溯+剪枝 C++实现

Leetcode 216.组合总和Ⅲ 问题:找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字 1 到 9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 算…

【rancher镜像】修改rancher官方镜像仓库为私有仓库

背景 在使用rancher构建k8s时,由于中国区网络问题经常没法访问docker的官方仓库镜像docker.io,而rancher在构建k8s时,会默认从docker.io去下载镜像,由于网络原因,构建就会存在问题,镜像无法下载&#xff0…

Cxx primer-chap17-Specialized Library Facilities

tuple(元组)是一个模板,类似于pair,但是支持多个member,其主要用于将多个数据合并成一个对象:不像pair访问成员是固定的(first/second),访问tuple的成员需要使用函数模板get:bitset类比位运算方…

PDF秒变Word,你的文档编辑从此开挂!

在现代办公中,PDF和Word是我们最常接触的两种文件格式。PDF因其良好的兼容性和固定的格式而广受欢迎,但在编辑时却常常让人感到束手无策。而Word则因其强大的编辑功能成为文档处理的首选。 那么,如何将PDF转化为Word,让文档编辑更…

Linux多线程——线程的概念和控制

文章目录 线程的概念进程和线程对比 线程的控制创建线程与分配任务线程终止线程等待线程分离 pthread线程库 线程的概念 线程是我们经常听到的一个概念,他和进程有什么关系呢 从操作系统课本里我们可能听说过,线程是一个微缩版的进程,他拥有…

vue将二维码做成名片,并且生成图片保存

效果图 1. 安装html2canvas 首先,你需要在你的Vue项目中安装html2canvas。你可以通过npm或yarn来安装它: npm install html2canvas # 或者 yarn add html2canvas2.组件形式 2.1 创建组件 在你的Vue项目中,创建一个新的Vue组件&#x…

YOLO-World: Real-Time Open-Vocabulary Object Detection:实时开放词汇对象检测

YOLO系列探测器已成为高效实用的工具。然而,它们对预定义和训练的对象类别的依赖限制了它们在开放场景中的适用性。针对这一限制,我们引入了YOLO-World,这是一种创新方法,通过视觉语言建模和大规模数据集的预训练,增强…

深度学习入门-10

基于小土堆学习 池化层学习 池化层(Pooling Layer)是卷积神经网络(CNN)中的一种重要组件,它的主要作用是逐步减小数据的空间尺寸(即高度和宽度),以减少网络中参数的数量和计算量&a…

OpenCV绘图函数(2)绘制圆形函数circle()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 绘制一个圆。 cv::circle 函数用于绘制一个给定中心和半径的简单圆或填充圆。 函数原型 void cv::circle (InputOutputArray img,Point cen…

a探索Python中的DOM操作神器:pyquery

文章目录 探索Python中的DOM操作神器:pyquery背景:为什么选择pyquery?pyquery是什么?如何安装pyquery?五个简单的pyquery函数使用方法场景应用:pyquery在实际开发中常见bug及解决方案总结 探索Python中的DO…

游泳耳机哪个牌子好?四大爆款游泳耳机实测,优缺点秒懂!

在快节奏的现代生活中,游泳不仅是一种锻炼身体的方式,更是一种放松心情、享受宁静的休闲活动。而音乐,作为情感的载体,其在游泳过程中的陪伴,无疑能够让人更加沉浸于水下的宁静与自由。因此,一款性能优越、…

积鼎科技携手潍柴动力的喷嘴雾化模拟项目荣获2024年数字仿真卓越应用奖

近日,积鼎科技携手潍柴动力股份有限公司(以下简称“潍柴动力”),凭借创新的喷嘴雾化一体化模拟仿真项目,其成果价值赢得了行业专家的一致认可,成功荣获2024年度数字仿真科技奖卓越应用奖。潍柴动力作为中国…

唯创知音在线TTS方案简介及测试版操作说明

一:背景介绍 在物联网与智能设备日新月异的今天,音频传输与控制技术成为了提升用户体验的关键环节。WT2605C蓝牙音频更新方案,凭借其强大的功能集与高效的交互设计,为两轮电动车、电子锁、提示器、智能安防等多个领域带来了前所未…

OpenAI将禁止中国使用ChatGPT了,你知道吗?

由于政策、法律原因,2024年7月9日以后OpenAI将禁止中国使用ChatGPT 以及调用相关接口,这样的话国内就没法使用ChatGPT 开发应用了。 不过不要急,国内有很多类似ChatGPT 的AI大模型,比如:文心一言、通义千问、ChatGLM、…