sdk

package module
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README

Symbl.ai Go SDK

The Symbl.ai Go SDK provides a convenient method to work with our APIs, from applications written in Go. A prescribed or opinionated set of interfaces, classes, and functions help you quickly bootstrap to using the Symbl.ai platform and unlock conversation intelligence.

We are working diligently to support every aspect of Symbl.ai APIs. Currently, we support the following:

  • Streaming API:
    • WebSocket enabled
    • Easy to implement real-time language understanding
    • For local voice capture, provides an easy-to-understand library to enable microphone audio as an input source
  • Asynchronous APIs:
    • Transcription/Messages
    • Dynamic Topics
    • Questions
    • Follow-Ups
    • Entities
    • Action Items
    • Summary
    • Analytics
    • Trackers
  • Management APIs:
    • Entities: Get, Create, Delete
    • Bookmarks: Get, Create, Delete
    • Trackers: Get, Create, Delete

IMPORTANT: This project is in pre-release status. Since this is the first release, we reserve the right to make breaking API changes at this time.

Documentation

See the API docs.

Requirements

The minimal Go version supported is 1.18. Realistically, much older versions will work, but let’s start with that first as we launch this project.

Installation

First, make sure that Go is installed on your system with the following command in Mac/Linux console or Windows command prompt:

$ go version
go version go1.18.4 darwin/arm64

To install Go, visit the installation guide which covers Linux, Mac and Windows.

Configuration

The SDK needs to be initialized with your account's credentials APP_ID and APP_SECRET, which are available in your Symbl.ai Platform. If you don't have a Symbl.ai Platform account, you can sign up here for free.

You must add your APP_ID and APP_SECRET to your list of environment variables. We use environment variables because they are easy to configure, support PaaS-style deployments, and work well in containerized environments like Docker and Kubernetes.

export APP_ID=YOUR-APP-ID-HERE
export APP_SECRET=YOUR-APP-SECRET-HERE

Examples

You can find a list of very simple main-style examples to consume this SDK in the examples folder. To run these examples, you need to change directory into an example you wish to run and then execute the go file in that directory. For example:

$ cd examples/async-file
go run async-file.go
For the Streaming API (Real-Time) Example

The Streaming API (Real-Time) example makes use of a microphone package contained within the repository. That package makes use of the PortAudio library which is a cross-platform open source audio library. If you are on Linux, you can install this library using whatever package manager is available (yum, apt, etc.) on your operating system. If you are on macOS, you can install this library using brew.

Community

If you have any questions, feel free to contact us at devrelations@symbl.ai or through our Community Slack.

This SDK is actively developed, and we love to hear from you! Please feel free to create an issue or open a pull request with your questions, comments, suggestions, and feedback. If you liked our integration guide, please star our repo!

This library is released under the Apache 2.0 License

Documentation

Overview

Package provides Go library for extracting Asynchoronous and Real-Time conversation insights on the Symbl.ai platform.

GitHub repo: https://github.com/symblai/symbl-go-sdk Go SDK Examples: https://github.com/symblai/symbl-go-sdk/tree/main/examples

Symbl Platform API reference: https://docs.symbl.ai/reference

The two main entry points are: 1. cli/cmd - which contains the unimplemented Symbl CLI 2. pkg/client - which contains the SDK objects, functions, etc

Directories

Path Synopsis
cli
cmd
examples
pkg
api/async/v1
Async package for processing Async conversations
Async package for processing Async conversations
api/nebula/v1
Nebula package for processing Nebula Async conversations
Nebula package for processing Nebula Async conversations
api/nebula/v1/interfaces
Defines everything that makes up the Async API interface
Defines everything that makes up the Async API interface
api/streaming/v1
Streaming package for processing real-time conversations
Streaming package for processing real-time conversations
api/streaming/v1/interfaces
Defines everything that makes up the Streaming API interface
Defines everything that makes up the Streaming API interface
api/version
This package handles the versioning in the API both async and streaming
This package handles the versioning in the API both async and streaming
audio/microphone/interfaces
Microphone defines a interface for a Microphone implementation
Microphone defines a interface for a Microphone implementation
audio/replay
Implementation for a replay device.
Implementation for a replay device.
audio/replay/interfaces
Defines an implementation to replay audio
Defines an implementation to replay audio
audio/text-to-speech
Implementation for text-to-speech
Implementation for text-to-speech
audio/text-to-speech/interfaces
Interface for text-to-speech
Interface for text-to-speech

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL