AI prompts
base on Make Text-to-SQL simple and accurate. ๐ฆ WrenAI is your AI data assistant that helps you get results and insights faster by asking questions without writing SQL.
<p align="center">
<a href="https://getwren.ai/?utm_source=github&utm_medium=title&utm_campaign=readme">
<picture>
<source media="(prefers-color-scheme: light)" srcset="./misc/wrenai_logo.png">
<img src="./misc/wrenai_logo_white.png" width="300px">
</picture>
<h1 align="center">Wren AI</h1>
</a>
</p>
<p align="center">
<a aria-label="Follow us on X" href="https://x.com/getwrenai">
<img alt="" src="https://img.shields.io/badge/-@getwrenai-blue?style=for-the-badge&logo=x&logoColor=white&labelColor=gray&logoWidth=20">
</a>
<a aria-label="Releases" href="https://github.com/canner/WrenAI/releases">
<img alt="" src="https://img.shields.io/github/v/release/canner/WrenAI?logo=github&label=GitHub%20Release&color=blue&style=for-the-badge">
</a>
<a aria-label="License" href="https://github.com/Canner/WrenAI/blob/main/LICENSE">
<img alt="" src="https://img.shields.io/github/license/canner/WrenAI?color=blue&style=for-the-badge">
</a>
<a aria-label="Join the community on GitHub" href="https://discord.gg/5DvshJqG8Z">
<img alt="" src="https://img.shields.io/badge/-JOIN%20THE%20COMMUNITY-blue?style=for-the-badge&logo=discord&logoColor=white&labelColor=grey&logoWidth=20">
</a>
<a aria-label="Canner" href="https://cannerdata.com/?utm_source=github&utm_medium=badge&utm_campaign=readme">
<img src="https://img.shields.io/badge/%F0%9F%A7%A1-Made%20by%20Canner-blue?style=for-the-badge">
</a>
</p>
## Wren AI @ Hacktoberfest 2024 - Oct 1 till Oct 31
[Hacktoberfest 2024](https://hacktoberfest.com/) is here, and we're inviting developers of all levels to join our open-source community. Together, we'll build Wren AI as a friendly community for all.
๐ Learn how to [win a Wren AI Exclusive Swag Pack & Holopin from DigitalOcean Rewards](https://getwren.ai/wren-ai-hacktoberfest-2024)!
[![image](https://github.com/user-attachments/assets/9048d701-a97b-4c6b-b3ed-fc636201f234)](https://getwren.ai/wren-ai-hacktoberfest-2024)
---
> Wren AI is a **SQL AI Agent** for data teams to get results and insights faster by asking business questions without writing SQL.
![wrenai_overview](./misc/wrenai_view.png)
## ๐ถ Try it yourself!
https://github.com/user-attachments/assets/737bbf1f-f9f0-483b-afb3-2c622c9b91ba
๐ [Try with your data!](https://getwren.ai/?utm_source=github&utm_medium=content&utm_campaign=readme)
## ๐ฏ Our Vision & Mission
Wren AIโs mission is to democratize data by bringing AI agents with SQL ability to any data source.
๐คฉ [About our Vision](https://www.getwren.ai/post/the-new-wave-of-composable-data-systems-and-the-interface-to-llm-agents)
๐ [About our Mission](https://www.getwren.ai/post/4-key-technical-challenges-using-rag-with-llms-to-query-database-text-to-sql-and-how-to-solve-it)
## ๐ค SQL AI Agent on your data
### 1. Indexing With Semantics
> Wren AI has implemented a [semantic engine architecture](https://www.getwren.ai/post/how-we-design-our-semantic-engine-for-llms-the-backbone-of-the-semantic-layer-for-llm-architecture) to provide the LLM context of your business; you can easily establish a logical presentation layer on your data schema that helps LLM learn more about your business context.
### 2. Generate SQL Queries With Context
> With Wren AI, you can process metadata, schema, terminology, data relationships, and the logic behind calculations and aggregations with [โModeling Definition Languageโ](https://docs.getwren.ai/oss/engine/concept/what_is_mdl), reducing duplicate coding and simplifying data joins.
### 3. Get Insights Without Writing Code
> When starting a new conversation in Wren AI, your question is used to find the most relevant tables. From these, LLM generates three relevant questions for the user to choose from. You can also ask follow-up questions to get deeper insights.
### 4. Self-Learning Feedback Loop (Coming Soon)
> The AI self-learning feedback loop refines SQL augmentation and generation by collecting data from various sources. These include user query history, revision intentions, feedback, schema patterns, semantic enhancements, and query frequency.
## ๐ค Why Wren AI?
We focus on providing an open, secure, and reliable SQL AI Agent for everyone.
### 1. Turnkey Solution
> Wren AI makes it easy to onboard your data. Discover and analyze your data with our user interface. Effortlessly generate results without needing to code.
### 2. Secure By Design
> Your database content will never be transmitted to the LLM. Only metadata, like schemas, documentation, and queries, will be used in semantic search.
### 3. Open-Source
> Deploy Wren AI anywhere you like on your own data, LLM APIs, and environment, it's free.
## ๐ค Wren AI Agentic Architecture
Wren AI consists of three core services:
- ***[Wren UI](https://github.com/Canner/WrenAI/tree/main/wren-ui):*** An intuitive user interface for asking questions, defining data relationships, and integrating data sources.
- ***[Wren AI Service](https://github.com/Canner/WrenAI/tree/main/wren-ai-service):*** Processes queries using a vector database for context retrieval, guiding LLMs to produce precise SQL outputs.
- ***[Wren Engine](https://github.com/Canner/wren-engine):*** Serves as the semantic engine, mapping business terms to data sources, defining relationships, and incorporating predefined calculations and aggregations.
![wrenai_works](./misc/how_wrenai_works.png)
## โค๏ธ Knowledge Sharing From Wren AI
Want to get our latest sharing? [Follow our blog!](https://www.getwren.ai/blog)
## ๐ Getting Started
Using Wren AI is super simple, you can set it up within 3 minutes, and start to interact with your data!
- Visit our [Installation Guide of Wren AI](http://docs.getwren.ai/oss/installation).
- Visit the [Usage Guides](https://docs.getwren.ai/oss/guide/connect/overview) to learn more about how to use Wren AI.
## ๐ Documentation
Visit [Wren AI documentation](https://docs.getwren.ai/oss/overview/introduction) to view the full documentation.
## ๐ ๏ธ Contribution
Want to contribute to Wren AI? Check out our [Contribution Guidelines](https://github.com/Canner/WrenAI/blob/main/CONTRIBUTING.md).
## โญ๏ธ Community
- Welcome to our [Discord server](https://discord.gg/5DvshJqG8Z) to give us feedback!
- If there are any issues, please visit [GitHub Issues](https://github.com/Canner/WrenAI/issues).
Please note that our [Code of Conduct](./CODE_OF_CONDUCT.md) applies to all Wren AI community channels. Users are **highly encouraged** to read and adhere to them to avoid repercussions.
## ๐ Our Contributors
<!-- Do not manually edit this section! It should get updated using the Github action -->
<!-- readme: contributors -start -->
<table>
<tbody>
<tr>
<td align="center">
<a href="https://github.com/cyyeh">
<img src="https://avatars.githubusercontent.com/u/11023068?v=4" width="100;" alt="cyyeh"/>
<br />
<sub><b>cyyeh</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/onlyjackfrost">
<img src="https://avatars.githubusercontent.com/u/38731840?v=4" width="100;" alt="onlyjackfrost"/>
<br />
<sub><b>onlyjackfrost</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/wwwy3y3">
<img src="https://avatars.githubusercontent.com/u/1208829?v=4" width="100;" alt="wwwy3y3"/>
<br />
<sub><b>wwwy3y3</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/andreashimin">
<img src="https://avatars.githubusercontent.com/u/9657305?v=4" width="100;" alt="andreashimin"/>
<br />
<sub><b>andreashimin</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/paopa">
<img src="https://avatars.githubusercontent.com/u/52045032?v=4" width="100;" alt="paopa"/>
<br />
<sub><b>paopa</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/chilijung">
<img src="https://avatars.githubusercontent.com/u/1216029?v=4" width="100;" alt="chilijung"/>
<br />
<sub><b>chilijung</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/fredalai">
<img src="https://avatars.githubusercontent.com/u/42527625?v=4" width="100;" alt="fredalai"/>
<br />
<sub><b>fredalai</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/imAsterSun">
<img src="https://avatars.githubusercontent.com/u/61279528?v=4" width="100;" alt="imAsterSun"/>
<br />
<sub><b>imAsterSun</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Ayushjhawar8">
<img src="https://avatars.githubusercontent.com/u/111112495?v=4" width="100;" alt="Ayushjhawar8"/>
<br />
<sub><b>Ayush Jhawar</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/qdrddr">
<img src="https://avatars.githubusercontent.com/u/564658?v=4" width="100;" alt="qdrddr"/>
<br />
<sub><b>qdrddr</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/saai-syvendra">
<img src="https://avatars.githubusercontent.com/u/157691467?v=4" width="100;" alt="saai-syvendra"/>
<br />
<sub><b>Saai Syvendra</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/kushal34712">
<img src="https://avatars.githubusercontent.com/u/98145879?v=4" width="100;" alt="kushal34712"/>
<br />
<sub><b>kushal34712</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/goldmedal">
<img src="https://avatars.githubusercontent.com/u/6974913?v=4" width="100;" alt="goldmedal"/>
<br />
<sub><b>goldmedal</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/eltociear">
<img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="100;" alt="eltociear"/>
<br />
<sub><b>eltociear</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/himanshu634">
<img src="https://avatars.githubusercontent.com/u/61757460?v=4" width="100;" alt="himanshu634"/>
<br />
<sub><b>himanshu634</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/AryanK1511">
<img src="https://avatars.githubusercontent.com/u/101019909?v=4" width="100;" alt="AryanK1511"/>
<br />
<sub><b>AryanK1511</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Spirizeon">
<img src="https://avatars.githubusercontent.com/u/123345456?v=4" width="100;" alt="Spirizeon"/>
<br />
<sub><b>Ayush Dutta</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/kpman">
<img src="https://avatars.githubusercontent.com/u/2382594?v=4" width="100;" alt="kpman"/>
<br />
<sub><b>kpman</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/grieve54706">
<img src="https://avatars.githubusercontent.com/u/8724385?v=4" width="100;" alt="grieve54706"/>
<br />
<sub><b>grieve54706</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/hpatel292-seneca">
<img src="https://avatars.githubusercontent.com/u/100322816?v=4" width="100;" alt="hpatel292-seneca"/>
<br />
<sub><b>Harshil Patel</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/RoacherM">
<img src="https://avatars.githubusercontent.com/u/33534878?v=4" width="100;" alt="RoacherM"/>
<br />
<sub><b>RoacherM</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Innovatorcloudy">
<img src="https://avatars.githubusercontent.com/u/183274513?v=4" width="100;" alt="Innovatorcloudy"/>
<br />
<sub><b>Innovatorcloudy</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/MGomaa435">
<img src="https://avatars.githubusercontent.com/u/79599759?v=4" width="100;" alt="MGomaa435"/>
<br />
<sub><b>Mohamed Gomaa</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/NishantRana07">
<img src="https://avatars.githubusercontent.com/u/126577697?v=4" width="100;" alt="NishantRana07"/>
<br />
<sub><b>Nishant Rana</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/sahil9001">
<img src="https://avatars.githubusercontent.com/u/32628578?v=4" width="100;" alt="sahil9001"/>
<br />
<sub><b>sahil9001</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/yb-sid">
<img src="https://avatars.githubusercontent.com/u/129207298?v=4" width="100;" alt="yb-sid"/>
<br />
<sub><b>yb-sid</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Prototype4988">
<img src="https://avatars.githubusercontent.com/u/55426963?v=4" width="100;" alt="Prototype4988"/>
<br />
<sub><b>Prototype4988</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/iamawanishmaurya">
<img src="https://avatars.githubusercontent.com/u/65104100?v=4" width="100;" alt="iamawanishmaurya"/>
<br />
<sub><b>iamawanishmaurya</b></sub>
</a>
</td>
</tr>
<tbody>
</table>
<!-- readme: contributors -end -->
", Assign "at most 3 tags" to the expected json: {"id":"9263","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"