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
  • Mock an LLM API
    • Test gecholog locally using Docker
    • Includes the custom processor mock
    • Find the quick-start guide here
  • Explore Custom Content Filter (Concept)
    • Test gecholog locally using Docker
    • Custom processor contentfilter
    • Using detoxify
    • Find the quick-start guide here
  • Augment the log with Natural Language Processing (NLP)
    • Test gecholog locally using Docker
    • Custom processor spacyentities
    • Using the spaCy library
    • Find the quick-start guide here
  • 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

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

  1. Right-click the following link and choose Save link as... to download the Docker Compose file:
    Docker Compose File on GitHub

  2. Save the file as docker-compose.yml on your local machine.

Docker compose

  1. 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/       


  1. 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!