-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
127 lines (126 loc) · 6.06 KB
/
docker-compose.yml
File metadata and controls
127 lines (126 loc) · 6.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
services:
language-model-gateway:
build:
dockerfile: Dockerfile
context: .
target: development
container_name: language-model-gateway
environment:
DEBUG_METRICS: 0
DD_TRACE_ENABLED: "false"
LOG_LEVEL: INFO
AGENT_URL: 'http://host.docker.internal:5055/api/v1'
OPENAI_AGENT_URL: 'http://host.docker.internal:5055/api/v1'
DEFAULT_PATIENT_ID: "eEooRVLYdWIW753OhZUd1dgxQRny4KCo6fiH-13lY0043"
# DEFAULT_WEB_SEARCH_TOOL: "duckduckgo_search"
DEFAULT_WEB_SEARCH_TOOL: "google_search"
IMAGE_GENERATION_PATH: "/usr/src/language_model_gateway/image_generation"
# IMAGE_GENERATION_PATH: "s3://bwell-dev-data-science-ue1/openwebui/image_generation/"
# IMAGE_GENERATION_PATH: "s3://bwell-services-data-science-ue1/openwebui/image_generation/"
IMAGE_GENERATION_URL: "http://localhost:5050/image_generation"
MODELS_OFFICIAL_PATH: "/usr/src/language_model_gateway/language_model_gateway/configs/chat_completions/official"
MODELS_TESTING_PATH: "/usr/src/language_model_gateway/language_model_gateway/configs/chat_completions/testing"
# MODELS_ZIP_PATH: "https://github.com/icanbwell/language-model-gateway-configuration/zipball/main/"
# MODELS_OFFICIAL_PATH: "configs/chat_completions/official"
# MODELS_TESTING_PATH: "configs/chat_completions/testing"
# MODELS_OFFICIAL_PATH: "https://github.com/icanbwell/language-model-gateway-configuration/tree/main/configs/chat_completions/official"
# MODELS_TESTING_PATH: "https://github.com/icanbwell/language-model-gateway-configuration/tree/main/configs/chat_completions/testing"
MODELS_PATH_BACKUP: "/usr/src/language_model_gateway/language_model_gateway/configs/chat_completions"
CONFIG_CACHE_TIMEOUT_SECONDS: 120
PROVIDER_SEARCH_API_URL: "https://provider-search.prod.icanbwell.com/graphql"
# Number of worker process to run
NUM_WORKERS: 1
AWS_REGION: 'us-east-1'
HELP_KEYWORDS: "help;/help;aid"
LOG_INPUT_AND_OUTPUT: 1
RETURN_RAW_TOOL_OUTPUT: 1
DEFAULT_MODEL_PROVIDER: "bedrock"
DEFAULT_MODEL_NAME: "us.anthropic.claude-3-5-haiku-20241022-v1:0"
GITHUB_ORGANIZATION_NAME: "icanbwell"
GITHUB_MAXIMUM_REPOS: "100"
GITHUB_MAXIMUM_PULL_REQUESTS_PER_REPO: "100"
JIRA_BASE_URL: "https://icanbwell.atlassian.net"
# JIRA_USERNAME: "imran.qureshi@icanbwell.com"
JIRA_MAXIMUM_PROJECTS: "100"
JIRA_MAXIMUM_ISSUES_PER_PROJECT: "100"
MCP_TOOLS_METADATA_CACHE_TIMEOUT_SECONDS: 30
# These define the connection to the identity provider for JWT validation
# This lists the audiences that are allowed to access the API
# Below we specify the client id, client secret and well-known URI for each client
AUTH_PROVIDERS: "client1,client3,okta"
# first client for testing
AUTH_ISSUER_CLIENT1: "http://keycloak:8080/realms/bwell-realm"
AUTH_AUDIENCE_CLIENT1: "client1"
AUTH_CLIENT_ID_CLIENT1: "bwell-client-id"
AUTH_CLIENT_SECRET_CLIENT1: "bwell-secret"
AUTH_WELL_KNOWN_URI_CLIENT1: "http://keycloak:8080/realms/bwell-realm/.well-known/openid-configuration"
# second client for testing
AUTH_ISSUER_CLIENT3: "http://keycloak:8080/realms/bwell-realm"
AUTH_AUDIENCE_CLIENT3: "client3"
AUTH_CLIENT_ID_CLIENT3: "bwell-client-id-3"
AUTH_CLIENT_SECRET_CLIENT3: "bwell-secret-3"
AUTH_WELL_KNOWN_URI_CLIENT3: "http://keycloak:8080/realms/bwell-realm/.well-known/openid-configuration"
# Okta for dev and production
AUTH_ISSUER_OKTA: "https://icanbwell.okta.com"
# AUTH_CLIENT_ID_OKTA and AUTH_CLIENT_SECRET_OKTA are read from the docker.env file
AUTH_WELL_KNOWN_URI_OKTA: "https://icanbwell.okta.com/.well-known/openid-configuration"
# This is the URL that the user will be redirected to after authentication
AUTH_REDIRECT_URI: "http://localhost:5050/auth/callback"
# Mongo DB settings for storing tokens
MONGO_DB_NAME: language_model_gateway
MONGO_URL: 'mongodb://mongo:27017?appName=fhir-server'
MONGO_DB_USERNAME: root
MONGO_DB_PASSWORD: "test123" # pragma: allowlist secret
MONGO_DB_AUTH_CACHE_COLLECTION_NAME: oauth_cache
MONGO_DB_AUTH_CACHE_DISABLE_DELETE: 'true'
MONGO_DB_TOKEN_COLLECTION_NAME: tokens
# for LLM memory
ENABLE_LLM_MEMORY: 'false'
MONGO_LLM_STORAGE_STORE_COLLECTION_NAME: "stores"
MONGO_LLM_STORAGE_CHECKPOINTER_COLLECTION_NAME: "checkpointers"
LLM_STORAGE_TYPE: "mongo"
OAUTH_CACHE: mongo
# This is the user and password that can be used for testing
MY_USER_NAME: tester
MY_USER_PASSWORD: password
# truncates the tool output to the specified number of tokens
TOOL_OUTPUT_TOKEN_LIMIT: 100000
# Control logging by code area
HTTP_TRACING_LOG_LEVEL: 'DEBUG'
env_file: docker.env
command: ["uvicorn", "language_model_gateway.gateway.api:app", "--host", "0.0.0.0", "--port", "5000", "--reload", "--log-level", "debug"]
ports:
- '5050:5000'
volumes:
- ./:/usr/src/language_model_gateway/:cached
# uncomment this for testing AWS models and the docker.env above (need the AWS_CREDENTIALS_PROFILE env var)
- ~/.aws/:/etc/appuser/.aws/
healthcheck:
test: curl --fail -s http://localhost:5000/health || exit 1
interval: 10s
timeout: 10s
retries: 3
networks:
- web
mongo:
image: mongodb/mongodb-atlas-local:8.2.0
# https://github.com/mongodb/mongodb-atlas-cli/releases
# https://www.mongodb.com/docs/atlas/cli/current/atlas-cli-changelog/
ports:
- "27017:27017"
container_name: mongo
environment:
# ALLOW_EMPTY_PASSWORD: yes
MONGO_VECTOR_DATABASE: data-science
MONGO_VECTOR_COLLECTION: complaints_cache
MONGODB_INITDB_ROOT_USERNAME: root
MONGODB_INITDB_ROOT_PASSWORD: "test123" # pragma: allowlist secret
MONGO_VECTOR_PORT: 27017
MONGO_EMBEDDINGS_CACHE_COLLECTION: embeddings_cache
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh mongo:27017/test --quiet
networks:
- web
networks:
web:
driver: bridge