Composio

文章目录

    • 一、关于 Composio
      • 为什么是Composo?🤔
      • 主要特点 🔥
      • 例子💡
    • 二、Python入门🚀
      • 1、安装
      • 2、马上测试 Composio
    • 三、🚀Javascript入门
      • 1、安装Composo SDK:
      • 2、设置OpenAI和 Composio 工具集:
      • 3.运行您的脚本:


一、关于 Composio

Composo 是 AI代理的生产就绪工具集,为代理提供精心设计的工具,使他们能够处理复杂的任务

  • github : https://github.com/ComposioHQ/composio
  • 官网:https://www.composio.dev/
  • 官方文档:https://docs.composio.dev/introduction/intro/overview
  • API : https://docs.composio.dev/api-reference/
  • Dashboard 上试用 : https://app.composio.dev/

为什么是Composo?🤔

我们相信基于AI的代理/工作流是未来。Composo是将AI代理集成到最佳代理工具并使用它们来完成任务的最佳工具集。


主要特点 🔥

  • 100多种工具:支持一系列不同的类别
    • 软件:在GitHub、Notion、Linear、Gmail、Slack、Hubspot、赛福时等90个平台上做任何事情。
    • 操作系统:单击任意位置,键入任何内容,复制到剪切板等。
    • 浏览器:智能搜索、截屏、MultiOn、下载、上传等。
    • 搜索:谷歌搜索、困惑搜索、Tavily、Exa等。
    • SWE:Ngrok、数据库、Redis、Vercel、Git等。
    • RAG:用于任何类型数据的代理RAG!
  • 框架:在一行代码中使用带有代理框架的工具,如OpenAI、Claude、LlamaIndex、Langchain、CrewAI、Autogen、Double、Julep、Lyzr等。
  • 托管授权:支持六种不同的身份验证协议。访问代币、刷新代币、OAuth、API密钥、JWT等等,因此您可以专注于构建代理。
  • 精度:由于更好的工具设计,在您的工具调用中获得高达40%的代理精度。
  • 可嵌入:应用程序后端的Whitelabel为所有用户和代理管理身份验证和集成,并保持一致的体验。
  • 可插拔:旨在非常轻松地使用其他工具、框架和授权协议进行扩展。

例子💡

  • Competitor Researcher : https://docs.composio.dev/guides/examples/CompetitorResearcher
  • Todolist to Calendar : https://docs.composio.dev/guides/examples/todo-to-calendar
  • Github到Trellox : https://docs.composio.dev/guides/examples/github-trello

二、Python入门🚀


1、安装

要开始使用,请在终端中键入以下命令。

pip install composio-core

如果您想安装’composo’包及其openai插件:

pip install composio-openai

2、马上测试 Composio

让我们使用Composo创建一个可以启动Github Repo的AI代理。

composio add github # Connect your Github - Run this in terminal

from openai import OpenAI
from composio_openai import ComposioToolSet, App, Actionopenai_client = OpenAI(api_key="{{OPENAIKEY}}"
)# Initialise the Composio Tool Setcomposio_tool_set = ComposioToolSet()# Get GitHub tools that are pre-configured
actions = composio_tool_set.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER]
)my_task = "Star a repo composiodev/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",tools=actions,
)# 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
)# Execute Function calls
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入门

要开始使用Javascript中的Composo SDK,请执行以下步骤:


1、安装Composo SDK:

npm install composio-core

