Welcome to the introductory guide for Agent Service. This document is designed for engineers who are new to Agent Service and want to learn how to build GenAI agents using our framework. Agent Service provides the backend for SGP applications, enabling the creation, deployment, and execution of powerful AI solutions based on Large Language Models (LLMs) and other AI models.

What is Agent Service?

Agent Service is a software framework that provides a set of modular building blocks that make it easy to create, deploy, and run AI applications. These applications can perform a variety of tasks, including:

  • Document Analysis
  • Chatbot Responses
  • Custom AI Solutions

While Agent Service is primarily designed to support LLM-based applications, it can also accommodate other types of models (for example, multi-modal LLMs) on an ad-hoc basis.

Key Features

  • Modular Design: Build applications using pre-configured components that can be combined like Lego blocks.
  • Flexible Architecture: Support both simple, linear workflows and complex, interactive applications with ease.
  • Seamless Integration with SGP: Easily integrate with existing SGP tools and APIs for functionalities such as information retrieval and text generation.

Core Components

Agent Service applications are constructed using several key components:

Node

  • Definition: A node represents a single operation such as generation, retrieval, or data transformation.
  • Examples:
    • Generation Nodes: Handle LLM-based text generation and chat responses.
    • Reranker & Retriever Nodes: Enhance search capabilities and ensure relevance when working with large datasets.
    • Citation & Code Execution Nodes: Provide operations like reference generation or executing code for data transformation.

Workflow

  • Definition: A workflow is a sequence of nodes arranged in a specific order. It aggregates data from user inputs or previous outputs.
  • Features:
    • Supports parallel processing for maximum execution speed.
    • Offers flexibility in how nodes are combined and executed.

State Machine

  • Definition: A state machine is a structured flow that transitions between different states (or workflows) based on outcomes.
  • Capabilities:
    • Supports branching and conditional paths.
    • Incorporates additional user inputs for highly interactive applications.