🚀🔗 Integrating Composio with Julep
Streamline the integration of Composio within the Julep agentic framework to enhance the interaction capabilities of Julep agents with external applications, significantly extending their operational range and efficiency.
Objective
- Facilitate the automation of starring a GitHub repository through the use of conversational commands within the Julep framework, leveraging Composio's OpenAI Function Calls.
Installation and Setup
Ensure you have the necessary packages installed and connect your GitHub account to allow your agents to utilize GitHub functionalities.
# Install Composio LangChain package
pip install composio-openai
# Connect your GitHub account
composio-cli add github
# View available applications you can connect with
composio-cli show-apps
Usage Steps
1. Initialize Environment and Client
Set up your development environment by importing essential libraries and configuring the Julep client.
import os
import textwrap
from julep import Client
from dotenv import load_dotenv
load_dotenv()
api_key = os.environ["JULEP_API_KEY"]
base_url = os.environ["JULEP_API_URL"]
# openai_api_key = os.environ["OPENAI_API_KEY"]
client = Client(api_key=api_key, base_url=base_url)
name = "Jessica"
about = "Jessica is a forward-thinking tech entrepreneur with a sharp eye for disruptive technologies. She excels in identifying and nurturing innovative tech startups, with a particular interest in sustainability and AI."
default_settings = {
"temperature": 0.7,
"top_p": 1,
"min_p": 0.01,
"presence_penalty": 0,
"frequency_penalty": 0,
"length_penalty": 1.0,
"max_tokens": 150,
}
2. Integrating GitHub Tools with Composio for LangChain Operations
This section guides you through the process of integrating GitHub tools into your LangChain projects using Composio's services.
from composio_julep import App, ComposioToolSet
toolset = ComposioToolSet()
composio_tools = toolset.get_tools(tools=App.GITHUB)
agent = client.agents.create(
name=name,
about=about,
default_settings=default_settings,
model="gpt-4-turbo",
tools=composio_tools,
)
Step 3: Agent Execution
This step involves configuring and executing the agent to carry out specific tasks, for example, starring a GitHub repository.
about = """
Sawradip, a software developer, is passionate about impactful tech.
At the tech fair, he seeks investors and collaborators for his project.
"""
user = client.users.create(
name="Sawradip",
about=about,
)
situation_prompt = """You are Jessica, a key figure in the tech community, always searching for groundbreaking technologies. At a tech fair filled with innovative projects, your goal is to find and support the next big thing.
Your journey through the fair is highlighted by encounters with various projects, from groundbreaking to niche. You believe in the power of unexpected innovation.
Recent Tweets
1. 'Amazed by the tech fair's creativity. The future is bright. #TechInnovation'
2. 'Met a developer with a transformative tool for NGOs. This is the
"""
session = client.sessions.create(
user_id=user.id, agent_id=agent.id, situation=situation_prompt
)
user_msg = "Hi, I am presenting my project, hosted at github repository composiohq/composio. If you like it, adding a star would be helpful "
# user_msg = "What do you like about tech?"
response = client.sessions.chat(
session_id=session.id,
messages=[
{
"role": "user",
"content": user_msg,
"name": "Sawradip",
}
],
recall=True,
remember=True,
)
pprint(response)
Step 4: Validate Response
Execute and validate the response to ensure the task was completed successfully.
execution_output = toolset.handle_tool_calls(response)
print(execution_output)
Release files for composio-julep 0.7.20
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| composio_julep-0.7.20.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| composio_julep-0.7.20-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.5 kB
Release files / composio_julep-0.7.20.tar.gz
| Download URL | composio_julep-0.7.20.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec0fdc6e9495f665067fd0e414b12889af708b5d99cfd1b6d4acbd8b990477fc
|
|
BLAKE2b-256 checksum How to use checksums |
77fde708b78ccef7e75a48923c2092d3f4c9824e544a4af4799c98c7c5706d33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / composio_julep-0.7.20-py3-none-any.whl
| Download URL | composio_julep-0.7.20-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1250c008fced5317a4c50e5378fbabf52f0fcdfa1e38977069fb254cdfdb0060
|
|
BLAKE2b-256 checksum How to use checksums |
710cf5cfd682d389ec0064011c51c5eaf6a387eb442310341ceb6046596bcbd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|