mirror of
https://github.com/Canner/WrenAI.git
synced 2026-09-24 23:29:49 +08:00
* Chore: integrate with ibis server (#306) * feat: Add ibis adaptor for querying supported data sources * feat: Add testIbis resolver for querying supported data sources * feat: use queryService for preview and describe statement * feat: Refactor ibisAdaptor to use DataSourceName enum consistently * test ibis using tpch query * rm test ibis * feat: Add previewSql resolver for SQL preview * rm debug log * use projectId and manifest to generate hash Implement getMDL api * pass mdl to ibis server to preview * transform manifest data type to json object when retrieved from database * better error message from Ibis server, rewrite host when development and using docker * use base64 str to transfer mdl * update README * change env name to fit naming style. update docker-compose.x.yaml and .env.example file * fix yarn build issue * update docker-compose file: fix incorrent ibis server endpoint * port forward to ibis server * fix incorrect migration rollback function * update engine version * Chore: refactor database schema to reflect how we use them. (#341) * add connectionInfo column and do data migration * drop deprecated columns that store connection info, use connectionInfo column instead * do data migration to store tableReference in model's properties * fix incorrect migration rollback function * use tableReference in mdl instead of refSql * chore: Update variable names in ibisAdaptor and queryService * chore: Update variable names in ibisAdaptor and queryService * fix lint * rename variable in ibis adaptor * - remove duplicate logic to parse string - add comment * release 0.4.0-rc.1 (#378) * fix: fix nested resolver to format sql (#379) * feat(wren-ui): Provide limit property in preview data API for excel-add-in used (#373) * fix(wren-ui): add displayName to all view API which share ViewInfo type in graphQL * feat(wren-ui): provide limit property of preview API for usage in excel-add-in * Chore: minimized the diversity of data sources from wren-ui (#384) * chore: Update ibisAdaptor to include methods for getting tables and constraints * remove strategies and connectors from codebase, use ibis server and wrenEngine to fetch metadata of data source * add validation rule api in ibisAdapter * replace invalid char when generating referenceName * fix comments * Feature: support dry run in preview API (#402) * can dry-run with previewSql * update env.example and docker-compose-dev.yaml --------- Co-authored-by: Shimin <andreashimin@gmail.com>
111 lines
2.6 KiB
YAML
111 lines
2.6 KiB
YAML
version: "3"
|
|
|
|
volumes:
|
|
data:
|
|
|
|
networks:
|
|
wren:
|
|
driver: bridge
|
|
|
|
services:
|
|
bootstrap:
|
|
image: ghcr.io/canner/wren-bootstrap:${WREN_BOOTSTRAP_VERSION}
|
|
pull_policy: always
|
|
platform: ${PLATFORM}
|
|
environment:
|
|
DATA_PATH: /app/data
|
|
PG_USERNAME: ${PG_USERNAME}
|
|
PG_PASSWORD: ${PG_PASSWORD}
|
|
volumes:
|
|
- data:/app/data
|
|
command: /bin/sh /app/init.sh
|
|
|
|
wren-engine:
|
|
image: ghcr.io/canner/wren-engine:${WREN_ENGINE_VERSION}
|
|
pull_policy: always
|
|
platform: ${PLATFORM}
|
|
expose:
|
|
- ${WREN_ENGINE_SQL_PORT}
|
|
ports:
|
|
- ${WREN_ENGINE_PORT}:${WREN_ENGINE_PORT}
|
|
volumes:
|
|
- data:/usr/src/app/etc
|
|
networks:
|
|
- wren
|
|
depends_on:
|
|
- bootstrap
|
|
|
|
wren-ai-service:
|
|
image: ghcr.io/canner/wren-ai-service:${WREN_AI_SERVICE_VERSION}
|
|
pull_policy: always
|
|
platform: ${PLATFORM}
|
|
ports:
|
|
- ${AI_SERVICE_FORWARD_PORT}:${WREN_AI_SERVICE_PORT}
|
|
environment:
|
|
WREN_AI_SERVICE_PORT: ${WREN_AI_SERVICE_PORT}
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY}
|
|
OPENAI_GENERATION_MODEL: ${OPENAI_GENERATION_MODEL}
|
|
QDRANT_HOST: qdrant
|
|
WREN_UI_ENDPOINT: ${WREN_UI_ENDPOINT}
|
|
REDIS_HOST: ${AI_SERVICE_REDIS_HOST}
|
|
REDIS_PORT: ${AI_SERVICE_REDIS_PORT}
|
|
ENABLE_TIMER: ${AI_SERVICE_ENABLE_TIMER}
|
|
LOGGING_LEVEL: ${AI_SERVICE_LOGGING_LEVEL}
|
|
WORKERS: ${AI_SERVICE_WORKERS}
|
|
# sometimes the console won't show print messages,
|
|
# using PYTHONUNBUFFERED: 1 can fix this
|
|
PYTHONUNBUFFERED: 1
|
|
networks:
|
|
- wren
|
|
depends_on:
|
|
- qdrant
|
|
- wren-engine
|
|
- redis
|
|
|
|
ibis-server:
|
|
image: ghcr.io/canner/wren-engine-ibis:${IBIS_SERVER_VERSION}
|
|
pull_policy: always
|
|
platform: ${PLATFORM}
|
|
expose:
|
|
- 8000
|
|
ports:
|
|
- ${IBIS_SERVER_PORT}:8000
|
|
environment:
|
|
WREN_ENGINE_ENDPOINT: http://wren-engine:${WREN_ENGINE_PORT}
|
|
LOG_LEVEL: DEBUG
|
|
networks:
|
|
- wren
|
|
|
|
qdrant:
|
|
image: qdrant/qdrant:v1.7.4
|
|
pull_policy: always
|
|
ports:
|
|
- 6333:6333
|
|
- 6334:6334
|
|
networks:
|
|
- wren
|
|
|
|
redis:
|
|
image: redis:7.0.15-alpine
|
|
pull_policy: always
|
|
ports:
|
|
- 6379:6379
|
|
networks:
|
|
- wren
|
|
|
|
# If you want to use postgres for testing purpose, uncomment the following block
|
|
# postgres:
|
|
# image: postgres:14-alpine
|
|
# platform: ${PLATFORM}
|
|
# ports:
|
|
# - 9432:5432
|
|
# volumes:
|
|
# - data:/var/lib/postgresql/data
|
|
# environment:
|
|
# - POSTGRES_PASSWORD=secret
|
|
# - POSTGRES_USER=test
|
|
# - POSTGRES_DB=test
|
|
# - PGDATA=/var/lib/postgresql/data/pgdata
|
|
# networks:
|
|
# - wren
|