Skip to content

Commit 6540936

Browse files
committed
Merge branch 'main' into feature/providers-setup
2 parents 2c4614b + a207202 commit 6540936

214 files changed

Lines changed: 12749 additions & 5331 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Wren Launcher CI
2+
3+
on:
4+
pull_request:
5+
types: [synchronize, labeled]
6+
paths:
7+
- 'wren-launcher/**'
8+
- '.github/workflows/wren-launcher-ci.yaml'
9+
10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.sha }}
15+
cancel-in-progress: true
16+
17+
defaults:
18+
run:
19+
working-directory: wren-launcher
20+
21+
jobs:
22+
golangci:
23+
name: lint
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: actions/setup-go@v5
28+
with:
29+
go-version: '1.24'
30+
cache-dependency-path: wren-launcher/go.sum
31+
- name: golangci-lint
32+
uses: golangci/golangci-lint-action@v8
33+
with:
34+
version: v2.3.1
35+
working-directory: wren-launcher
36+
37+
fmt-and-test:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v4
42+
- name: Setup Go
43+
uses: actions/setup-go@v5
44+
with:
45+
go-version: '1.24'
46+
cache-dependency-path: wren-launcher/go.sum
47+
- name: Install goimports
48+
run: go install golang.org/x/tools/cmd/goimports@latest
49+
- name: Download dependencies
50+
run: go mod download
51+
- name: Run format check
52+
run: |
53+
make fmt
54+
# Check if there are any formatting changes
55+
if [ -n "$(git diff --name-only)" ]; then
56+
echo "Code is not formatted properly. Please run 'make fmt' and commit the changes."
57+
git diff
58+
exit 1
59+
fi
60+
- name: Run go vet
61+
run: make vet
62+
- name: Run tests
63+
run: go test ./commands/dbt
64+
65+
security-scan:
66+
runs-on: ubuntu-latest
67+
needs: fmt-and-test
68+
steps:
69+
- name: Checkout repository
70+
uses: actions/checkout@v4
71+
- name: Setup Go
72+
uses: actions/setup-go@v5
73+
with:
74+
go-version: '1.24'
75+
cache-dependency-path: wren-launcher/go.sum
76+
- name: Run Gosec Security Scanner
77+
run: |
78+
go install github.com/securego/gosec/v2/cmd/gosec@latest
79+
gosec ./...
80+
- name: Run Go mod audit
81+
run: |
82+
go mod verify
83+
go list -json -deps ./... | jq -r '.Module | select(.Version) | "\(.Path) \(.Version)"' | sort -u

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ wren-ai-service/tools/dev/etc/**
3030
.deepeval_telemtry.txt
3131
docker/config.yaml
3232
docker/docker-compose-local.yaml
33+
docker/data
3334

3435
# python
3536
.python-version

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
> Wren AI is your GenBI Agent, that you can query any database with natural language → get accurate SQL(Text-to-SQL), charts(Text-to-Charts) & AI-generated insights in seconds. ⚡️
3838
3939
<p align="center">
40-
<img src="./misc/wren_workflow.png">
40+
<img src="./misc/workflow.png">
4141
</p>
4242

43-
### 😍 Demos
43+
## 😍 Demos
4444

4545
https://github.com/user-attachments/assets/f9c1cb34-5a95-4580-8890-ec9644da4160
4646

@@ -53,7 +53,7 @@ https://github.com/user-attachments/assets/f9c1cb34-5a95-4580-8890-ec9644da4160
5353
| **Talk to Your Data** | Ask in any language → precise SQL & answers | Slash the SQL learning curve |
5454
| **GenBI Insights** | AI-written summaries, charts & reports | Decision-ready context in one click |
5555
| **Semantic Layer** | MDL models encode schema, metrics, joins | Keeps LLM outputs accurate & governed |
56-
| **Embed via API** | Generate queries & charts inside your apps | Build custom agents, SaaS features, chatbots |
56+
| **Embed via API** | Generate queries & charts inside your apps ([API Docs](https://wrenai.readme.io/reference/cloud-getting-started)) | Build custom agents, SaaS features, chatbots ([Streamlit Live Demo](https://huggingface.co/spaces/getWrenAI/wrenai-cloud-api-demo)) |
5757

5858
🤩 [Learn more about GenBI](https://getwren.ai/genbi?utm_source=github&utm_medium=content&utm_campaign=readme)
5959

@@ -77,12 +77,15 @@ Using Wren AI is super simple, you can set it up within 3 minutes, and start to
7777
## 🔌 Data Sources
7878

7979
If your data source is not listed here, vote for it in our [GitHub discussion thread](https://github.com/Canner/WrenAI/discussions/327). It will be a valuable input for us to decide on the next supported data sources.
80+
- Athena (Trino)
81+
- Redshift
8082
- BigQuery
8183
- DuckDB
8284
- PostgreSQL
8385
- MySQL
8486
- Microsoft SQL Server
8587
- ClickHouse
88+
- Oracle
8689
- Trino
8790
- Snowflake
8891

@@ -121,7 +124,7 @@ Visit [Wren AI documentation](https://docs.getwren.ai/oss/overview/introduction?
121124

122125
## ⭐️ Community
123126

124-
- Join 1.3 k+ developers in our [Discord](https://discord.gg/5DvshJqG8Z) for real-time help and roadmap previews.
127+
- Join 1.3k+ developers in our [Discord](https://discord.gg/5DvshJqG8Z) for real-time help and roadmap previews.
125128
- If there are any issues, please visit [GitHub Issues](https://github.com/Canner/WrenAI/issues).
126129
- Explore our [public roadmap](https://wrenai.notion.site/) to stay updated on upcoming features and improvements!
127130

deployment/kustomizations/base/cm.yaml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,27 @@ data:
7575
n: 1
7676
seed: 0
7777
temperature: 0
78-
78+
- model: gpt-5-nano-2025-08-07
79+
context_window_size: 380000
80+
kwargs:
81+
max_completion_tokens: 4096
82+
n: 1
83+
seed: 0
84+
reasoning_effort: minimal
85+
- model: gpt-5-mini-2025-08-07
86+
context_window_size: 380000
87+
kwargs:
88+
max_completion_tokens: 4096
89+
n: 1
90+
seed: 0
91+
reasoning_effort: minimal
92+
- model: gpt-5-2025-08-07
93+
context_window_size: 380000
94+
kwargs:
95+
max_completion_tokens: 4096
96+
n: 1
97+
seed: 0
98+
reasoning_effort: minimal
7999
---
80100
type: embedder
81101
provider: litellm_embedder
@@ -123,28 +143,27 @@ data:
123143
- name: sql_generation
124144
llm: litellm_llm.default
125145
engine: wren_ui
146+
document_store: qdrant
126147
- name: sql_correction
127148
llm: litellm_llm.default
128149
engine: wren_ui
150+
document_store: qdrant
129151
- name: followup_sql_generation
130152
llm: litellm_llm.default
131153
engine: wren_ui
154+
document_store: qdrant
132155
- name: sql_answer
133156
llm: litellm_llm.default
134157
- name: semantics_description
135158
llm: litellm_llm.default
136159
- name: relationship_recommendation
137160
llm: litellm_llm.default
138-
engine: wren_ui
139161
- name: question_recommendation
140162
llm: litellm_llm.default
141-
- name: question_recommendation_db_schema_retrieval
142-
llm: litellm_llm.default
143-
embedder: litellm_embedder.default
144-
document_store: qdrant
145163
- name: question_recommendation_sql_generation
146164
llm: litellm_llm.default
147165
engine: wren_ui
166+
document_store: qdrant
148167
- name: intent_classification
149168
llm: litellm_llm.default
150169
embedder: litellm_embedder.default

docker/.env.example

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ OPENAI_API_KEY=
2020

2121
# version
2222
# CHANGE THIS TO THE LATEST VERSION
23-
WREN_PRODUCT_VERSION=0.22.2
24-
WREN_ENGINE_VERSION=0.15.13
25-
WREN_AI_SERVICE_VERSION=0.22.4
26-
IBIS_SERVER_VERSION=0.15.13
27-
WREN_UI_VERSION=0.27.4
23+
WREN_PRODUCT_VERSION=0.27.0
24+
WREN_ENGINE_VERSION=0.18.3
25+
WREN_AI_SERVICE_VERSION=0.27.1
26+
IBIS_SERVER_VERSION=0.18.3
27+
WREN_UI_VERSION=0.31.1
2828
WREN_BOOTSTRAP_VERSION=0.1.5
2929

3030
# user id (uuid v4)
@@ -46,3 +46,7 @@ AI_SERVICE_FORWARD_PORT=5555
4646

4747
# Wren UI
4848
EXPERIMENTAL_ENGINE_RUST_VERSION=false
49+
50+
# Wren Engine
51+
# OPTIONAL: set if you want to use local storage for the Wren Engine
52+
LOCAL_STORAGE=.

docker/config.example.yaml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,27 @@ models:
2424
n: 1
2525
seed: 0
2626
temperature: 0
27-
27+
- model: gpt-5-nano-2025-08-07
28+
context_window_size: 380000
29+
kwargs:
30+
max_completion_tokens: 4096
31+
n: 1
32+
seed: 0
33+
reasoning_effort: minimal
34+
- model: gpt-5-mini-2025-08-07
35+
context_window_size: 380000
36+
kwargs:
37+
max_completion_tokens: 4096
38+
n: 1
39+
seed: 0
40+
reasoning_effort: minimal
41+
- model: gpt-5-2025-08-07
42+
context_window_size: 380000
43+
kwargs:
44+
max_completion_tokens: 4096
45+
n: 1
46+
seed: 0
47+
reasoning_effort: minimal
2848
---
2949
type: embedder
3050
provider: litellm_embedder
@@ -73,28 +93,27 @@ pipes:
7393
- name: sql_generation
7494
llm: litellm_llm.default
7595
engine: wren_ui
96+
document_store: qdrant
7697
- name: sql_correction
7798
llm: litellm_llm.default
7899
engine: wren_ui
100+
document_store: qdrant
79101
- name: followup_sql_generation
80102
llm: litellm_llm.default
81103
engine: wren_ui
104+
document_store: qdrant
82105
- name: sql_answer
83106
llm: litellm_llm.default
84107
- name: semantics_description
85108
llm: litellm_llm.default
86109
- name: relationship_recommendation
87110
llm: litellm_llm.default
88-
engine: wren_ui
89111
- name: question_recommendation
90112
llm: litellm_llm.default
91-
- name: question_recommendation_db_schema_retrieval
92-
llm: litellm_llm.default
93-
embedder: litellm_embedder.default
94-
document_store: qdrant
95113
- name: question_recommendation_sql_generation
96114
llm: litellm_llm.default
97115
engine: wren_ui
116+
document_store: qdrant
98117
- name: intent_classification
99118
llm: litellm_llm.default
100119
embedder: litellm_embedder.default

docker/docker-compose-dev.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,12 @@ services:
4444
# sometimes the console won't show print messages,
4545
# using PYTHONUNBUFFERED: 1 can fix this
4646
PYTHONUNBUFFERED: 1
47-
CONFIG_PATH: /app/data/config.yaml
47+
CONFIG_PATH: /app/config.yaml
4848
env_file:
4949
- ${PROJECT_DIR}/.env
5050
volumes:
51-
- ${PROJECT_DIR}/config.yaml:/app/data/config.yaml
51+
- ${PROJECT_DIR}/config.yaml:/app/config.yaml:ro
52+
- ${PROJECT_DIR}/data:/app/data:ro
5253
networks:
5354
- wren
5455
depends_on:

docker/docker-compose.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ services:
4141
- ${IBIS_SERVER_PORT}
4242
environment:
4343
WREN_ENGINE_ENDPOINT: http://wren-engine:${WREN_ENGINE_PORT}
44+
volumes:
45+
- ${LOCAL_STORAGE:-.}:/usr/src/app/data
4446
networks:
4547
- wren
4648

@@ -56,11 +58,12 @@ services:
5658
# sometimes the console won't show print messages,
5759
# using PYTHONUNBUFFERED: 1 can fix this
5860
PYTHONUNBUFFERED: 1
59-
CONFIG_PATH: /app/data/config.yaml
61+
CONFIG_PATH: /app/config.yaml
6062
env_file:
6163
- ${PROJECT_DIR}/.env
6264
volumes:
63-
- ${PROJECT_DIR}/config.yaml:/app/data/config.yaml
65+
- ${PROJECT_DIR}/config.yaml:/app/config.yaml:ro
66+
- ${PROJECT_DIR}/data:/app/data:ro
6467
networks:
6568
- wren
6669
depends_on:

misc/workflow.png

471 KB
Loading

misc/wren_workflow.png

-390 KB
Binary file not shown.

0 commit comments

Comments
 (0)