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.mzph.cn/pingmian/49714.shtml

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

相关文章

全志T113-S3裸机定时器驱动(timer0,timer1操作)

虽然只有2个定时器,但是好在是32bit的,日常使用刚好够,1个定时器当做StopWatch定时器,1us精度,用于时间测量,1个定时器给OS作为滴答时钟使用。 直接上代码: /********************************…

无线领夹麦克风哪个牌子好?几十块和几百块的领夹麦克风推荐

现如今视频自媒体行业还在蓬勃发展,麦克风对于自媒体行业可以说是必不可少的装备了,在互联网“内卷”的时代,各大视频博主、Up主、主播大多都会使用无线麦克风来辅助视频和直播内容输出。无线领夹麦克风作为视频行业中的麦克风新宠&#xff0…

深入理解TCP:互联网通信的基石

深入理解TCP:互联网通信的基石 引言TCP的普遍应用TCP连接的建立与维护三次握手(Three-Way Handshake)连接的可靠性与超时重传数据传输与流量控制连接的终止状态转换 TCP与UDP的对比TCP协议栈的层级结构应用层(Application Layer&a…

DevExpress WPF中文教程:如何完成GridControl的列和编辑器配置?

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

【C++BFS算法】2192. 有向无环图中一个节点的所有祖先

本文涉及知识点 CBFS算法 LeetCode2192. 有向无环图中一个节点的所有祖先 给你一个正整数 n ,它表示一个 有向无环图 中节点的数目,节点编号为 0 到 n - 1 (包括两者)。 给你一个二维整数数组 edges ,其中 edges[i]…

springcloud rocketmq 新增的消费者组从哪里开始消费

如果新建一个新的消费者组,是否会消费历史消息,导致重复消费? 直接在 console 界面新增消费者组,但是没有办法绑定订阅关系,没有找到入口,在 控制台项目源码 rocketmq-externals 也没有找到可以确定订阅关系…

Android 常用调试工具/方法解析

一、内存相关 参考Android内存分析命令_dumpsys meminfo 算出rss-CSDN博客 1、基本概念 1)PSS & RSS & USS & VSS a、PSS 概念:全称Proportional Set Size,根据进程实际使用的内存量按照共享比例分配给进程的一种内存度量方…

SpringBoot 项目配置文件注释乱码的问题解决方案

一、问题描述 在项目的配置文件中,我们写了一些注释,如下所示: 但是再次打开注释会变成乱码,如下所示: 那么如何解决呢? 二、解决方案 1. 点击” File→Setting" 2. 搜索“File Encodings”, 将框…

华为OD机试 - 小明找位置 (Java 2024年C卷D卷)

华为OD机试(C卷D卷)2024真题目录(Java & c & python) 题目描述 小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。 算法复杂度要求不高于nLog(n);学号为整数…

Wonder3D 论文学习

论文链接:https://arxiv.org/abs/2310.15008 代码链接:https://github.com/xxlong0/Wonder3D 解决了什么问题? 随着扩散模型的提出,3D 生成领域取得了长足进步。从单张图片重建出 3D 几何是计算机图形学和 3D 视觉的基础任务&am…

World of Warcraft [CLASSIC] Timebadge

游戏币【每个服务器实时金价不一样,本例子是5000-6000金】 1枚【魔兽世界时光徽章】 30天游戏时间。 5760金币游戏币,策划如何消耗游戏里面的金币总量,以及如何留住那些非人民币玩家呢 30天加上去了 World of Warcraft [CLASSIC] [魔兽世界…

c# TcP 开发

在C#中进行TCP开发,通常使用System.Net.Sockets命名空间下的TcpListener和TcpClient类。以下是一个简单的TCP服务器和客户端示例。 TCP服务器端: using System; using System.Net; using System.Net.Sockets; using System.Text;class TcpServer {private TcpList…

搜索与下载Stable Diffusion 模型

我只是一个刚开始学习SD没多久小白,拿到别人的工作流想要运行时,很多时候还要下载对应的模型才能正常运行,虽然也可以通过comfyui-manager下载,不过有时候好像会下载失败,而单独下载所需模型,我自己试过&am…

WebKit的屏幕唤醒:保持设备活力的API

WebKit的屏幕唤醒:保持设备活力的API 在现代Web应用中,保持用户的持续参与和提供流畅的体验至关重要。WebKit的屏幕唤醒(Wake Lock API)为此提供了一个强大的解决方案。这个API允许Web应用在特定条件下阻止设备的屏幕进入休眠状态…

英语科技写作 希拉里·格拉斯曼-蒂(英文版)pdf下载

下载链接: 链接1:https://pan.baidu.com 链接2:/s/1fxRUGnlJrKEzQVF6k1GmBA 提取码:b69t 由于是英文版,可能有些看着不太方便,可以在网页版使用以下软件中英文对照着看,看着更舒服,…

Centos常用运维命令及使用示例

命令 功能说明 使用示例 man 查看命令帮助 man ls help 查看Linux内置命令的帮助 help cd ls 功能是列出目录的内容 ls cd 从当前工作目录切换到指定的工作目录 cd /root/home cp 其功能为复制文件或目录 cp file1 /root/home/file2 find 用于查找目录及目录下的文件 find /hom…

图书管理系统设计

设计一个图书管理系统时,我们需要考虑系统的基本功能、用户需求、技术选型以及数据的安全性和完整性。下面是一个基本的图书管理系统的设计概览: 1. 系统目标 管理图书信息:添加、删除、修改图书信息。借阅管理:处理借书、还书流…

Express 框架基本用法以及相关知识点

Express框架基本用法包括安装、创建应用、监听请求和响应客户端 Express 框架基本用法 1.安装: 使用npm或cnpm将Express安装到项目中,命令为$ npm install express4.17.1。安装后,还需安装一些额外的中间件,如body-parser、coo…

Python 教程(二):语法与数据结构

目录 前言专栏列表语法特点实例代码基本数据类型变量命名规则赋值动态类型作用域示例代码 运算符list、set和dict 数据结构 区别1. list(列表)2. set(集合)3. dict(字典) 总结 前言 Python 是一种计算机编…

Linux调试器gdb

1.debug版本的文件才能调试 gcc默认编译生成的是release版本,在输入gcc编译指令时,要加-g,才会生成debug版本的可执行文件。 可以看到,code_dbug比code大,因为debug版本含有调试信息,往往比release版本的…