Overview

Think of Julep as a platform that combines both client-side and server-side components to help you build advanced AI agents. Here’s a mental model to help you understand it:

  1. Your Application Code

    • Use the Julep SDK in your application to define agents, tasks, and workflows
    • SDK provides functions and classes for easy setup and management of components
  2. Julep Backend Service

    • SDK communicates with Julep backend over the network
    • Backend handles task execution, session state, document storage, and workflow orchestration
  3. Integration with Tools and APIs

    • Integrate external tools and services within your workflows
    • Backend facilitates integrations for web searches, database access, third-party API calls, and more

To help you visualize this, here’s a diagram:

Julep Architecture Overview

Core Components

Agent

The main orchestrator of your application, backed by foundation models like GPT4 or Claude.

User

Users can be associated with sessions and are used to scope memories formed by agents.

Session

The main workhorse for Julep apps.

Tool

Programmatic interfaces that foundation models can β€œcall” with inputs.

Doc

Collections of text snippets indexed into a vector database.

Task & Execution

Github Actions-style workflows for complex operations.

Infrastructure Components

Document Store

The document store provides a vector database for semantic search along with a document management system. It supports various file types and handles automatic indexing and retrieval of documents.

Task Execution Engine

The task execution engine handles distributed task processing, state management, error handling with retries, and supports parallel execution of tasks.

API Layer

The API layer provides RESTful API endpoints, SDK support, authentication and authorization capabilities, and handles rate limiting and quotas.

Data Flow

Data Flow Overview

The data flow in Julep is divided into three main components, each handling specific aspects of request processing and response generation.

Client Interaction

  • SDK or API calls initiate requests
  • Authentication and validation
  • Request routing

Task Processing

  • Task decomposition
  • Step execution
  • State management
  • Tool integration

Response Handling

  • Result aggregation
  • Error handling
  • Client notification
  • State persistence

Security

  1. API key-based access
  2. Role-based permissions
  3. Session management
  4. Token validation
  1. Encryption at rest
  2. Secure communication
  3. Data isolation
  4. Access controls
  1. Audit logging
  2. Performance metrics
  3. Error tracking
  4. Usage analytics

Conclusion

The modular design enables you to customize and extend functionality as needed, while the security-first approach ensures your data and operations remain protected. Whether you’re building a simple chatbot or a complex AI workflow, this architecture provides the foundation you need.

Support

If you need help with further questions in Julep: