Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/composiohq/composio
- Owner: ComposioHQ
- License: other
- Created: 2024-02-23T13:58:27.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-01-20T13:19:25.000Z (about 20 hours ago)
- Last Synced: 2025-01-20T14:28:26.338Z (about 19 hours ago)
- Topics: agents, ai, ai-agents, aiagents, developer-tools, function-calling, gpt-4, gpt-4o, hacktoberfest, hacktoberfest2024, javascript, js, llm, llmops, python, typescript
- Language: Python
- Homepage: https://docs.composio.dev
- Size: 854 MB
- Stars: 14,183
- Watchers: 43
- Forks: 4,256
- Open Issues: 41
-
Metadata Files:
- Readme: README-CN.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.MD
- Authors: AUTHORS.md
Awesome Lists containing this project
README
适用于 AI 代理的生产就绪工具集什么是Composio?
Composio 为 AI 代理提供可用于生产的工具集,提供:
- 支持多个类别的 250 多种工具:
- GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等软件工具 &
更多
- 操作系统操作, 包括文件工具、shell 工具、代码分析工具 &
更多
- 通过 Google、Perplexity、Tavily 和 Exa 实现搜索功能 &
更多
- GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce 等软件工具 &
- 全面的框架支持,包括 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 存储库中发起讨论。
## 感谢所有贡献者