ibm-watsonx-orchestrate 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. ibm_watsonx_orchestrate/__init__.py +28 -0
  2. ibm_watsonx_orchestrate/agent_builder/__init__.py +0 -0
  3. ibm_watsonx_orchestrate/agent_builder/agents/__init__.py +5 -0
  4. ibm_watsonx_orchestrate/agent_builder/agents/agent.py +27 -0
  5. ibm_watsonx_orchestrate/agent_builder/agents/assistant_agent.py +28 -0
  6. ibm_watsonx_orchestrate/agent_builder/agents/external_agent.py +28 -0
  7. ibm_watsonx_orchestrate/agent_builder/agents/types.py +204 -0
  8. ibm_watsonx_orchestrate/agent_builder/connections/__init__.py +27 -0
  9. ibm_watsonx_orchestrate/agent_builder/connections/connections.py +123 -0
  10. ibm_watsonx_orchestrate/agent_builder/connections/types.py +260 -0
  11. ibm_watsonx_orchestrate/agent_builder/knowledge_bases/knowledge_base.py +27 -0
  12. ibm_watsonx_orchestrate/agent_builder/knowledge_bases/knowledge_base_requests.py +59 -0
  13. ibm_watsonx_orchestrate/agent_builder/knowledge_bases/types.py +243 -0
  14. ibm_watsonx_orchestrate/agent_builder/tools/__init__.py +4 -0
  15. ibm_watsonx_orchestrate/agent_builder/tools/base_tool.py +36 -0
  16. ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py +332 -0
  17. ibm_watsonx_orchestrate/agent_builder/tools/python_tool.py +195 -0
  18. ibm_watsonx_orchestrate/agent_builder/tools/types.py +162 -0
  19. ibm_watsonx_orchestrate/agent_builder/utils/__init__.py +0 -0
  20. ibm_watsonx_orchestrate/agent_builder/utils/pydantic_utils.py +149 -0
  21. ibm_watsonx_orchestrate/cli/__init__.py +0 -0
  22. ibm_watsonx_orchestrate/cli/commands/__init__.py +0 -0
  23. ibm_watsonx_orchestrate/cli/commands/agents/agents_command.py +192 -0
  24. ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py +660 -0
  25. ibm_watsonx_orchestrate/cli/commands/channels/channels_command.py +15 -0
  26. ibm_watsonx_orchestrate/cli/commands/channels/channels_controller.py +16 -0
  27. ibm_watsonx_orchestrate/cli/commands/channels/types.py +15 -0
  28. ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_command.py +32 -0
  29. ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_controller.py +141 -0
  30. ibm_watsonx_orchestrate/cli/commands/chat/chat_command.py +43 -0
  31. ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py +307 -0
  32. ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py +517 -0
  33. ibm_watsonx_orchestrate/cli/commands/environment/environment_command.py +78 -0
  34. ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py +189 -0
  35. ibm_watsonx_orchestrate/cli/commands/environment/types.py +9 -0
  36. ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_command.py +79 -0
  37. ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py +201 -0
  38. ibm_watsonx_orchestrate/cli/commands/login/login_command.py +17 -0
  39. ibm_watsonx_orchestrate/cli/commands/models/models_command.py +128 -0
  40. ibm_watsonx_orchestrate/cli/commands/server/server_command.py +623 -0
  41. ibm_watsonx_orchestrate/cli/commands/settings/__init__.py +0 -0
  42. ibm_watsonx_orchestrate/cli/commands/settings/observability/__init__.py +0 -0
  43. ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/__init__.py +0 -0
  44. ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/langfuse_command.py +175 -0
  45. ibm_watsonx_orchestrate/cli/commands/settings/observability/observability_command.py +11 -0
  46. ibm_watsonx_orchestrate/cli/commands/settings/settings_command.py +10 -0
  47. ibm_watsonx_orchestrate/cli/commands/tools/tools_command.py +85 -0
  48. ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py +564 -0
  49. ibm_watsonx_orchestrate/cli/commands/tools/types.py +10 -0
  50. ibm_watsonx_orchestrate/cli/config.py +226 -0
  51. ibm_watsonx_orchestrate/cli/main.py +32 -0
  52. ibm_watsonx_orchestrate/client/__init__.py +0 -0
  53. ibm_watsonx_orchestrate/client/agents/agent_client.py +46 -0
  54. ibm_watsonx_orchestrate/client/agents/assistant_agent_client.py +38 -0
  55. ibm_watsonx_orchestrate/client/agents/external_agent_client.py +38 -0
  56. ibm_watsonx_orchestrate/client/analytics/__init__.py +0 -0
  57. ibm_watsonx_orchestrate/client/analytics/llm/__init__.py +0 -0
  58. ibm_watsonx_orchestrate/client/analytics/llm/analytics_llm_client.py +50 -0
  59. ibm_watsonx_orchestrate/client/base_api_client.py +113 -0
  60. ibm_watsonx_orchestrate/client/base_service_instance.py +10 -0
  61. ibm_watsonx_orchestrate/client/client.py +71 -0
  62. ibm_watsonx_orchestrate/client/client_errors.py +359 -0
  63. ibm_watsonx_orchestrate/client/connections/__init__.py +10 -0
  64. ibm_watsonx_orchestrate/client/connections/connections_client.py +162 -0
  65. ibm_watsonx_orchestrate/client/connections/utils.py +27 -0
  66. ibm_watsonx_orchestrate/client/credentials.py +123 -0
  67. ibm_watsonx_orchestrate/client/knowledge_bases/knowledge_base_client.py +46 -0
  68. ibm_watsonx_orchestrate/client/local_service_instance.py +91 -0
  69. ibm_watsonx_orchestrate/client/service_instance.py +73 -0
  70. ibm_watsonx_orchestrate/client/tools/tool_client.py +41 -0
  71. ibm_watsonx_orchestrate/client/utils.py +95 -0
  72. ibm_watsonx_orchestrate/docker/compose-lite.yml +595 -0
  73. ibm_watsonx_orchestrate/docker/default.env +125 -0
  74. ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0-py3-none-any.whl +0 -0
  75. ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0.tar.gz +0 -0
  76. ibm_watsonx_orchestrate/docker/start-up.sh +61 -0
  77. ibm_watsonx_orchestrate/docker/tempus/common-config.yaml +1 -0
  78. ibm_watsonx_orchestrate/run/__init__.py +0 -0
  79. ibm_watsonx_orchestrate/run/connections.py +40 -0
  80. ibm_watsonx_orchestrate/utils/__init__.py +0 -0
  81. ibm_watsonx_orchestrate/utils/logging/__init__.py +0 -0
  82. ibm_watsonx_orchestrate/utils/logging/logger.py +26 -0
  83. ibm_watsonx_orchestrate/utils/logging/logging.yaml +18 -0
  84. ibm_watsonx_orchestrate/utils/utils.py +15 -0
  85. ibm_watsonx_orchestrate-1.0.0.dist-info/METADATA +34 -0
  86. ibm_watsonx_orchestrate-1.0.0.dist-info/RECORD +89 -0
  87. ibm_watsonx_orchestrate-1.0.0.dist-info/WHEEL +4 -0
  88. ibm_watsonx_orchestrate-1.0.0.dist-info/entry_points.txt +2 -0
  89. ibm_watsonx_orchestrate-1.0.0.dist-info/licenses/LICENSE +22 -0
