Sunbird AI Assistant
  • Overview
  • Functional Overview
    • The Problem
    • The Solution
    • Use Cases
      • e-Jaadui Pitara
    • Capabilities
  • Technical Overview
    • Architecture
    • Technology Stack
  • Get Started with AI Assistant
    • Key Steps to role out an AI Assistant Solution
    • Pre-requisites
    • Installation
    • Data Ingestion Process
    • Configuration
    • APIs
    • Bot Creation 101
  • Components
    • Sakhi API Service
      • Environment Variables
      • Pluggability of LLM Chat Model
      • Pluggability of Cloud Storage
      • Pluggability of Transaltion service
      • Pluggability of Vector Store
  • Release Notes
    • Release Convention
    • 3.0.0 (Latest)
    • 2.0.0
    • 1.0.0
  • Roadmap
  • Contribution Guide
  • FAQs
  • Knowledge Base
    • Best Practices
    • Indexing CSV Data
  • Contact us
Powered by GitBook
On this page
  • LLM
  • Storage
  • Translation
  • Vector Store
  1. Components
  2. Sakhi API Service

Environment Variables

PreviousSakhi API ServiceNextPluggability of LLM Chat Model

Last updated 1 year ago

Sakhi API service supports different environment variables to configure your instance. You can specify the following variables in the .env file inside the root folder. Refer to the file.

Variable
Description
Type
Default

SERVICE_ENVIRONMENT

Name of the application instance

String

dev

LOG_LEVEL

It's used to define the level of logs to be captured.

Enum String: error, info, debug

info

CONFIG_INI_PATH

Path of config.ini file

String

config.ini

REDIS_HOST

Redis host URL

String

localhost

REDIS_PORT

Redis port number

Number

6379

REDIS_DB

Redis index

Number

0

TELEMETRY_ENDPOINT_URL

Telemetry service host URL

String

-

TELEMETRY_LOG_ENABLED

Used to enable/disable telemetry logging.

Enum String: true, false

true

LLM

A chat model is a language model that uses chat messages as inputs and returns chat messages as outputs. Sakhi API service currently supports 3 LLM types:

These LLMs can be configured with the following env variables:

OpenAI

LLM_TYPE=openai
OPENAI_API_KEY=<openai_key>
GPT_MODEL=<model_name>

Azure OpenAI

LLM_TYPE=azure
AZURE_OPENAI_ENDPOINT=<azure_openai_endpoint_url>
AZURE_OPENAI_API_KEY=<azure_openai_key>
OPENAI_API_VERSION=<azure_openai_api_version>
AZURE_MODEL=<azure_deployment_model>

Ollama

LLM_TYPE=ollama
OLLAMA_API_ENDPOINT=<ollama_endpoint_url>
LLM_MODEL=<model_name>

If no env variables are specified, the service will throw the runtime exception.

Storage

Storage is used for storing audio files when the user wants output as audio. Users should specify a configuration option, like BUCKET_TYPE, to choose between different cloud provider services such as AWS S3, OCI, or GCP.

Here's the list of storage available to use in the Sakhi API Service:

OCI (Oracle)

BUCKET_TYPE=oci
BUCKET_ENDPOINT_URL=<oci_bucket_endpoint_url>
BUCKET_REGION_NAME=<oci_bucket_region_name>
BUCKET_NAME=<oci_bucket_name>
BUCKET_SECRET_ACCESS_KEY=<oci_bucket_access_key_id>
BUCKET_ACCESS_KEY_ID=<oci_bucket_access_key_id>

AWS (Amazon)

BUCKET_TYPE=aws
BUCKET_REGION_NAME=<aws_bucket_region_name>
BUCKET_NAME=<aws_bucket_name>
BUCKET_SECRET_ACCESS_KEY=<aws_bucket_secret_access_key>
BUCKET_ACCESS_KEY_ID=<aws_bucket_access_key_id>

GCP (Google)

BUCKET_TYPE=gcp
BUCKET_NAME=<gcp_bucket_name>
GCP_CONFIG_PATH=<gcp_application_credential_path>

If no env variables are specified, the service will throw the runtime exception.

Translation

Sakhi API service currently supports 3 translation services and can be configured with the following env variables:

Bhashini Dhruva

TRANSLATION_TYPE=bhashini
BHASHINI_ENDPOINT_URL=<bhashini_api_endpoint_url>
BHASHINI_API_KEY=<bhashini_api_key>

Ekstep Dhruva

TRANSLATION_TYPE=dhruva
BHASHINI_ENDPOINT_URL=<bhashini_api_endpoint_url>
BHASHINI_API_KEY=<bhashini_api_key>

Google

TRANSLATION_TYPE=google
GCP_CONFIG_PATH=<gcp_application_credential_path>

If no env variables are specified, the service will throw the runtime exception.

Vector Store

A vector store or vector database refers to a type of database system that specializes in storing and retrieving high-dimensional numerical vectors. These stores are designed for efficient management and indexing of vectors, enabling fast similarity searches.

Here is the list of vector stores/databases available to use in the Sakhi API Service:

Marqo

VECTOR_STORE_TYPE=marqo
VECTOR_STORE_ENDPOINT=http://localhost:8882
EMBEDDING_MODEL=flax-sentence-embeddings/all_datasets_v4_mpnet-base
VECTOR_COLLECTION_NAME=<vector_collection_name>

If no env variables are specified, the service will throw the runtime exception.

For more information, Please refer to page.

For more information, Please refer to page.

LLM
Vector Store
.env.example
OpenAI
Azure OpenAI
Ollama
OCI
AWS
GCP
Bhashini Dhruva
Ekstep Dhruva
Google
Marqo