UNDER CONSTRUCTION
Welcome to the Getting Started
Get an idea of how to start a Saga project using the Saga UI (no programming knowledge needed).
Saga is made up of several projects that can be used stand-alone or together. For this tutorial, we'll be using the following projects to set up an instance of Saga and be able to start a new project:
Start by cloning each repository and building the projects in the previous order. From 1 to 10, you can build each of them by using the following command in each project:
...> mvn clean install
.../saga-server-ui> npm install
If you have any database to use with saga, just run the following command in the database folder to import it to Mongo:
.../database/directory> mongostore --db databaseName --drop .
Saga Server Parser configuration files are specified in the Configure Pipelines & Resource Providers section. If you change any of those files in the saga-server-parser/src/main/resources folder, you need to rebuild the project or transfer the files to the directory specified in the saga-server-parser/startup.bat.
For the UI, you need to check the file in config/env/development.js. The display name, "Saga" in following snippet, is the name the UI will show for the project, but what it is important is the uri attribute from db, this is the database that Saga will be using. In the snippet, the database in use will be "SagaDB", change it according to your preference. If you loaded a Mongo database in step 2, you must change "SagaDB" to the name of the database you loaded. If you want to start a new database, just choose a proper name and the UI will create the database.
solutions: [
{
display: 'Saga',
db: {
uri: process.env.MONGOHQ_URL || process.env.MONGOLAB_URI || 'mongodb://' + (process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost') + '/SagaDB',
options: {
keepAlive: 10000,
reconnectTries: 10
},
//Database info for patter matching server switch
host: process.env.DB_1_PORT_27017_TCP_ADDR || 'localhost',
port: 27017,
name: 'SagaDB',
// Enable mongoose debug mode
debug: process.env.MONGODB_DEBUG || false
},
matcher: {
uri: 'http://localhost:8080/_saga'
}
}
]
Before starting Saga, make sure Mongo is up and running. Try to run:
...> mongo
If the command does not run, run the following command from the MongoDB/Server/3.6/bin:
.../MongoDB/Server/3.6/bin> mongod
guide, This is what you will achieve by following the next steps:
Hardware
Info |
---|
Hardware prerequisite above is just a starting point. It depends a lot on how you configure Saga and what is your processing time expectation.
|
You'll be able to get binaries from here (SCA Artifactory repository).
From this version and on, we provide docker images:
Saga image (lightweight):
docker.repository.sca.accenture.com/docker/saga-server:1.3.4-javacio17-base
docker.repository.sca.accenture.com/docker/saga-server:1.3.4-alpine3.19
Saga image containing the tensorFlow model used in FAQ recognizer:
docker.repository.sca.accenture.com/docker/saga-server:1.3.4-tensor-javacio17-base
docker.repository.sca.accenture.com/docker/saga-server:1.3.4-tensor-alpine3.19
Python Bridge:
docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.4-ubuntu22.04cio-base-basic
docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.4-ubuntu22.04cio-base-all
docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.4-debian12-basic
docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.4-debian12-all
Note |
---|
You will need permissions to download binaries or docker images. Please send your access request to [email protected] |
Note |
---|
The Saga team has a "Teams" Team here. Creators and users of Saga are subscribed to this Saga team, so you can always publish a message to get some help if you have questions or comments. |
$> java -version
{SAGA_HOME}
.bin
.Tip |
---|
If you have never ran Saga against your Elasticsearch, your Elasticsearch will be empty. That's ok because Saga will generate all the necessary indexes with the minimum default data (base pipeline, executors,...); although you need to add new tags and resources. |
Once you have Saga in {SAGA_HOME}
validate the following:
There is a {SAGA_HOME}/lib
folder containing the following JARs:
saga-classification-trainer-stage-1.3.4
saga-faq-stage-1.3.4
saga-intent-stage-1.3.4
saga-lang-detector-stage-1.3.4
saga-name-trainer-stage-1.3.4
saga-parts-of-speech-stage-1.3.4
saga-sentence-breaker-stage-1.3.4
saga-spellchecking-stage-1.3.4
Check the configuration base on what NoSQL DB provider used.
ES : How To Connect To Elasticsearch
Opensearch: How To Connect To OpenSearch
Check the basic configuration on {SAGA_HOME}/config/config.json
:
Info |
---|
For more information about Saga Configuration, check this. |
If you have some valid "models" you'd like to include them on the server:
{SAGA-HOME}/nt-models
folder for "name trainers" and copy the model there.{SAGA-HOME}/ct-models
folder for "classification trainers" and copy the model there.{SAGA-HOME}/tf-models
folder for "FAQ" (uses TensorFlow) and copy the model there.To add datasets:
{SAGA-HOME}/datasets
folder.To run Saga:
Check that Elasticsearch is running.
Use the bundled startup script on {SAGA_HOME}/bin (either startup.bat
for Windows or startup.sh
for Linux and Mac).
If you didn't change the default port on the configuration, you should be able to access Saga UI
Then, you will need to run the Saga Server Parser and the Saga Server UI. The first to be run is the Saga Server UI, since it will create the database if it doesn't exist. Go to the Saga Server UI directory and run the startup.bat from a console:
.../saga-server-ui> startup.bat
.../saga-server-parser> startup.bat
.
If not, then check your configuration for the right port.
Saga has a python recognizer and python stage that can be used to process text using machine learning python models like Bert.
In case you need this, follow instruction on how to setup and run the python bridge here.
Panel | |
---|---|
On this page:
|
Related pages