Composio:AI 开发利器,集成 100+ 工具,简化智能体构建

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

微信公众号|搜一搜:蚝油菜花
在这里插入图片描述

🚀 快速阅读

  1. Composio 是一个 AI 智能体开发辅助工具,提供 100+集成工具,简化了 AI Agent 的开发和部署。
  2. 支持开发者通过一行代码调用多种工具和框架,如 OpenAI 和 Claude、LlamaIndex 等。
  3. Composio 支持多种编程语言,提供丰富的 API 和插件系统,多种身份验证协议,适用于多种场景。

正文(附运行示例)

Composio 是什么

Composio 是一个帮助开发者创建 AI 智能体的工具。它集成了超过 100 种工具,让 AI 智能体的开发和部署变得更简单。开发者只需写一行代码,就能调用像 OpenAI、Claude、LlamaIndex 这样的工具和框架。Composio 支持多种编程语言,提供丰富的 API 和插件系统,还支持多种身份验证协议。它的目标是提升 AI 助手的实用性和互动性,适用于自动化软件开发、内容管理、数据管理等多种场景,帮助开发者高效构建和管理 AI 智能体。

Composio 的主要功能

  • 工具和框架集成:支持超过 100 个工具,包括软件、操作系统、浏览器、搜索和软件开发工具,还能与 OpenAI、Claude、LlamaIndex 等 AI 框架集成。
  • 简化开发:只需一行代码就能调用各种工具和框架,大大简化了 AI 助手的开发过程。
  • 身份验证管理:支持多种身份验证协议,如 AccessToken、RefreshToken、OAuth、APIKeys、JWT 等,简化了与不同应用的集成。
  • 检索增强生成(RAG):提供适用于动态数据的 RAG 功能,提升 AI 助手的信息检索能力。
  • 软件集成:能在 GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等 90 多个平台上执行操作。
  • 浏览器功能:提供智能搜索、截图、多标签操作、下载、上传等功能。
  • 软件工程支持:包括 Ngrok、数据库、Redis、Vercel、Git 等开发工具。
  • 多语言和框架支持:支持 Python 和 JavaScript 等多种编程语言和框架,易于扩展和集成。

如何运行 Composio

Python 快速入门

  1. 安装
pip install composio-core

如果想安装带有 openai 插件的 ‘composio’ 包:pip install composio-openai

  1. Composio 实战测试
composio add github # 连接您的 Github - 在终端中运行
from openai import OpenAI
from composio_openai import ComposioToolSet, App, Actionopenai_client = OpenAI(api_key="{{OPENAIKEY}}"
)# 初始化 Composio 工具集
composio_tool_set = ComposioToolSet()# 获取预配置的 GitHub 工具
actions = composio_tool_set.get_actions(actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]
)my_task = "Star a repo composiodev/composio on GitHub"# 设置 openai 助手
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",tools=actions,
)# 创建线程
thread = openai_client.beta.threads.create()message = openai_client.beta.threads.messages.create(thread_id=thread.id,role="user",content=my_task
)# 使用集成执行代理
run = openai_client.beta.threads.runs.create(thread_id=thread.id,assistant_id=assistant.id
)# 执行函数调用
response_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls(client=openai_client,run=run,thread=thread,
)print(response_after_tool_calls)

Javascript 快速入门

  1. 安装 Composio SDK
npm install composio-core
  1. 配置 OpenAI 和 Composio 工具集
