Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/composiohq/composio

Composio equip's your AI agents & LLMs with 100+ high-quality integrations via function calling
https://github.com/composiohq/composio

agents ai ai-agents aiagents developer-tools function-calling gpt-4 gpt-4o hacktoberfest hacktoberfest2024 javascript js llm llmops python typescript

Last synced: about 17 hours ago
JSON representation

Composio equip's your AI agents & LLMs with 100+ high-quality integrations via function calling

Awesome Lists containing this project

README

        


英语 | 中国人 | 日本人




Composio logo


Composio Logo




阅读文档



PyPI


NPM


Downloads


适用于 AI 代理的生产就绪工具集

Illustration

什么是Composio?


Composio 为 AI 代理提供可用于生产的工具集,提供:



  • 支持多个类别的 250 多种工具:

    • GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等软件工具 &

      更多


    • 操作系统操作, 包括文件工具、shell 工具、代码分析工具 &

      更多


    • 通过 Google、Perplexity、Tavily 和 Exa 实现搜索功能 &

      更多




  • 全面的框架支持,包括 OpenAI、 Groq、Claude、LlamaIndex、Langchain、CrewAI、Autogen、Gemini 以及更多

  • 支持多种协议 (OAuth、API 密钥、Basic JWT) 的托管身份验证

  • 通过优化设计将工具调用准确率提高高达 40%

  • 用于后端集成的白标解决方案

  • 支持自定义工具和扩展的可插拔架构

## 📋 目录

- [Python 入门](#开始使用-python)
- [1. 安装](#1-安装)
- [2. 创建代理并执行工具](#2-创建代理并执行工具)
- [JavaScript 入门](#javascript-入门)
- [1. 安装](#1安装)
- [2.创建代理并执行工具](#2-创建代理并执行工具-1)
- [示例](#示例)
- [Python 示例](#python-示例)
- [JavaScript 示例](#javascript-示例)
- [Star 历史](#星号历史)
- [获取帮助](#获取帮助)
- [贡献](#贡献)
- [请求功能](#请求功能)
- [感谢所有贡献者](#感谢所有贡献者)

## 开始使用 Python

### 1. 安装

首先安装软件包

```bash
pip install composio-core
```

安装“composio”包及其 openai 插件 `pip install composio-openai`.

### 2. 创建代理并执行工具

让我们使用 OpenAI 创建 AI 代理,并使用 Composio 的 GitHub 工具为 GitHub 存储库加注星标

> [!NOTE]
> 在您的环境变量中设置您的 COMPOSIO_API_KEY 和 OPENAI_API_KEY.

将你的 GitHub 帐户连接到 Composio
```bash
composio add github # Run this in terminal
```

```python

from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action

openai_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 入门

要开始使用 JavaScript 中的 Composio SDK, 请按照以下步骤操作:

### 1.安装:
```bash
npm install composio-core
```

### 2. 创建代理并执行工具

让我们使用 OpenAI 创建一个 AI 代理,并使用 Composio 的 GitHub 工具来加注 GitHub 存储库

> [!NOTE]
> 在您的环境变量中设置您的 COMPOSIO_API_KEY 和 OPENAI_API_KEY。

将你的 GitHub 帐户连接到 Composio
```bash
composio add github # 在终端中运行
```

```javascript
import { OpenAIToolSet } from "composio-core";
import OpenAI from "openai";

const toolset = new OpenAIToolSet({ apiKey: process.env.COMPOSIO_API_KEY });
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const tools = await toolset.getTools({ actions: ["GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER"] });

async function createGithubAssistant(openai, tools) {
return await openai.beta.assistants.create({
name: "Github Assistant",
instructions: "You're a GitHub Assistant, you can do operations on GitHub",
tools: tools,
model: "gpt-4o"
});
}

async function executeAssistantTask(openai, toolset, assistant, task) {
const thread = await openai.beta.threads.create();
const run = await openai.beta.threads.runs.create(thread.id, {
assistant_id: assistant.id,
instructions: task,
tools: tools,
model: "gpt-4o",
stream: false
});
const call = await toolset.waitAndHandleAssistantToolCalls(openai, run, thread);
console.log(call);
}

(async () => {
const githubAssistant = await createGithubAssistant(openai, tools);
await executeAssistantTask(
openai,
toolset,
githubAssistant,
"Star the repository 'composiohq/composio'"
);
})();
```

## 示例

### [Python 示例](https://docs.composio.dev/guides/python/)

### [JavaScript 示例](https://docs.composio.dev/guides/javascript/)

## 星号历史

[![Star History
Chart](https://api.star-history.com/svg?repos=composiohq/composio&type=Date)](https://star-history.com/#composiohq/composio&Date)

## 获取帮助

- 阅读 docs.composio.dev 上的文档
- 在 discord 上发布您的问题

## 贡献

我们是一个开源项目,欢迎贡献。请阅读贡献指南了解更多信息,并在开始之前查看我们的行为准则

## 请求功能

- 如果您有功能请求,请打开问题
发出拉取请求,或在我们的功能请求频道中提交。
- 如果您有改进想法,也可以在我们的 GitHub 存储库中发起讨论。

## 感谢所有贡献者


贡献者列表






discord
   

youtube
   

x
   

linkedin