2、设置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) {// If this entity/user hasn't already connected the accountconst connection = await entity.initiateConnection(appName);console.log("Log in via: ", 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");

3.运行您的脚本:

node your_script.js

这将设置Composo SDK并执行一个代理,该代理使用提供的指令创建GitHub问题。

更多详情可见Composo SDK文档。


2024-07-25(四)

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

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

相关文章

异步复制相关概念和异步复制配置操作

目录 步骤1 复制概述 步骤2 复制的配置 1、配置主库 2、配置从库 3、创建复制专用用户 4、同步数据 5、将从库指向主库启动复制 6、验证异步复制 步骤1 复制概述 MySQL的复制就是将来自一个MySQL数据库服务器(主库)的数据复制到一个或多个MySQL数…

Python文献调研(一)环境搭建

一、安装Python版本 1.点击进入Python官网 Download Python | Python.org 2.根据自己的需求选择python的版本,点击【Download】 3.自定义安装路径,记得勾选Add Python xxx to PATH 这步是自动配置环境变量的,如果忘记勾选,建议…

深入解析AI技术:从深度学习到GPT大模型的全面探索

深入解析AI技术:从深度学习到GPT大模型的全面探索 引言 在21世纪的科技浪潮中,人工智能(AI)无疑是最引人注目的领域之一。从简单的语音助手到复杂的自动驾驶系统,AI正以前所未有的速度改变着我们的世界。而深度学习&a…

DataEase一键部署:轻松搭建数据可视化平台

DataEase是一个开源的数据可视化和分析工具,旨在帮助用户轻松创建和共享数据仪表盘。它支持多种数据源,包括关系型数据库,文件数据源,NoSQL数据库等,提供强大的数据查询、处理和可视化功能。DataEase 不仅是一款数据可…

vscode 调试web后端

1、调试环境配置 一、安装python环境管理器 其中要先在vscode选择对应的python环境,最方便的是按照环境管理器后从中选择。其中在【externsions】里面安装python即可。 如下: 二、编写launch.json文件 其中如下: {// Use IntelliSense …

Web前端知识视频教程分享(五) Bootstrap

资料下载地址: https://545c.com/f/45573183-1336822373-45bb4f?p7526 (访问密码: 7526)

C++ | Leetcode C++题解之第292题Nim游戏

题目: 题解: class Solution { public:bool canWinNim(int n) {return n % 4 ! 0;} };

【C++】——红黑树(手撕红黑树,彻底弄懂红黑树)

目录 前言 一 红黑树简介 二 为什么需要红黑树 三 红黑树的特性 四 红黑树的操作 4.1 变色操作 4.2 旋转操作 4.3 插入操作 4.4 红黑树插入代码实现 4.5 红黑树的删除 五 红黑树迭代器实现 总结 前言 我们之前都学过ALV树,AVL树的本质就是一颗平…

面试 SQL整理 常见的SQL面试题:大厂经典60题(一)

目录 SQL基础知识整理: 数据库基础知识 为什么要使用数据库 数据保存在内存 数据保存在文件 数据保存在数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别&…

photoshop学习笔记——选区3 快速选择工具

快速选择工具 W shift W 在3种快速选择工具之间切换 对象选择工具 photoshop CC中没有这个工具,利用AI,将款选中的对象快速的提取选区,测试了一下,选区制作的非常nice快速选择工具 跟磁性套索类似,自动识别颜色相似…

24年第三届钉钉杯大学生大数据挑战赛浅析

需要完整资料,请关注WX:“小何数模”! 本次钉钉杯大数据挑战赛的赛题已正式出炉,无论是赛题难度还是认可度,该比赛都是仅次于数模国赛的独一档,可以用于国赛前的练手训练。考虑到大家解题实属不易&#xf…

Laravel:揭秘PHP世界中最优雅的艺术品

1. 引言 在PHP的世界里,框架如繁星般璀璨,但Laravel以其独特的魅力和优雅,成为了众多开发者心中的艺术品。本文将深入探讨Laravel为何能在众多PHP框架中脱颖而出,成为最优雅的选择。 1.1 Laravel的诞生背景 Laravel的诞生可以…

React Native在移动端落地实践

在移动互联网产品迅猛发展的今天,技术的不断创新使得企业越来越注重降低成本、提升效率。为了在有限的开发资源下迅速推出高质量、用户体验好的产品,以实现公司发展,业界催生了许多移动端跨平台解决方案。这些方案不仅简化了开发流程&#xf…

代码随想录算法训练营day21 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

碎碎念:加油 参考:代码随想录 669. 修剪二叉搜索树 题目链接 669. 修剪二叉搜索树 思想 递归三部曲: 参数和返回值:返回值返回的是处理好的二叉搜索树。终止条件:rootNULL 返回NULL;如果root的值小于…

【计算机网络】TCP三次握手和四次挥手

客户端–发送带有 SYN 标志的数据包–一次握手–服务端 服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端 客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端 为什么是三次握手而不是两次握手? 在不可靠的网络中,可能会出现包传输…

算法刷题day18|二叉树:669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

669. 修剪二叉搜索树 如果结点的值小于 low,那么说明该结点及它的左子树都不符合要求,我们返回对它的右结点进行修剪后的结果;如果结点的值大于 high,那么说明该结点及它的右子树都不符合要求,我们返回对它的左子树进…

2023IMO预选题几何第6题

锐角 △ A B C \triangle ABC △ABC 的外接圆为 ω \omega ω, 圆 I I I 与 ω \omega ω 内切于 A A A, 且与 B C BC BC 切于点 D D D. 设直线 A B AB AB, A C AC AC 分别与 I I I 交于点 P P P, Q Q Q, 点 M M M, N N N 在直线 B C BC BC 上, 满足 B B B 是 …

Python+selenium web自动化测试知识点合集2

选择元素 对于百度搜索页面,如果我们想自动化输入“selenium”,怎么做呢? 这就是在网页中,操控界面元素。 web界面自动化,要操控元素,首先需要 选择 界面元素 ,或者说 定位 界面元素 就是 先…

基于豆瓣音乐、豆瓣图书、豆瓣电影详情获取、长短评获取【豆瓣全家桶系列】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 豆瓣电影系列基于Python的海量豆瓣电影、数据获取、数据预处理、数据分析、可视化、大屏设计项目(含数据库)基于多种机器学习的豆瓣电影评分预测与多维度可视化【可…

设计模式-结构型-09-外观模式

文章目录 1、影院管理项目2、外观模式基本介绍4、MyBatis 框架源码分析5、外观模式总结 1、影院管理项目 组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用…