2. How to Install
Three options:
2.1 Run it locally
docker run -d -p 8080:8080 -p 5380:5380 -v .:/app/log -e GUI_SECRET=set_a_password gecholog/gecholog:latest
And then click http://localhost:8080/login and login with the password you set.
2.2 Sign up for sandbox access
If you prefer online access only, sign up to get access to our Gecholog.ai sandbox.
2.3 Explore gecholog
in a package
- Try one of our Quick Start Guides for different use cases.
- Follow our Tutorial and experience
gecholog
bundled with Elasticsearch and Kibana.
Quick Start Guides
If you want to explore a specific gecholog
use case, follow one of our Quick Start Guides.
- "One-Click" Azure Deployment
- Deploy in your own Azure Subscription
gecholog
and an LLM Performance Dashboard- Follow this tutorial
- Load Balancer and Failover
- Test
gecholog
locally using Docker - Includes the load balancer and failover processor
broker
- Find the quick-start guide here
- Test
- Mock an LLM API
- Test
gecholog
locally using Docker - Includes the custom processor
mock
- Find the quick-start guide here
- Test
- Explore Custom Content Filter (Concept)
- Augment the log with Natural Language Processing (NLP)
- Regex data extraction from LLM API
- Test
gecholog
locally using Docker - Custom regex via the processor
regex
- JSON deserialization
- Find the quick-start guide here
- Test
Tutorial
Hello World type tutorial with gecholog
and elastic/kibana bundle
The gecholog-ek-dev
bundle, combining gecholog
and Elastic/Kibana, is specifically tailored for exploration, offering a comprehensive platform to discover and understand the advantages of gecholog
. This bundle comprises:
- The standard
gecholog
container - An example
nlp-processor
container - A pre-configured
gl-elasticsearch
container - A
gl-kibana
container with a pre-built dashboard
The gecholog
container is designed for production environments, whereas the gecholog-ek-dev
bundle is intended for development purposes. In a production setting, it is essential to integrate the gecholog
container service with a corporate-licensed version of Elastic/Kibana, or alternatively, you can employ any preferred log visualization tool.
Dependencies
We distribute our application via a public repository on Docker Hub, which makes gecholog
easy to deploy to any cloud or locally on your laptop using Docker.
To try the gecholog-ek-dev
bundle locally, install Docker Desktop. Visit docker.com for more information.
Download docker-compose.yml
-
Right-click the following link and choose Save link as... to download the Docker Compose file:
Docker Compose File on GitHub -
Save the file as
docker-compose.yml
on your local machine.
Docker compose
- Choose your password & configure your LLM endpoint
Open a terminal, set the environment variables PASSWORD
and AISERVICE_API_BASE
. This password will be needed login to Kibana later. If you don't set the PASSWORD
, the bundle gecholog-ek-dev
will not start. Please note that you may need to restart the terminal to apply the changes.
setx PASSWORD "your_password"
setx AISERVICE_API_BASE "https://your.openai.azure.com/"
export PASSWORD=your_password
export AISERVICE_API_BASE=https://your.openai.azure.com/
- Navigate to the directory where you saved the
docker-compose.yml
file, and run:
docker-compose -f docker-compose.yml up -d
NOTE: please keep the Docker Desktop open when you run this command. The Elastic and Kibana containers in the
gecholog-ek-dev
bundle may be a little slow to initialize. However, we have included them to offer a range of pre-built, appealing visualizations for immediate use. We kindly request your patience with these components as you explore their capabilities.
Expected output
[+] Running 67/23
✔ nlp-processor 11 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
✔ elasticsearch 8 layers [⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
✔ gl-ek-dev-setup 12 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
✔ gecholog 17 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
✔ kibana 14 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled
[+] Building 0.0s (0/0) docker:desktop-linux
[+] Running 0/1
⠙ Network gecholog-ek-dev_default Creating
[+] Running 7/7t of type `volume` should not define `bind` option
[+] Running 10/10og-ek-dev_default Created
✔ Network gecholog-ek-dev_default Created
✔ Volume "gecholog-ek-dev_certs" Created
✔ Volume "gecholog-ek-dev_esdata01" Created
✔ Volume "gecholog-ek-dev_kibanadata" Created
✔ Volume "gecholog-ek-dev_configs" Created
✔ Container gl-ek-dev-setup-only Healthy
✔ Container gecholog Healthy
✔ Container nlp-processor Healthy
✔ Container gl-elasticsearch Healthy
✔ Container gl-kibana Started
NOTE: If you want to take down the app, simply run the command
docker-compose -f docker-compose.yml down -v
Confirm all is fine
Execute the following command to confirm the completion of all configuration steps. This command retrieves log from the temporary gl-ek-dev-setup-only
container:
docker logs gl-ek-dev-setup-only
Expected output when all the [6/6] steps are completed
By using gecholog you approve our license terms on docs.gecholog.ai. By using this software, you acknowledge and agree to the following terms and conditions: 1. This software is provided "as is," without any warranties or guarantees, express or implied. You use it at your own risk. 2. The authors and contributors of this software shall not be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services, loss of use, data, or profits, or business interruption) arising in any way out of the use of this software. 3. You are expressly prohibited from: a. Reverse engineering, decompiling, disassembling, or attempting to discover the source code or algorithms of this software. b. Distributing, sublicensing, or making this software available to third parties without the prior written consent of the software owner. c. Copying, reproducing, or modifying this software or any part thereof, except as expressly permitted under applicable law. d. Engaging in any activity that infringes upon the intellectual property rights, copyrights, or trademarks associated with this software. 4. This is a licensed software to Artificial Solutions, and usage is conditioned on a valid license agreement with Artificial Solutions. 5. This software may include third-party libraries or components, each subject to its own licensing terms and conditions. Please review the licenses associated with these components for details. 6. You are solely responsible for complying with all applicable laws, regulations, and licensing agreements when using this software. 7. This disclaimer shall apply to the fullest extent permitted by law. If you do not agree to these terms or do not have a valid license agreement with Artificial Solutions, you should not use this software.
Archive: config/certs/certs.zip
creating: elasticsearch/
inflating: elasticsearch/elasticsearch.crt
inflating: elasticsearch/elasticsearch.key
creating: kibana/
inflating: kibana/kibana.crt
inflating: kibana/kibana.key
creating: gecholog/
inflating: gecholog/gecholog.crt
inflating: gecholog/gecholog.key
Step [1/6]: certs PASSED
Waiting for Elasticsearch availability
Step [2/6]: elastic PASSED
Setting kibana_system password
Step [3/6]: kibana pwd PASSED
Creating coburn1 index
Step [4/6]: elastic index PASSED
Waiting for Kibana availability
Step [5/6]: kibana up PASSED
Populating dashboard
Step [6/6]: kibana dashboard PASSED
First hello world
gecholog
comes equipped with an /echo/
router, which returns the request payload as a response. This feature is not only useful for testing the connection to gecholog
, but it also assists in assessing logs, latency, or processor performances. We use it now to confirm that the gecholog
gateway is operational.
Use cUrl
to send a echo-request to gecholog
:
curl -X POST ^
-H "Content-Type: application/json" ^
-d "{\"message\":{\"content\": \"Hello World!\"}}" ^
http://localhost:5380/echo/
curl -X POST -H "Content-Type: application/json" -d '{
"message":
{
"content": "Hello World!"
}
}' 'http://localhost:5380/echo/'
Expected response
{
"message": {
"content": "Hello World!"
}
}
You can test with any valid json payload. gecholog
only accepts ingress json payloads.
Learn about configuring gecholog
via web interface
Use PASSWORD
to login to the web interface of gecholog, available on http://localhost:8080/login. This is the interface to configure gecholog
and can be really useful to understand all the options available.
Now, lets proceed to the next step and make some API calls!