Skip to content

Commit

Permalink
Merge branch 'dev' into SCRUM-16-implement-tool-call-step
Browse files Browse the repository at this point in the history
  • Loading branch information
HamadaSalhab committed Sep 23, 2024
2 parents 6a3ba9f + 50f96d3 commit 0552f80
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 86 deletions.
13 changes: 3 additions & 10 deletions agents-api/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,13 @@ x--shared-environment: &shared-environment
x--base-agents-api: &base-agents-api
image: julepai/agents-api:${TAG}
depends_on:
memory-store:
condition: service_started
worker:
condition: service_started
environment:
<<: *shared-environment
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"

develop:
watch:
Expand All @@ -57,6 +53,9 @@ services:
- '' # Acts as a default profile. See: https://stackoverflow.com/questions/75758174/how-to-make-profile-default-for-docker-compose
- single-tenant

ports:
- "8080:8080"

agents-api-multi-tenant:
<<: *base-agents-api
profiles:
Expand All @@ -73,9 +72,6 @@ services:
build:
context: .
dockerfile: Dockerfile.worker
depends_on:
temporal:
condition: service_started

develop:
watch:
Expand All @@ -92,9 +88,6 @@ services:
cozo-migrate:
image: julepai/cozo-migrate:${TAG}
container_name: cozo-migrate
depends_on:
memory-store:
condition: service_started
build:
context: .
dockerfile: Dockerfile.migration
Expand Down
99 changes: 55 additions & 44 deletions llm-proxy/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,83 @@
name: julep-llm-proxy

x--litellm-base: &litellm-base
image: ghcr.io/berriai/litellm-database:main-v1.46.6
restart: unless-stopped
hostname: litellm
volumes:
- ./litellm-config.yaml:/app/config.yaml
- .keys:/app/.keys:ro
environment:
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
- DATABASE_URL=${LITELLM_DATABASE_URL:-postgresql://${LITELLM_POSTGRES_USER:-llmproxy}:${LITELLM_POSTGRES_PASSWORD}@${LITELLM_POSTGRES_HOST:-litellm-db}:${LITELLM_POSTGRES_PORT:-5432}/${LITELLM_POSTGRES_DB:-litellm}?sslmode=${LITELLM_POSTGRES_SSLMODE:-prefer_ssl}}
- REDIS_URL=${LITELLM_REDIS_URL:-${LITELLM_REDIS_PROTOCOL:-redis}://${LITELLM_REDIS_USER:-default}:${LITELLM_REDIS_PASSWORD:-${LITELLM_REDIS_PASSWORD}}@${LITELLM_REDIS_HOST:-litellm-redis}:${LITELLM_REDIS_PORT:-6379}}

- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GROQ_API_KEY=${GROQ_API_KEY}
- CLOUDFLARE_API_KEY=${CLOUDFLARE_API_KEY}
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
- NVIDIA_NIM_API_KEY=${NVIDIA_NIM_API_KEY}
- GITHUB_API_KEY=${GITHUB_API_KEY}
- VOYAGE_API_KEY=${VOYAGE_API_KEY}
- GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS}
command:
[
"--config",
"/app/config.yaml",
"--port",
"4000",
"--num_workers",
"8",
"--telemetry",
"False"
]

develop:
watch:
- action: sync+restart
path: ./litellm-config.yaml
target: /app/config.yaml


services:
litellm-managed:
<<: *litellm-base
profiles:
- managed-db

litellm:
image: ghcr.io/berriai/litellm-database:main-v1.46.6
restart: unless-stopped
volumes:
- ./litellm-config.yaml:/app/config.yaml
- .keys:/app/.keys:ro
environment:
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
- LITELLM_POSTGRES_DB=${LITELLM_POSTGRES_DB:-litellm}
- LITELLM_POSTGRES_USER=${LITELLM_POSTGRES_USER:-llmproxy}
- LITELLM_POSTGRES_PASSWORD=${LITELLM_POSTGRES_PASSWORD}
- LITELLM_REDIS_HOST=${LITELLM_REDIS_HOST:-litellm-redis}
- LITELLM_REDIS_PORT=${LITELLM_REDIS_PORT:-6379}
- LITELLM_REDIS_PASSWORD=${LITELLM_REDIS_PASSWORD}
- LITELLM_DATABASE_URL=postgresql://${LITELLM_POSTGRES_USER:-llmproxy}:${LITELLM_POSTGRES_PASSWORD}@litellm-db:5432/${LITELLM_POSTGRES_DB:-litellm}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GROQ_API_KEY=${GROQ_API_KEY}
- CLOUDFLARE_API_KEY=${CLOUDFLARE_API_KEY}
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
- NVIDIA_NIM_API_KEY=${NVIDIA_NIM_API_KEY}
- GITHUB_API_KEY=${GITHUB_API_KEY}
- VOYAGE_API_KEY=${VOYAGE_API_KEY}
- GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS}
command:
[
"--config",
"/app/config.yaml",
"--port",
"4000",
"--num_workers",
"8",
"--telemetry",
"False"
]
<<: *litellm-base
profiles:
- self-hosted-db

depends_on:
- litellm-db
- litellm-redis

develop:
watch:
- action: sync+restart
path: ./litellm-config.yaml
target: /app/config.yaml

litellm-db:
image: postgres:16
restart: unless-stopped
volumes:
- litellm-db-data:/var/lib/postgresql/data
ports:
- "15432:5432"
profiles:
- self-hosted-db
environment:
- POSTGRES_DB=${LITELLM_POSTGRES_DB:-litellm}
- POSTGRES_USER=${LITELLM_POSTGRES_USER:-llmproxy}
- POSTGRES_PASSWORD=${LITELLM_POSTGRES_PASSWORD}
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d ${LITELLM_POSTGRES_DB:-litellm} -U ${LITELLM_POSTGRES_USER:-llmproxy}" ]