import { OpenAI } from "openai";
import { OpenAIToolSet } from "composio-core";const toolset = new OpenAIToolSet({apiKey: process.env.COMPOSIO_API_KEY,
});async function setupUserConnectionIfNotExists(entityId) {const entity = await toolset.client.getEntity(entityId);const connection = await entity.getConnection("github");if (!connection) {// 如果此实体/用户尚未连接帐户const connection = await entity.initiateConnection(appName);console.log("通过以下方式登录: ", connection.redirectUrl);return connection.waitUntilActive(60);}return connection;
}async function executeAgent(entityName) {const entity = await toolset.client.getEntity(entityName);await setupUserConnectionIfNotExists(entity.id);const tools = await toolset.get_actions({ actions: ["github_issues_create"] },entity.id);const instruction ="Make an issue with sample title in the repo - himanshu-dixit/custom-repo-breaking";const client = new OpenAI({ apiKey: process.env.OPEN_AI_API_KEY });const response = await client.chat.completions.create({model: "gpt-4-turbo",messages: [{role: "user",content: instruction,},],tools: tools,tool_choice: "auto",});console.log(response.choices[0].message.tool_calls);await toolset.handle_tool_call(response, entity.id);
}executeAgent("your-entity-name");
  1. 运行您的脚本
node your_script.js

这将设置 Composio SDK 并执行一个使用提供的说明创建 GitHub 问题的代理。

有关更多详细信息,请参阅 Composio SDK 文档。

资源

  • Composio 项目官网:composio.dev
  • Composio GitHub 仓库:ComposioHQ/composio
  • Composio 文档:docs.composio.dev

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

微信公众号|搜一搜:蚝油菜花

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SimpleLive 1.7.3 | TV+手机,聚合抖B虎鱼四大直播

SimpleLive是一款聚合多个直播平台的应用程序,内置虎牙、斗鱼、哔哩哔哩及抖音直播,提供无广告体验,支持弹幕显示调整、夜间模式切换等功能,无需登录即可关注不同平台主播并查看其直播状态。下载安装APK后打开应用,选择…

Web Service

目录 1、概览2、SOA架构2.1 Web Service的基础协议2.2 Web Service协议栈 3 Web Service的分类3.1 应用领域3.2 服务器类型 4 厂商支持4.1 Java EE4.2 .NET4.3 WebSphere 5 其他5.1 微服务与 Web Service5.1.1 微服务与 Web 服务之间的区别5.1.2 微服务、 Web 服务的最佳实践 5…

laravel 查询数据库

数据库准备 插入 三行 不同的数据 自行搭建 laravel 工程 参考 工程创建点击此处 laravel 配置 数据库信息 DB_CONNECTIONmysql #连接什么数据库 DB_HOST127.0.0.1 # 连接 哪个电脑的 ip (决定 电脑 本机) DB_PORT3306 # 端口 DB_DATABASEyanyu…

FloodFill 算法(DFS)

文章目录 FloodFill 算法(DFS)图像渲染岛屿数量岛屿的最大面积被围绕的区域太平洋大西洋水流问题扫雷游戏衣橱整理 FloodFill 算法(DFS) 漫水填充(Flood Fi)算法是一种图像处理算法,在计算机图形学和计算机视觉中被广泛…

超详细的 Stable Diffusion Webui入门教程(二)基础操作

前言 工欲善其事,必先利其器!今天我们聊聊 Stable Diffusion WebUI 的基础操作以及各个参数都代表了什么。 所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~ 一、大模型的切换 在 Stable D…

【从零开始的LeetCode-算法】3185. 构成整天的下标对数目 II

给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如&#xff0c;1 天是 24 小时&#xff0c…

[Vue3核心语法] ref、reactive响应式数据

定义: ref用来定义&#xff1a;基本类型数据、对象类型数据&#xff1b; reactive用来定义&#xff1a;对象类型数据。 使用原则: 若需要一个基本类型的响应式数据&#xff0c;必须使用ref。 若需要一个响应式对象&#xff0c;层级不深&#xff0c;ref、reactive都可以。 …

项目管理这些问题,你是不是忍了很久?

项目管理中常见的问题&#xff0c;你是不是早就感到无奈了&#xff1f;项目进度滞后、成本超支、团队协作不畅、任务分配模糊、资源分配不合理……这些问题常常让人感到力不从心。 无论是关键节点的拖延&#xff0c;还是多部门间的沟通障碍&#xff0c;最终都会拖慢项目进展&a…

京东大模型革命电商搜推技术:挑战、实践与未来趋势

大模型对搜推技术产生了深远的影响&#xff0c;极大地推动了搜推技术的演进趋势&#xff0c;使得搜推更加的智能化和个性化&#xff0c;然而在搜推中引入大模型时同样面临一系列的挑战&#xff0c;例如商品知识的幻觉&#xff0c;复杂查询的理解&#xff0c;个性化商品推荐&…

酒店预订订房小程序源码系统 多酒店入驻+打造类似美团的酒店模式 带完整的安装代码包以及搭建部署教程

系统概述 随着移动互联网的普及&#xff0c;小程序因其轻量级、无需下载安装、即用即走的特点&#xff0c;迅速成为各行业的标配。对于酒店预订行业而言&#xff0c;小程序不仅能够有效提升用户体验&#xff0c;还能降低运营成本&#xff0c;提高转化率。本源码系统正是基于这…

js实现数组中数据有则删除无则添加-[‘12123‘,‘432233‘...]

可以使用indexOf方法来判断数组中是否存在某个元素&#xff0c;如果存在则使用splice方法删除该元素&#xff0c;如果不存在则使用push方法添加该元素。 下面是具体的代码实现&#xff1a; function addOrRemove(arr, item) {const index arr.indexOf(item);if (index -1) {…

Dockerfile和docker-compose详解

Dockerfile和docker-compose详解 文章目录 Dockerfile和docker-compose详解一、Dockerfile1. Dockerfile简介2. 构建镜像3. Dockerfile命令&#xff08;1&#xff09;FROM&#xff08;2&#xff09;WORKDIR&#xff08;3&#xff09;RUN&#xff08;4&#xff09;COPY&#xff…

MATLAB智能算法 - Immunity Algorithm免疫算法

Immunity Algorithm免疫算法 智能算法是路线规划、深度学习等等一系列领域所使用的优化算法&#xff0c;是算法进阶之路的必备之路。 前言&#xff1a;本文主要围绕解决TSP旅行商问题展开&#xff0c;对于机器人的路线规划以及非线性方程求解的问题等解决方案 对于一些其他智能…

Rust的泛型基础与实践

什么是泛型&#xff1f; 想象一下&#xff0c;我们想定义一个函数&#xff0c;它可以用来计算任意类型数据的最大值。如果我们只考虑整数&#xff0c;我们可以这样写&#xff1a; fn max(a: i32, b: i32) -> i32 {if a > b {a} else {b} }但是&#xff0c;如果我们还想…

【每日刷题】Day142

【每日刷题】Day142 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 1219. 黄金矿工 - 力扣&#xff08;LeetCode&#xff09; 2. 980. 不同路径 III - 力扣&#xff0…

C++20中头文件ranges的使用

<ranges>是C20中新增加的头文件&#xff0c;提供了一组与范围(ranges)相关的功能&#xff0c;此头文件是ranges库的一部分。包括&#xff1a; 1.concepts: (1).std::ranges::range:指定类型为range&#xff0c;即它提供开始迭代器和结束标记(it provides a begin iterato…

MP9928模块分析

MP9928 是一款高性能的同步降压 DC/DC 转换器控制器 IC&#xff0c;具有宽输入范围。以下是其操作和关键特性的总结&#xff1a; 概述 电流模式控制&#xff1a;MP9928 使用电流模式、可编程开关频率控制架构&#xff0c;通过外部 N 沟道 MOSFET 开关来调节输出电压。 反馈和…

PRCV2024:可信AI向善发展与智能文档加速构建

目录 0 写在前面1 GAI时代的挑战&#xff1a;图像内容安全1.1 图像篡改与对抗攻击1.2 生成式图像鉴别1.3 人脸鉴伪模型体验1.4 助力可信AI向善发展 2 GAI时代的机遇&#xff1a;大模型加速器2.1 TextIn大模型加速器2.2 通用文档解析2.3 文本向量模型 3 总结 0 写在前面 中国模…

认识一下:__asm { int 80h; LINUX - sys_fork }

这行代码 __asm { int 80h; LINUX - sys_fork } 使用了汇编语言的语法来直接调用 Linux 系统调用 fork。下面是对这行代码的详细解析&#xff1a; 代码解析 __asm: 这是一个用于嵌入汇编代码的指令&#xff0c;通常在 C 或 C 代码中使用&#xff0c;允许开发者直接插入汇编语言…

信息安全系统设计第七周

文章目录 密码系统设计学习内容AI 对学习内容的总结&#xff08;1分&#xff09;要求总结 第10章&#xff1a;身份认证和PKI理论基础第11章&#xff1a;实战PKI对 AI 总结的反思与补充&#xff08;2分&#xff09;要求反思与补充 学习思维导图&#xff08;2分&#xff09;要求思…