Infrastructure
English | 中文翻译
Explore the docs »
Report Bug
·
Request Feature
·
Join Our Discord
·
X
·
LinkedIn
We're excited to announce that v0.4 is currently in alpha! This release brings significant improvements and new features. Stay tuned for the official release.
For a comprehensive overview of Julep's core concepts and upcoming features, check out our detailed concepts guide.
Looking for the previous version? You can find the v0.3 README here.
We've built a lot of AI apps and understand the challenges in creating complex, stateful applications with multiple agents and workflows.
The Problems
Our hosted platform is in Beta!
To get access:
JULEP_API_KEY
in .env
Head over to docs on self-hosting to see how to run Julep locally!
pip install julep
client
from julep import Client
import os
base_url = os.environ.get("JULEP_API_URL")
api_key = os.environ.get("JULEP_API_KEY")
client = Client(api_key=api_key, base_url=base_url)
Agent is the object to which LLM settings like model, temperature along with tools are scoped to.
agent = client.agents.create(
name="Jessica",
model="gpt-4",
tools=[], # Tools defined here
about="A helpful AI assistant",
instructions=["Be polite", "Be concise"]
)
User is the object which represents the user of the application.
Memories are formed and saved for each user and many users can talk to one agent.
user = client.users.create(
name="Anon",
about="Average nerdy techbro/girl spending 8 hours a day on a laptop",
)
A "user" and an "agent" communicate in a "session". System prompt goes here.
situation_prompt = """You are Jessica, a helpful AI assistant.
You're here to assist the user with any questions or tasks they might have."""
session = client.sessions.create(
user_id=user.id,
agent_id=agent.id,
situation=situation_prompt
)
session.chat
controls the communication between the "agent" and the "user".
It has two important arguments;
recall
: Retrieves the previous conversations and memories.remember
: Saves the current conversation turn into the memory store.To keep the session stateful, both need to be True
user_msg = "Hey Jessica, can you help me with a task?"
response = client.sessions.chat(
session_id=session.id,
messages=[
{
"role": "user",
"content": user_msg,
"name": "Anon",
}
],
recall=True,
remember=True,
)
print(response.response[0][0].content)
An Agent in Julep is the main orchestrator of your application. It's backed by foundation models like GPT-4 or Claude and can use tools, documents, and execute complex tasks.
Users in Julep represent the end-users of your application. They can be associated with sessions and have their own documents and metadata.
Sessions manage the interaction between users and agents. They maintain conversation history and context.
Tools are functions that agents can use to perform specific actions or retrieve information.
Docs are collections of text snippets that can be associated with agents or users and are used for context retrieval.
Tasks are complex, multi-step workflows that can be defined and executed by agents.
An Execution is an instance of a Task that has been started with some input. It goes through various states as it progresses.
To use the API directly or to take a look at request & response formats, authentication, available endpoints and more, please refer to the API Documentation
To install the Python SDK, run:
pip install julep
For more information on using the Python SDK, please refer to the Python SDK documentation.
To install the TypeScript SDK using npm
, run:
npm install @julep/sdk
For more information on using the TypeScript SDK, please refer to the TypeScript SDK documentation.
Check out the self-hosting guide to host the platform yourself.
If you want to deploy Julep to production, let's hop on a call!
We'll help you customise the platform and help you get set up with:
We welcome contributions from the community to help improve and expand the Julep AI platform. Please see our Contributing Guidelines for more information on how to get started.
Julep AI is released under the Apache 2.0 License. See the LICENSE file for more details.
If you have any questions, need assistance, or want to get in touch with the Julep AI team, please use the following channels: