Skip to main content

Syngular lets you connect to AI agents running locally or in production, stream their outputs, and collect structured feedback without infrastructure overhead.

Project description

Syngular AI

Run on your laptop, chat instantly on syngularai.com 🚀

Syngular lets you connect to AI agents running locally or in production, stream their outputs, and collect structured feedback without infrastructure overhead.

Features

  • 🚀 Zero Infrastructure: No need to build your own UI - just focus on your agent
  • 📡 Real-time Streaming: Stream agent responses character by character to the Syngular UI
  • 📊 Rich Feedback Collection: Built-in support for thumbs, text, and option-based feedback
  • 📁 File Handling: Seamless file upload and processing from the UI
  • 🔄 Async Support: Full async/await support for non-blocking operations

Installation

pip install syngular-ai

Or with uv:

uv add syngular-ai

Quick Start

1. Create Your First Agent

from syngular_ai import entrypoint, MarkdownMessage, ThumbsFeedback

@entrypoint('@helloworld')
def helloworld(prompt: str):
    for char in 'hello':
        yield MarkdownMessage(
            content=f'{char}',
            feedback=[ThumbsFeedback(name='ratings')]
        )

2. Run Your Agent

For development (connects to Syngular cloud):

from syngular_ai import dev_listen

# Replace this with your API key from the profile section on syngularai.com.
dev_listen('your-api-key-here')

Advanced Examples

Agent with Inputs

from syngular_ai import entrypoint, TextInput, FileInput, StatusUpdate, OptionFeedback

@entrypoint(
    '@syngular/analyse', 
    inputs=[
        TextInput(name='url', placeholder='Enter company URL'),
        FileInput(name='file')
    ]
)
def analyse(prompt: str, inputs: list):
    # Process the inputs
    url = inputs[0]  # TextInput
    file_content = inputs[1].get_file_content()  # FileInput
    
    # Show status update
    yield StatusUpdate(
        icon='info', 
        text='Starting the process...'
    )
    
    # Stream response with feedback options
    for char in 'processing':
        yield MarkdownMessage(
            content=f'{char}',
            feedback=[
                OptionFeedback(
                    name='multioption', 
                    options=['Complete', 'Relevant'],
                    allow_multiple=True
                ),
                ThumbsFeedback(name='ratings'),
                TextFeedback(name='Leave a comment')
            ]
        )

API Reference

Decorators

@entrypoint(name, inputs=None)

Decorator for synchronous agent functions.

Parameters:

  • name (str): Agent name, must start with '@'
  • inputs (List[Input], optional): List of input specifications

Input Types

TextInput

Text input field for user prompts.

TextInput(name='prompt', placeholder='Enter your message')

FileInput

File upload input.

FileInput(name='document')

Message Types

MarkdownMessage

Rich text message with markdown support.

MarkdownMessage(
    content='**Bold text** and *italic*',
    feedback=[ThumbsFeedback(name='rating')]
)

StatusUpdate

Status indicator for long-running operations.

StatusUpdate(icon='info', text='Processing...')

Feedback Types

ThumbsFeedback

Thumbs up/down feedback.

ThumbsFeedback(name='rating')

OptionFeedback

Multiple choice feedback.

OptionFeedback(
    name='choice',
    options=['Option 1', 'Option 2'],
    allow_multiple=True
)

TextFeedback

Free text feedback.

TextFeedback(name='comment')

Server Functions

dev_listen(api_key)

Connect to Syngular cloud for development.

Parameters:

  • api_key (str): Your Syngular API key

Support

For support, please contact us at support@syngularai.com.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syngular_ai-0.2.0.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syngular_ai-0.2.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file syngular_ai-0.2.0.tar.gz.

File metadata

  • Download URL: syngular_ai-0.2.0.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for syngular_ai-0.2.0.tar.gz
Algorithm Hash digest
SHA256 68e9c166fa8530d00a07be81c75593d17d3bfc14ac5c9c2c7094c7a38e5f44e8
MD5 04908f8d538fbfc7dab4a42b1efb06f1
BLAKE2b-256 d79266bef4ece36f5f0dcecf93ffd33557922f5d9c0bd0d633894f0c52ccd79d

See more details on using hashes here.

File details

Details for the file syngular_ai-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: syngular_ai-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for syngular_ai-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c89129594a5ebe5f2ed36b10e96cf170e2b0797ec256f627994a276f4a67eb59
MD5 41497cc510525cfca3dec7f91b4b5f2d
BLAKE2b-256 6bea29ec52b8067c995578530cd36865b4f12d4066ac7a338032cd61f765171f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page