Feature/environment var creds (#116)

- Change templates to interpolate environment variables in docker compose
- Change templates to invoke secrets for environment variable credentials in K8s configuration
- Update LLMs to pull in credentials from environment variables if not specified
This commit is contained in:
cybermaggedon 2024-10-15 00:34:52 +01:00 committed by GitHub
parent 43756d872b
commit 86288339cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 327 additions and 271 deletions

View file

@ -7,6 +7,7 @@ Input is prompt, output is response. Mistral is default.
import boto3
import json
from prometheus_client import Histogram
import os
from .... schema import TextCompletionRequest, TextCompletionResponse, Error
from .... schema import text_completion_request_queue
@ -21,10 +22,11 @@ default_input_queue = text_completion_request_queue
default_output_queue = text_completion_response_queue
default_subscriber = module
default_model = 'mistral.mistral-large-2407-v1:0'
default_region = 'us-west-2'
default_region = os.getenv("AWS_REGION", 'us-west-2')
default_temperature = 0.0
default_max_output = 2048
default_aws_id = os.getenv("AWS_ID_KEY")
default_aws_secret = os.getenv("AWS_SECRET_KEY")
class Processor(ConsumerProducer):
@ -34,12 +36,18 @@ class Processor(ConsumerProducer):
output_queue = params.get("output_queue", default_output_queue)
subscriber = params.get("subscriber", default_subscriber)
model = params.get("model", default_model)
aws_id = params.get("aws_id_key")
aws_secret = params.get("aws_secret")
aws_id = params.get("aws_id_key", default_aws_id)
aws_secret = params.get("aws_secret", default_aws_secret)
aws_region = params.get("aws_region", default_region)
temperature = params.get("temperature", default_temperature)
max_output = params.get("max_output", default_max_output)
if aws_id is None:
raise RuntimeError("AWS ID not specified")
if aws_secret is None:
raise RuntimeError("AWS secret not specified")
super(Processor, self).__init__(
**params | {
"input_queue": input_queue,
@ -299,7 +307,7 @@ class Processor(ConsumerProducer):
parser.add_argument(
'-r', '--aws-region',
help=f'AWS Region (default: us-west-2)'
help=f'AWS Region'
)
parser.add_argument(
@ -320,4 +328,3 @@ def run():
Processor.start(module, __doc__)