-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'fix/swe-benchmark' of github.com:ComposioHQ/composio in…
…to fix/swe-benchmark
- Loading branch information
Showing
41 changed files
with
769 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
--- | ||
title: "Using Composio With Gemini" | ||
sidebarTitle: "Gemini" | ||
description: "Integrate Composio with Gemini to let them seamlessly interact with external Apps" | ||
--- | ||
|
||
## Star A Repository on GitHub | ||
In this example, we will use Gemini to star a repository on GitHub using Composio Tools | ||
|
||
<Steps> | ||
<Step title="Install Packages"> | ||
```bash Python | ||
pip install composio-gemini | ||
``` | ||
</Step> | ||
<Step title="Import Libraries & Initialize ComposioToolSet & Gemini"> | ||
```bash Python | ||
from google.genai import types | ||
from google import genai | ||
from composio_gemini import Action, ComposioToolSet, App | ||
|
||
client = genai.Client(api_key="<gemini-api-key>") | ||
toolset = ComposioToolSet(api_key="<composio-api-key>") | ||
``` | ||
</Step> | ||
<Step title="Connect Your GitHub Account"> | ||
<Info>You need to have an active GitHub Integration. Learn how to do this [here](https://youtu.be/LmyWy4LiedQ?si=u5uFArlNL0tew0Wf)</Info> | ||
<CodeGroup> | ||
```shell CLI | ||
composio login | ||
composio add github | ||
``` | ||
```python Python | ||
request = toolset.initiate_connection(app=App.GITHUB) | ||
print(f"Open this URL to authenticate: {request.redirectUrl}") | ||
``` | ||
</CodeGroup> | ||
<Tip> | ||
Don't forget to set your `COMPOSIO_API_KEY` and `GEMINI_API_KEY` in your environment variables. | ||
</Tip> | ||
</Step> | ||
|
||
<Step title="Get All GitHub Tools & Create Config"> | ||
You can get all the tools for a given app or specific actions as shown below. Learn more [here](../../patterns/tools/use-tools/use-specific-actions) | ||
```python Python | ||
tools = toolset.get_tools( | ||
apps=[ | ||
App.GITHUB | ||
] | ||
) | ||
|
||
config = types.GenerateContentConfig(tools=tools) | ||
``` | ||
</Step> | ||
<Step title="Execute the Agent"> | ||
```python Python | ||
chat = client.chats.create(model="gemini-2.0-flash", config=config) | ||
|
||
response = chat.send_message( | ||
"Can you star composiohq/composio repository on github", | ||
) | ||
|
||
print(response.text) | ||
``` | ||
</Step> | ||
</Steps> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
--- | ||
title: "Using Composio With IBM" | ||
sidebarTitle: "IBM" | ||
description: "Integrate Composio with IBM's Granite Models to let them seamlessly interact with external apps" | ||
--- | ||
|
||
**Composio enables** **IBM's Granite Models** to **connect** with many **tools**! | ||
|
||
<Tip>Goal: Star a repository on GitHub with natural language</Tip> | ||
|
||
## Video Guide | ||
<iframe | ||
width="560" | ||
height="315" | ||
src="https://www.youtube.com/embed/d3-UIp1MOXg?si=qLxkmst9cg-_Lkqb" | ||
title="YouTube video player" | ||
frameborder="0" | ||
allow="accelerometer; | ||
autoplay; | ||
clipboard-write; | ||
encrypted-media; | ||
gyroscope; | ||
picture-in-picture; | ||
web-share" | ||
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen> | ||
</iframe> | ||
|
||
### Install Packages & Connect a Tool | ||
|
||
Ensure you have the necessary packages installed and connect your GitHub account to allow your IBM agents to utilize GitHub functionalities. | ||
<CodeGroup> | ||
``` bash Run command | ||
pip install composio-langchain | ||
pip install langchain-ibm | ||
|
||
# Connect your GitHub so agents can use it. | ||
composio add github | ||
# Check all different apps which you can connect with | ||
composio apps | ||
``` | ||
</CodeGroup> | ||
|
||
### Goal: Prepare your environment by initializing necessary imports from Composio & IBM. | ||
|
||
<Steps> | ||
<Step title="Import Base Packages"> | ||
|
||
Prepare your environment by initializing necessary imports from Composio & IBM. | ||
|
||
<CodeGroup> | ||
```python Default Imports | ||
from composio_langchain import ComposioToolSet, Action | ||
from langchain_ibm import ChatWatsonx | ||
import os | ||
|
||
os.environ['WATSONX_API_KEY'] = '<ibm_api_key>' #add your ibm api key here | ||
if not os.environ.get('WATSONX_API_KEY'): | ||
raise ValueError("WATSONX_API_KEY environment variable is not set") | ||
``` | ||
|
||
</CodeGroup> | ||
|
||
</Step> | ||
|
||
<Step title="Integrating GitHub Tools with Composio"> | ||
|
||
This step involves fetching and integrating GitHub tools provided by Composio, enabling enhanced functionality for Agent operations. | ||
|
||
<CodeGroup> | ||
```python IBM Supported tools from Composio | ||
composio_toolset = ComposioToolSet() | ||
tools = composio_toolset.get_tools( | ||
actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER] | ||
) | ||
``` | ||
</CodeGroup> | ||
|
||
</Step> | ||
|
||
<Step title="IBM Agent Setup"> | ||
|
||
This step involves configuring and executing the agent to carry out actions, such as starring a GitHub repository. | ||
|
||
<CodeGroup> | ||
```python IBM Agent Setup | ||
parameters = { | ||
"decoding_method": "sample", | ||
"max_new_tokens": 100, | ||
"min_new_tokens": 1, | ||
"temperature": 0.5, | ||
"top_k": 50, | ||
"top_p": 1, | ||
} | ||
url = input('Add your IBM Cloud URL here: ') | ||
project_id = input('Add your IBM Project ID here: ') | ||
watsonx_llm = ChatWatsonx( | ||
model_id = 'ibm/granite-3-8b-instruct', | ||
url = url, | ||
project_id = project_id, | ||
) | ||
|
||
if not url or not project_id: | ||
raise ValueError("IBM Cloud URL and Project ID must be provided") | ||
|
||
llm_with_tools = watsonx_llm.bind_tools(tools) | ||
|
||
|
||
``` | ||
</CodeGroup> | ||
|
||
</Step> | ||
|
||
<Step title="Execute with your prompt/task."> | ||
|
||
Execute the following code to execute the agent, ensuring that the intended task has been successfully completed. | ||
|
||
<CodeGroup> | ||
```python Agent Execution | ||
response = llm_with_tools.invoke("Star the composiohq/composio repository") | ||
print(response) | ||
``` | ||
</CodeGroup> | ||
|
||
</Step> | ||
</Steps> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
__version__ = "0.7.0" | ||
__version__ = "0.7.1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.