How to Create a Julep Session and Chat with an Agent

This guide will walk you through the process of creating an agent, setting up a session, and engaging in a conversation using the Julep SDKs.

This guide is minimalistic and designed to quickly set you up to chat with the agent. It does not cover all the features that Julep agents and sessions provide. For more advanced usage, please check out the Agents and Sessions concepts.

Step 1: Initialize the Julep Client

First, you need to initialize the Julep client with your API key.

from julep import Julep

# Initialize the Julep client
julep = Julep(api_key="your_api_key")

Step 2: Create an Agent

Create an agent with specific instructions and a model. This agent will be used in the session.

# Create an agent
agent = julep.agents.create(
    name="Chat Buddy",
    about="A friendly and helpful chatbot",
    instructions=[
        "Be friendly and engaging.",
        "Be helpful and provide useful information.",
        "Be concise and to the point.",
        "Do not format your responses. Keep them as plain text.",
    ],
    model="gpt-4o-mini",
)

Step 3: Create a Session

Create a session with the agent, specifying a situation to provide more context for the session.

# Create a session
session = julep.sessions.create(
    agent=agent.id,
    situation="User wants to have a casual chat about hobbies.",
)

Step 4: Chat with the Agent

Send a message with a user role to the session to trigger the agent to send a response.

# Chat with the agent
response = julep.sessions.chat(
    session_id=session.id,
    messages=[
        {
            "role": "user",
            "content": "Hi there! What are some fun hobbies to try out?"
        }
    ]
)

print("Agent's Response:")
print(response.choices[0].message.content)

Full Example

from julep import Julep

# Initialize the Julep client
julep = Julep(api_key="your_api_key")

# Create an agent
agent = julep.agents.create(
    name="Chat Buddy",
    about="A friendly and helpful chatbot",
    instructions=[
        "Be friendly and engaging.",
        "Be helpful and provide useful information.",
        "Be concise and to the point.",
        "Do not format your responses. Keep them as plain text.",
    ],
    model="gpt-4o-mini",
)

# Create a session
session = julep.sessions.create(
    agent=agent.id,
    situation="User wants to have a casual chat about hobbies.",
)

# Chat with the agent
response = julep.sessions.chat(
    session_id=session.id,
    messages=[
        {
            "role": "user",
            "content": "Hi there! What are some fun hobbies to try out?"
        }
    ]
)

Conclusion

By following these steps, you can create an agent, set up a session, and quickly engage in a conversation using the Julep SDKs. This setup allows for personalized and context-aware interactions with the agent. For more advanced usage, don’t forget to check out the Agents and Sessions concepts.