@@ -0,0 +1,595 @@
1
+ services:
2
+ ########################
3
+ # Orchestrate Lite dependencies
4
+ ########################
5
+ wxo-server-redis:
6
+ image: us.icr.io/watson-orchestrate-private/redis:latest
7
+ platform: linux/amd64
8
+ restart: unless-stopped
9
+ ports:
10
+ - 6379:6379
11
+ volumes:
12
+ - wxo-server-redis-data:/data
13
+ command: redis-server --loglevel warning
14
+
15
+ wxo-server-db:
16
+ image: us.icr.io/${DB_REGISTRY:-watson-orchestrate-private}/wxo-server-db:${DBTAG:-latest}
17
+ restart: unless-stopped
18
+ environment:
19
+ POSTGRES_USER: ${POSTGRES_USER:-postgres}
20
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
21
+ PGDATA: /var/lib/postgresql/data/pgdata
22
+ ports:
23
+ - 5432:5432
24
+ healthcheck:
25
+ test: pg_isready -U $$POSTGRES_USER -d postgres
26
+ interval: 5s
27
+ timeout: 60s
28
+ retries: 20
29
+ volumes:
30
+ - wxo-server-db:/var/lib/postgresql/data
31
+ - wxo-applied-migrations:/var/lib/postgresql/applied_migrations
32
+ command: -c shared_preload_libraries=pgsodium
33
+
34
+ wxo-server-connection-manager:
35
+ image: us.icr.io/${CM_REGISTRY:-watson-orchestrate-private}/wxo-connections:${CM_TAG:-latest}
36
+ platform: linux/amd64
37
+ restart: unless-stopped
38
+ environment:
39
+ DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
40
+ DB_NAME: ${DB_NAME:-postgres}
41
+ DB_USER: ${DB_USER:-postgres}
42
+ DB_PASS: ${DB_PASSWORD:-postgres}
43
+ DB_HOST: wxo-server-db
44
+ DB_PORT: ${DB_PORT:-5432}
45
+ DB_ENCRYPTION_KEY: abc
46
+ WXO_SERVER_URL: http://wxo-server:4321
47
+ MAX_POOL: 10
48
+ ports:
49
+ - 3001:3001
50
+
51
+ ui:
52
+ image: us.icr.io/${UI_REGISTRY:-watson-orchestrate-private}/wxo-chat:${UITAG:-latest}
53
+ platform: linux/amd64
54
+ restart: unless-stopped
55
+ environment:
56
+ NODE_ENV: production
57
+ REACT_APP_WEB_CHAT_ENVIRONMENT: local
58
+ REACT_APP_TENANT_ID: ${REACT_APP_TENANT_ID}
59
+ VCAP_APP_PORT: 4002
60
+ REACT_APP_ENVIRONMENT: local
61
+ DEPLOYMENT_ENVIRONMENT: local
62
+ UI_APP_CONTEXT_ROOT: /mfe_home
63
+ DE_CLIENT_HEAP_SIZE: 1024
64
+ NODE_LOG_LEVEL: debug
65
+ RABBITMQ_EXCHANGE: verdi_events_affinity
66
+ SOCKET_PING_TIMEOUT: 20000
67
+ WXO_DOMAIN_URL: http://localhost:4321
68
+ IS_WXA_WEBCHAT: "true"
69
+ NODE_OPTIONS: --max-http-header-size 32768
70
+ PATH: /opt/app-root/src/node_modules/.bin/:/opt/app-root/src/.npm-global/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
71
+ TERM: xterm
72
+ PLATFORM: el8
73
+ MAX_FILE_UPLOAD_SIZE_BYTES: 20971520
74
+ MAX_FILE_UPLOAD_SIZE_BYTES_EXCEL: 1048576
75
+ VCAP_APP_HOST: localhost
76
+ DEPLOYMENT_PLATFORM: laptop
77
+ DISMISS_NOTIFICATION_TIMEOUT: 10000
78
+ STANDALONE: "true"
79
+ STREAM_TIMEOUT: ${STREAM_TIMEOUT:-120000}
80
+ command: "./StartServer.sh"
81
+ ports:
82
+ - "3000:4002"
83
+ dns:
84
+ - 8.8.8.8
85
+ - 1.1.1.1
86
+ volumes:
87
+ - ui-data:/data
88
+
89
+ wxo-builder:
90
+ image: us.icr.io/${BUILDER_REGISTRY:-watson-orchestrate-private}/wxo-builder:${BUILDER_TAG:-latest}
91
+ platform: linux/amd64
92
+ restart: unless-stopped
93
+ environment:
94
+ WXO_DEPLOYMENT_TYPE: 'laptop'
95
+ AGENT_RUNTIME_ENDPOINT: http://wxo-server:4321
96
+ command: 'npm start'
97
+ ports:
98
+ - '4025:4025'
99
+ healthcheck:
100
+ test: curl -k http://localhost:4025/api/health --fail
101
+ interval: 5s
102
+ timeout: 60s
103
+ retries: 5
104
+
105
+ wxo-server-minio:
106
+ image: us.icr.io/watson-orchestrate-private/minio/minio:latest
107
+ platform: linux/amd64
108
+ ports:
109
+ - '9000:9000'
110
+ - '9001:9001'
111
+ healthcheck:
112
+ test: timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1
113
+ interval: 5s
114
+ timeout: 20s
115
+ retries: 10
116
+ environment:
117
+ MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
118
+ MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
119
+ command: server --console-address ":9001" /data
120
+ volumes:
121
+ - wxo-server-minio-data:/data
122
+
123
+ wxo-server-minio-setup:
124
+ image: us.icr.io/watson-orchestrate-private/minio/mc:latest
125
+ platform: linux/amd64
126
+ depends_on:
127
+ wxo-server-minio:
128
+ condition: service_healthy
129
+ entrypoint: >
130
+ /bin/sh -c "
131
+ /usr/bin/mc alias set wxo-server-minio http://wxo-server-minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-watsonxorchestrate};
132
+ /usr/bin/mc mb wxo-server-minio/wxo-server-storage-bucket;
133
+ /usr/bin/mc mb wxo-server-minio/langfuse;
134
+ exit 0;
135
+ "
136
+
137
+ wxo-milvus-standalone:
138
+ image: milvusdb/milvus:v2.5.6
139
+ command: ["milvus", "run", "standalone"]
140
+ security_opt:
141
+ - seccomp:unconfined
142
+ environment:
143
+ ETCD_ENDPOINTS: wxo-milvus-etcd:2379
144
+ MINIO_ADDRESS: wxo-server-minio:9000
145
+ MINIO_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
146
+ MINIO_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
147
+ volumes:
148
+ - wxo-milvus-data:/var/lib/milvus
149
+ healthcheck:
150
+ test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
151
+ interval: 30s
152
+ start_period: 90s
153
+ timeout: 20s
154
+ retries: 3
155
+ ports:
156
+ - "19530:19530"
157
+ - "9091:9091"
158
+ depends_on:
159
+ - "wxo-milvus-etcd"
160
+ - "wxo-server-minio"
161
+
162
+ wxo-milvus-etcd:
163
+ image: quay.io/coreos/etcd:v3.5.18
164
+ environment:
165
+ - ETCD_AUTO_COMPACTION_MODE=revision
166
+ - ETCD_AUTO_COMPACTION_RETENTION=1000
167
+ - ETCD_QUOTA_BACKEND_BYTES=4294967296
168
+ - ETCD_SNAPSHOT_COUNT=50000
169
+ volumes:
170
+ - wxo-milvus-etcd-data:/etcd
171
+ command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
172
+ healthcheck:
173
+ test: ["CMD", "etcdctl", "endpoint", "health"]
174
+ interval: 30s
175
+ timeout: 20s
176
+ retries: 3
177
+
178
+ socket-handler:
179
+ container_name: socket-handler
180
+ profiles:
181
+ - webhooks
182
+ - ui
183
+ build:
184
+ context: .
185
+ dockerfile: ./socket_handler/Dockerfile
186
+ target: socket-handler
187
+ args:
188
+ GIT_BRANCH: "main"
189
+ ssh:
190
+ - default
191
+ image: docker.io/library/socket-handler:latest
192
+ command: "npm start"
193
+ ports:
194
+ - 4001:4001
195
+ environment:
196
+ - PORT=4001
197
+ - REDIS_URL=redis://wxo-server-redis:6379/0
198
+ depends_on:
199
+ - wxo-server-redis
200
+
201
+ wxo-server:
202
+ image: us.icr.io/${SERVER_REGISTRY:-watson-orchestrate-private}/wxo-server-server:${SERVER_TAG:-latest}
203
+ platform: linux/amd64
204
+ restart: unless-stopped
205
+ ports:
206
+ - 4321:4321
207
+ - 4322:4322
208
+ volumes:
209
+ - ./sdk:/packages
210
+ - tools:/tools
211
+ command: >
212
+ bash -c "mkdir -p /tmp/certs &&
213
+ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/certs/key.pem -out /tmp/certs/cert.pem -subj '/CN=localhost' &&
214
+ uvicorn --host 0.0.0.0 --port 4322 --ssl-keyfile /tmp/certs/key.pem --ssl-certfile /tmp/certs/cert.pem --log-config /app/config/logs/log_conf.yaml --log-level debug --workers 5 wo_archer.api.main:app &
215
+ (for i in {1..20}; do curl --silent --fail -k https://127.0.0.1:4322/health/alive && echo '[INFO] HTTPS Service ready' && break || echo '[INFO] Waiting for HTTPS service...' && sleep 30; done; curl --silent --fail -k https://127.0.0.1:4322/health/alive || (echo '[ERROR] HTTPS service failed to start' && exit 1) ) &&
216
+ uvicorn --host 0.0.0.0 --port 4321 --log-config /app/config/logs/log_conf.yaml --log-level debug --workers 5 wo_archer.api.main:app &
217
+ (for i in {1..20}; do curl --silent --fail -k http://127.0.0.1:4321/health/alive && echo '[INFO] HTTP Service ready' && break || echo '[INFO] Waiting for HTTP service...' && sleep 30; done; curl --silent --fail -k http://127.0.0.1:4321/health/alive || (echo '[ERROR] HTTP service failed to start' && exit 1) ) &&
218
+ wait"
219
+ depends_on:
220
+ wxo-server-redis:
221
+ condition: service_started
222
+ wxo-server-db:
223
+ condition: service_started
224
+ wxo-server-worker:
225
+ condition: service_started
226
+ langfuse-worker:
227
+ condition: service_started
228
+ required: False
229
+ environment:
230
+ PIP_NO_CACHE_DIR:
231
+ JWT_SECRET: ${JWT_SECRET}
232
+ TRM_BASE_URL: http://tools-runtime-manager:8080
233
+ POSTGRES_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
234
+ # POSTGRES_POOL_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:6432/postgres
235
+ CELERY_BROKER_URL: redis://wxo-server-redis:6379/0
236
+ CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
237
+ FLOWER_URL: http://wxo-server-flower:5555
238
+ DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
239
+ STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
240
+ STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
241
+ STORAGE_S3_FORCE_PATH_STYLE: 'true'
242
+ STORAGE_S3_REGION: us-east-1
243
+ EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
244
+ AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
245
+ AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
246
+ ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
247
+ ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
248
+ ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
249
+ ASSISTANT_LLM_SPACE_ID : ${ASSISTANT_LLM_SPACE_ID}
250
+ BAM_API_KEY: ${BAM_API_KEY}
251
+ WXAI_API_KEY: ${WXAI_API_KEY}
252
+ ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
253
+ ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
254
+ ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
255
+ ROUTING_LLM_SPACE_ID : ${ROUTING_LLM_SPACE_ID}
256
+ ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
257
+ ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
258
+ ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
259
+ ASSISTANT_EMBEDDINGS_SPACE_ID: ${ASSISTANT_EMBEDDINGS_SPACE_ID}
260
+ ASSISTANT_INDEX_CHUNK_SIZE: 400
261
+ ASSISTANT_INDEX_CHUNK_OVERLAP: 50
262
+ LANGCHAIN_PROJECT: ${LANGCHAIN_PROJECT}
263
+ LANGCHAIN_TRACING_V2: ${LANGCHAIN_TRACING_V2}
264
+ LANGCHAIN_API_KEY: ${LANGCHAIN_API_KEY}
265
+ LANGFUSE_HOST: ${LANGFUSE_HOST:-http://host.docker.internal:3010}
266
+ LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:-pk-lf-7417757e-d6df-421b-957e-683b76acb5df}
267
+ LANGFUSE_SECRET_KEY: ${LANGFUSE_PRIVATE_KEY:-sk-lf-7bc4da63-7b2b-40c0-b5eb-1e0cf64f9af2}
268
+ NLTK_DATA: /tmp/nltk_data
269
+ DO_NOT_TRACK: true
270
+ TELEMETRY_ENABLED: false
271
+ BASE_URL: https://de-server.apps.wo-dp-006.l7c7.p1.openshiftapps.com/
272
+ AGENT_STEP_DETAILS: redis://wxo-server-redis:6379/0
273
+ JWT_PRIVATE_CONFIGS_PATH: "/"
274
+ VECTOR_STORE_PROVIDER: ${VECTOR_STORE_PROVIDER:-milvus}
275
+ CELERY_RESULTS_TTL: "3600"
276
+ EVENT_BROKER_TTL: "-1"
277
+ TAVILY_API_KEY: ${TAVILY_API_KEY:-dummy_tavily_api_key}
278
+ WATSONX_APIKEY: ${WATSONX_APIKEY}
279
+ WATSONX_URL: ${WATSONX_URL}
280
+ WATSONX_SPACE_ID: ${WATSONX_SPACE_ID}
281
+ CALLER_ID: 12345
282
+ AGENTIC_FLOW_ENABLED: ${AGENTIC_FLOW_ENABLED}
283
+ CELERY_WORKER_POOL: ${CELERY_WORKER_POOL}
284
+ IS_WXO_LITE: 'TRUE'
285
+ OAUTH_REDIRECT_URL: https://localhost:4322/api/v1/connections/callback
286
+ ENABLE_WEBHOOKS: false
287
+ DISABLE_JSON_LOG_CELERY: true
288
+ WXO_DEPLOYMENT_PLATFORM: saas
289
+ CONNECTION_MANAGER_URL: http://wxo-server-connection-manager:3001
290
+ CHANNEL_SESSION_REDIS_URL: redis://wxo-server-redis:6379/5
291
+ WXO_MILVUS_URI: http://wxo-milvus-standalone:19530
292
+ MILVUS_DB_NAME: default
293
+ MILVUS_USERNAME: root
294
+ MILVUS_PASSWORD: Milvus
295
+
296
+ wxo-server-worker:
297
+ image: us.icr.io/${WORKER_REGISTRY:-watson-orchestrate-private}/wxo-server-conversation_controller:${WORKER_TAG:-latest}
298
+ platform: linux/amd64
299
+ restart: unless-stopped
300
+ depends_on:
301
+ wxo-server-redis:
302
+ condition: service_started
303
+ wxo-server-db:
304
+ condition: service_started
305
+ langfuse-worker:
306
+ condition: service_started
307
+ required: False
308
+ volumes:
309
+ - ./sdk:/packages
310
+ - tools:/tools
311
+ environment:
312
+ IS_WXO_LITE: 'TRUE'
313
+ TRM_BASE_URL: http://tools-runtime-manager:8080
314
+ AGENT_STEP_DETAILS: redis://wxo-server-redis:6379/0
315
+ JWT_SECRET: ${JWT_SECRET}
316
+ POSTGRES_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
317
+ CELERY_BROKER_URL: redis://wxo-server-redis:6379/0
318
+ CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
319
+ STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
320
+ STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
321
+ STORAGE_S3_FORCE_PATH_STYLE: 'true'
322
+ STORAGE_S3_REGION: us-east-1
323
+ EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
324
+ DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
325
+ AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
326
+ AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
327
+ ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
328
+ ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
329
+ ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
330
+ ASSISTANT_LLM_SPACE_ID : ${ASSISTANT_LLM_SPACE_ID}
331
+ ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
332
+ ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
333
+ ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
334
+ ROUTING_LLM_SPACE_ID : ${ROUTING_LLM_SPACE_ID}
335
+ ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
336
+ ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
337
+ ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
338
+ ASSISTANT_EMBEDDINGS_SPACE_ID: ${ASSISTANT_EMBEDDINGS_SPACE_ID}
339
+ ASSISTANT_INDEX_CHUNK_SIZE: 400
340
+ ASSISTANT_INDEX_CHUNK_OVERLAP: 50
341
+ LANGCHAIN_PROJECT: ${LANGCHAIN_PROJECT}
342
+ LANGCHAIN_TRACING_V2: ${LANGCHAIN_TRACING_V2}
343
+ LANGCHAIN_API_KEY: ${LANGCHAIN_API_KEY}
344
+ LANGFUSE_HOST: ${LANGFUSE_HOST:-http://host.docker.internal:3010}
345
+ LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:-pk-lf-7417757e-d6df-421b-957e-683b76acb5df}
346
+ LANGFUSE_SECRET_KEY: ${LANGFUSE_PRIVATE_KEY:-sk-lf-7bc4da63-7b2b-40c0-b5eb-1e0cf64f9af2}
347
+ NLTK_DATA: /tmp/nltk_data
348
+ DO_NOT_TRACK: true
349
+ TELEMETRY_ENABLED: false
350
+ BASE_URL: https://de-server.apps.wo-dp-006.l7c7.p1.openshiftapps.com/
351
+ SERVER_TYPE: CELERY
352
+ BAM_API_KEY: ${BAM_API_KEY}
353
+ WXAI_API_KEY: ${WXAI_API_KEY}
354
+ VECTOR_STORE_PROVIDER: ${VECTOR_STORE_PROVIDER:-milvus}
355
+ CELERY_RESULTS_TTL: "3600"
356
+ EVENT_BROKER_TTL: "-1"
357
+ TAVILY_API_KEY: ${TAVILY_API_KEY:-dummy_tavily_api_key}
358
+ WATSONX_APIKEY: ${WATSONX_APIKEY}
359
+ WATSONX_URL: ${WATSONX_URL}
360
+ WATSONX_SPACE_ID: ${WATSONX_SPACE_ID}
361
+ CALLER_ID: 12345
362
+ AGENTIC_FLOW_ENABLED: ${AGENTIC_FLOW_ENABLED}
363
+ CELERY_WORKER_POOL: ${CELERY_WORKER_POOL}
364
+ OAUTH_REDIRECT_URL: https://localhost:4322/api/v1/connections/callback
365
+ ENABLE_WEBHOOKS: false
366
+ DISABLE_JSON_LOG_CELERY: true
367
+ CONNECTION_MANAGER_URL: http://wxo-server-connection-manager:3001
368
+ CHANNEL_SESSION_REDIS_URL: redis://wxo-server-redis:6379/5
369
+ WXO_MILVUS_URI: http://wxo-milvus-standalone:19530
370
+ MILVUS_DB_NAME: default
371
+ MILVUS_USERNAME: root
372
+ MILVUS_PASSWORD: Milvus
373
+
374
+ tools-runtime-manager:
375
+ image: us.icr.io/${TRM_REGISTRY:-watson-orchestrate-private}/tools-runtime-manager:${TRM_TAG:-latest}
376
+ platform: linux/amd64
377
+ restart: unless-stopped
378
+ ports:
379
+ - "8080:8080"
380
+ depends_on:
381
+ wxo-server-db:
382
+ condition: service_healthy # Ensures DB is ready before starting
383
+ volumes:
384
+ - $HOME/.kube/config:/root/.kube/config
385
+ - tools-runtime-data:/shared-data
386
+ environment:
387
+ KUBECONFIG: /root/.kube/config
388
+ K8S_SERVER: "https://lima-rancher-desktop:6443" # Kubernetes API on host
389
+ DB_HOST: wxo-server-db
390
+ DB_PORT: ${DB_PORT:-5432} # Ensure default port
391
+ DB_USER: ${DB_USER:-postgres}
392
+ DB_PASSWORD: ${DB_PASSWORD:-postgres}
393
+ DB_NAME: ${DB_NAME:-postgres}
394
+ DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
395
+ DB_CONN_LIFE: ${DB_CONN_LIFE}
396
+ DB_MAX_IDLE_CONN: ${DB_MAX_IDLE_CONN}
397
+ DB_MAX_CONN: ${DB_MAX_CONN}
398
+ SERVER_PORT: ${SERVER_PORT}
399
+ SERVER_HOST: ${SERVER_HOST}
400
+ SCHEMA_FILE_PATH: ${SCHEMA_FILE_PATH}
401
+ WXO_BASE_URL: ${WXO_BASE_URL}
402
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY}
403
+ NAMESPACE: ${NAMESPACE}
404
+ DEPLOYMENT_PLATFORM: ${DEPLOYMENT_PLATFORM}
405
+ VOLUME_MOUNT_PATH: "/shared-data"
406
+ TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
407
+ CONNECTION_SERVICE_BASE_URL: http://wxo-server-connection-manager:3001
408
+ extra_hosts:
409
+ - "host.docker.internal:host-gateway"
410
+
411
+ tools-runtime:
412
+ image: us.icr.io/${TR_REGISTRY:-watson-orchestrate-private}/tools-runtime:${TR_TAG:-latest}
413
+ platform: linux/amd64
414
+ ports:
415
+ - "8000:8000"
416
+ restart: unless-stopped
417
+ depends_on:
418
+ - wxo-server-db
419
+ volumes:
420
+ - $HOME/.kube/config:/root/.kube/config
421
+ - tools-runtime-data:/shared-data
422
+ environment:
423
+ DEPLOYMENT_PLATFORM: ${DEPLOYMENT_PLATFORM}
424
+ VOLUME_MOUNT_PATH: "/shared-data"
425
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY}
426
+ TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
427
+ DB_HOST: wxo-server-db
428
+ DB_PORT: ${DB_PORT:-5432} # Ensure default port
429
+ DB_USER: ${DB_USER:-postgres}
430
+ DB_PASSWORD: ${DB_PASSWORD:-postgres}
431
+ DB_NAME: ${DB_NAME:-postgres}
432
+ DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
433
+
434
+ ########################
435
+ # LANGFUSE dependencies
436
+ ########################
437
+ langfuse-worker:
438
+ image: us.icr.io/watson-orchestrate-private/langfuse-worker:3
439
+ restart: unless-stopped
440
+ profiles: [langfuse]
441
+ depends_on: &langfuse-depends-on
442
+ wxo-server-db:
443
+ condition: service_healthy
444
+ wxo-server-minio:
445
+ condition: service_healthy
446
+ langfuse-clickhouse:
447
+ condition: service_healthy
448
+ ports:
449
+ - "3030:3030"
450
+ environment: &langfuse-worker-env
451
+ DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/langfuse
452
+ SHADOW_DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
453
+ SALT: "mysalt"
454
+ ENCRYPTION_KEY: "4cb5c10dfb35f77a50e871c4607bd199396725244b0f99caee33d329de6862f9" # generate via `openssl rand -hex 32`
455
+ TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
456
+ LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES: ${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-true}
457
+ CLICKHOUSE_MIGRATION_URL: ${LANGFUSE_CLICKHOUSE_MIGRATION_URL:-clickhouse://langfuse-clickhouse:9000}
458
+ CLICKHOUSE_URL: ${LANGFUSE_CLICKHOUSE_URL:-http://langfuse-clickhouse:8123}
459
+ CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
460
+ CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse}
461
+ CLICKHOUSE_CLUSTER_ENABLED: ${CLICKHOUSE_CLUSTER_ENABLED:-false}
462
+ LANGFUSE_S3_EVENT_UPLOAD_BUCKET: ${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}
463
+ LANGFUSE_S3_EVENT_UPLOAD_REGION: ${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}
464
+ LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
465
+ LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
466
+ LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT: ${STORAGE_S3_ENDPOINT:-http://wxo-server-minio:9000}
467
+ LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE: ${STORAGE_S3_FORCE_PATH_STYLE:-true}
468
+ LANGFUSE_S3_EVENT_UPLOAD_PREFIX: ${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}
469
+ LANGFUSE_S3_MEDIA_UPLOAD_BUCKET: ${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}
470
+ LANGFUSE_S3_MEDIA_UPLOAD_REGION: ${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}
471
+ LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
472
+ LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
473
+ LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT: ${STORAGE_S3_ENDPOINT:-http://wxo-server-minio:9000}
474
+ LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE: ${STORAGE_S3_FORCE_PATH_STYLE:-true}
475
+ LANGFUSE_S3_MEDIA_UPLOAD_PREFIX: ${LANGFUSE_S3_MEDIA_UPLOAD_PREFIX:-media/}
476
+ LANGFUSE_INGESTION_QUEUE_DELAY_MS: ${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-}
477
+ LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS: ${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-}
478
+ LANGFUSE_INIT_ORG_ID: ibm
479
+ LANGFUSE_INIT_ORG_NAME: IBM
480
+ LANGFUSE_INIT_PROJECT_ID: orchestrate-lite
481
+ LANGFUSE_INIT_PROJECT_NAME: Watsonx Orchestrate Lite Project
482
+ LANGFUSE_INIT_USER_EMAIL: ${LANGFUSE_EMAIL:-orchestrate@ibm.com}
483
+ LANGFUSE_INIT_USER_NAME: ${LANGFUSE_USERNAME:-orchestrate}
484
+ LANGFUSE_INIT_USER_PASSWORD: ${LANGFUSE_PASSWORD:-orchestrate}
485
+ LANGFUSE_INIT_PROJECT_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:-pk-lf-7417757e-d6df-421b-957e-683b76acb5df}
486
+ LANGFUSE_INIT_PROJECT_SECRET_KEY: ${LANGFUSE_PRIVATE_KEY:-sk-lf-7bc4da63-7b2b-40c0-b5eb-1e0cf64f9af2}
487
+ REDIS_CONNECTION_STRING: redis://wxo-server-redis:6379/1
488
+
489
+ langfuse-web:
490
+ image: us.icr.io/watson-orchestrate-private/langfuse:3
491
+ restart: unless-stopped
492
+ depends_on: *langfuse-depends-on
493
+ profiles: [langfuse]
494
+ ports:
495
+ - "3010:3000"
496
+ environment:
497
+ <<: *langfuse-worker-env
498
+ # NEXTAUTH_URL: http://localhost:3000
499
+ NEXTAUTH_URL: http://localhost:3010
500
+ NEXTAUTH_SECRET: mysecret
501
+
502
+ langfuse-clickhouse:
503
+ image: us.icr.io/watson-orchestrate-private/clickhouse-server:latest
504
+ restart: unless-stopped
505
+ user: "101:101"
506
+ profiles: [langfuse]
507
+ container_name: clickhouse
508
+ hostname: clickhouse
509
+ environment:
510
+ CLICKHOUSE_DB: default
511
+ CLICKHOUSE_USER: clickhouse
512
+ CLICKHOUSE_PASSWORD: clickhouse
513
+ volumes:
514
+ - langfuse_clickhouse_data:/var/lib/clickhouse
515
+ - langfuse_clickhouse_logs:/var/log/clickhouse-server
516
+ ports:
517
+ - "8123:8123"
518
+ - "9002:9000"
519
+ healthcheck:
520
+ test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
521
+ interval: 5s
522
+ timeout: 5s
523
+ retries: 10
524
+ start_period: 1s
525
+
526
+
527
+
528
+
529
+ wxo-tempus-runtime:
530
+ image: us.icr.io/watson-orchestrate-private/wxo-tempus-runtime:${FLOW_RUNTIME_TAG:-latest}
531
+ restart: unless-stopped
532
+ platform: linux/amd64
533
+ profiles: [with-tempus-runtime]
534
+ environment:
535
+ NODE_TLS_REJECT_UNAUTHORIZED: "0"
536
+ COMMON_CONFIG_FILE: "/shared/common-config.yaml"
537
+ SERVER_MODE: production
538
+ SERVER_ENVIRONMENT: SDK
539
+ SERVER_HTTP_PORT: "9044"
540
+ SERVER_CONTEXT_PATH:
541
+ SERVER_JWK_URL: https://wo-ibm-dev.verify.ibm.com/v1.0/endpoint/default/jwks
542
+ SERVER_CALLBACK_URL: http://wxo-tempus-runtime:9044/task/callback/{thread_id}/{requestId}
543
+ JWT_SECRET: ${JWT_SECRET}
544
+ SERVER_INTERNAL_PROTOCOL: http
545
+ SERVER_INTERNAL_HOSTNAME: wxo-tempus-runtime
546
+ SERVER_INTERNAL_PORT: "9044"
547
+ WATSONX_AI_AUTH_TYPE: iam
548
+ WATSONX_AI_PROJECT_ID: ""
549
+ WATSONX_AI_SPACE_ID: ${WATSONX_SPACE_ID}
550
+ WATSONX_AI_APIKEY: ${WATSONX_APIKEY}
551
+ PG_HOST: wxo-server-db
552
+ PG_PORT: "5432"
553
+ PG_USER: ${POSTGRES_USER:-postgres}
554
+ PG_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
555
+ PG_DATABASE: ${POSTGRES_USER:-postgres}
556
+ USER_MGMT_BASE_URL: "" # TODO
557
+ WXO_SERVER_BASE_URL: http://wxo-server:4321
558
+ healthcheck:
559
+ test: curl -k http://localhost:9044/readiness --fail
560
+ interval: 5s
561
+ timeout: 60s
562
+ retries: 5
563
+ ports:
564
+ - 9044:9044
565
+ volumes:
566
+ - ./tempus/common-config.yaml:/shared/common-config.yaml
567
+ depends_on:
568
+ - wxo-server-db
569
+
570
+ volumes:
571
+ tools:
572
+ driver: local
573
+ wxo-server-redis-data:
574
+ driver: local
575
+ wxo-server-db:
576
+ driver: local
577
+ wxo-applied-migrations:
578
+ driver: local
579
+ wxo-server-minio-data:
580
+ driver: local
581
+ wxo-milvus-data:
582
+ driver: local
583
+ wxo-milvus-etcd-data:
584
+ driver: local
585
+ ui-data:
586
+ driver: local
587
+ tools-runtime-data:
588
+ driver: local
589
+ langfuse_clickhouse_data:
590
+ driver: local
591
+ langfuse_clickhouse_logs:
592
+ driver: local
593
+ networks:
594
+ default:
595
+ name: wxo-server