interval: 1s
timeout: 5s
retries: 10

litellm-redis:
image: redis/redis-stack-server
restart: unless-stopped
profiles:
- self-hosted-db
environment:
REDIS_ARGS: --requirepass ${LITELLM_REDIS_PASSWORD}
volumes:
Expand Down
2 changes: 1 addition & 1 deletion llm-proxy/litellm-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ model_list:

- model_name: voyage-3
litellm_params:
model: "voyage/voyage-large-2"
model: "voyage/voyage-3"
api_key: os.environ/VOYAGE_API_KEY
tags: ["paid"]

Expand Down
9 changes: 9 additions & 0 deletions scheduler/cert/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*.crt
*.key
*.pem
*.csr
*.pem
*.key
*.crt
*.csr
*.pem
74 changes: 44 additions & 30 deletions scheduler/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,59 @@
name: julep-scheduler

x--temporal-base: &temporal-base
image: temporalio/auto-setup:1.25
hostname: temporal
environment:
- POSTGRES_PWD=${TEMPORAL_POSTGRES_PASSWORD}
- POSTGRES_DB=${TEMPORAL_POSTGRES_DB:-temporal}
- POSTGRES_SEEDS=${TEMPORAL_POSTGRES_HOST:-temporal-db}
- DB_HOST=${TEMPORAL_POSTGRES_HOST:-temporal-db}
- DB_PORT=${TEMPORAL_POSTGRES_PORT:-5432}
- POSTGRES_USER=${TEMPORAL_POSTGRES_USER:-temporal}

- TEMPORAL_ADDRESS=${TEMPORAL_ADDRESS:-temporal:7233}
- POSTGRES_TLS_ENABLED=${TEMPORAL_POSTGRES_TLS_ENABLED:-false}
- POSTGRES_TLS_CA_FILE=/cert/ca.crt
- SQL_TLS_ENABLED=${TEMPORAL_POSTGRES_TLS_ENABLED:-false}
- SQL_CA=/cert/ca.crt
- POSTGRES_TLS_DISABLE_HOST_VERIFICATION=${TEMPORAL_POSTGRES_TLS_DISABLE_HOST_VERIFICATION:-false}
- VISIBILITY_DBNAME=${TEMPORAL_VISIBILITY_DBNAME:-temporal_visibility}
- SKIP_SCHEMA_SETUP=${TEMPORAL_SKIP_SCHEMA_SETUP:-false}
- SKIP_DB_CREATE=${TEMPORAL_SKIP_DB_CREATE:-false}
- DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/temporal-postgres.yaml
- DB=postgres12
- LOG_LEVEL=${TEMPORAL_LOG_LEVEL:-info}
volumes:
- ./dynamicconfig:/etc/temporal/config/dynamicconfig
- ./cert:/cert

services:
temporal:
depends_on:
temporal-db:
condition: service_started
environment:
- DB=postgres12
- DB_PORT=${TEMPORAL_POSTGRES_PORT:-5432}
- DB_HOST=${TEMPORAL_POSTGRES_HOST:-temporal-db}
- POSTGRES_USER=${TEMPORAL_POSTGRES_USER:-temporal}
- POSTGRES_PWD=${TEMPORAL_POSTGRES_PASSWORD}
- POSTGRES_SEEDS=temporal-db
- DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development-sql.yaml
image: temporalio/auto-setup:1.24
volumes:
- ./dynamicconfig:/etc/temporal/config/dynamicconfig
temporal-managed:
<<: *temporal-base
profiles:
- managed-db

temporal-admin-tools:
temporal:
<<: *temporal-base
profiles:
- self-hosted-db
depends_on:
- temporal
environment:
- TEMPORAL_ADDRESS=temporal:7233
- TEMPORAL_CLI_ADDRESS=temporal:7233
image: temporalio/admin-tools:1.24
stdin_open: true
tty: true
- temporal-db

temporal-db:
image: postgres:16
restart: unless-stopped
volumes:
- temporal-db-data:/var/lib/postgresql/data
profiles:
- self-hosted-db
environment:
- POSTGRES_DB=${TEMPORAL_POSTGRES_DB:-temporal}
- POSTGRES_USER=${TEMPORAL_POSTGRES_USER:-temporal}
- POSTGRES_PASSWORD=${TEMPORAL_POSTGRES_PASSWORD}
volumes:
- temporal-db-data:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d ${TEMPORAL_POSTGRES_DB:-temporal} -U ${TEMPORAL_POSTGRES_USER:-temporal}" ]

interval: 1s
timeout: 5s
retries: 10
Expand All @@ -46,11 +62,9 @@ services:
image: temporalio/ui:latest
profiles:
- temporal-ui
depends_on:
- temporal
environment:
- TEMPORAL_ADDRESS=temporal:7233
- TEMPORAL_CORS_ORIGINS=http://localhost:3000
- TEMPORAL_ADDRESS=${TEMPORAL_ADDRESS:-temporal:7233}
- TEMPORAL_CORS_ORIGINS=${TEMPORAL_CORS_ORIGINS:-http://localhost:3000}
ports:
- 9000:8080 # Since 8080 is already used by agents-api

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ limit.maxIDLength:
- value: 255
constraints: {}
system.forceSearchAttributesCacheRefreshOnRead:
- value: true # Dev setup only. Please don't turn this on in production.
- value: false
constraints: {}

0 comments on commit 0552f80

Please sign in to comment.