原文: https://mp.weixin.qq.com/s/sBH-0vykIzntRBELaDvAHw
开源 Airtable 替代方案 NocoDB,极速在线构建数据库!
nocodb一个开源的在线数据库管理工具。简单讲,它就像一个免费的、可自托管的“表格+数据库”混合工具,让普通人也能用类似Excel的方式管理数据,同时具备数据库的结构化能力。适用人群:开发者、产品经理、中小企业团队
项目地址:https://github.com/nocodb/nocodb
主要语言:TypeScript
stars: 57.1k
NocoDB是一个开源的在线数据库构建工具,可作为Airtable的替代方案,以下是关于它的详细介绍:
核心功能
- 丰富的电子表格界面:支持对表、列和行进行创建、读取、更新和删除等基本操作;可以对字段进行排序、过滤、分组以及隐藏/显示列等操作;提供网格、图库、表单、看板和日历等多种视图类型;具备协作视图和锁定视图等不同的视图权限类型;可以公开或私密(密码保护)共享数据库或视图;拥有ID、链接、查找、汇总、单行文本、附件、货币、公式、用户等多种单元格类型;支持细粒度的角色访问控制。
- 工作流自动化应用商店:提供聊天、邮件和存储三个主要类别的集成,例如在聊天方面支持Slack、Discord、Mattermost等;邮件方面支持AWS SES、SMTP、MailerSend等;存储方面支持AWS S3、Google Cloud Storage、Minio等。
- 编程式访问:提供REST API和NocoDB SDK两种方式让用户以编程方式调用操作,可使用JWT或社交认证令牌对请求进行签名以实现对NocoDB的授权访问。
安装方式
- Docker with SQLite:通过特定的Docker命令运行NocoDB,并挂载数据卷和指定端口。
docker run -d \--name noco \-v "$(pwd)"/nocodb:/usr/app/data/ \-p 8080:8080 \nocodb/nocodb:latest
- Docker with PG:在使用PostgreSQL数据库时,除了挂载数据卷和指定端口,还需要设置数据库连接信息和JWT密钥。
docker run -d \--name noco \-v "$(pwd)"/nocodb:/usr/app/data/ \-p 8080:8080 \-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \nocodb/nocodb:latest
- Auto - upstall:这是一个单命令安装方式,适用于生产环境。它会自动安装Docker、Docker Compose等先决条件,使用Docker Compose安装NocoDB及相关组件(PostgreSQL、Redis、Minio、Traefik网关),还能自动升级NocoDB到最新版本,并自动设置和更新SSL证书。
bash <(curl -sSL http://install.nocodb.com/noco.sh) <(mktemp)
- 其他方式:提供不同操作系统(MacOS、Linux、Windows)和架构(arm64、x64)的二进制文件下载和安装命令,不过这些二进制文件仅适用于本地快速测试。
优势
- 开源免费:采用AGPLv3许可证,用户可以自由使用、修改和分发,避免了商业软件的高昂成本和供应商锁定问题。
- 易于使用:提供类似电子表格的界面,降低了数据库操作的门槛,即使是没有专业数据库知识的用户也能快速上手。
- 功能丰富:具备多种视图类型、字段操作和权限控制,还提供了工作流自动化集成和编程式访问方式,满足不同用户的多样化需求。
- 自动更新和维护:Auto - upstall方式可以自动处理软件的升级和SSL证书的更新,减少了用户的维护成本。
应用场景
- 小型企业和创业公司:可以快速搭建数据库管理系统,满足日常业务数据管理需求,无需投入大量资金和技术资源。
- 数据分析师和业务人员:方便进行数据的整理、分析和共享,通过不同的视图类型直观展示数据。
- 开发者:可以利用REST API和NocoDB SDK进行二次开发,将NocoDB集成到自己的应用程序中。
开箱即用、安全可控!基于大模型和RAG的智能问数系统SQLBot来袭
SQLBot 是一个基于大模型和RAG的智能问数系统。简单讲,它能将用户输入的自然语言问题自动转换为SQL查询语句,帮助非技术用户轻松获取数据库中的数据。适用人群:数据分析师、后端开发者及需要频繁查询数据库但不熟悉SQL的业务人员。
项目地址:https://github.com/dataease/SQLBot
主要语言:Python
stars: 2.15k
项目概述
SQLBot 是一款基于大模型和 RAG(检索增强生成)的智能问数系统,可帮助用户通过自然语言查询数据。
核心功能
- 借助大模型和 RAG 实现高质量的 text2sql 功能,用户能使用自然语言进行数据查询,开启问数之旅。
- 支持快速嵌入到第三方业务系统,也能被 n8n、MaxKB、Dify、Coze 等 AI 应用开发平台集成调用,让各类应用快速拥有智能问数能力。
- 提供基于工作空间的资源隔离机制,可实现细粒度的数据权限控制,保障数据安全。
优势
- 开箱即用:只需配置大模型和数据源即可使用。
- 易于集成:方便与多种系统和平台集成。
- 安全可控:具备完善的数据权限管理。
工作原理
通过大模型和 RAG 的结合处理用户的自然语言查询,将其转化为 SQL 语句进行数据查询,具体原理可参考仓库中的系统架构图。
安装部署
- Docker 安装:准备一台 Linux 服务器,安装好 Docker 后,执行一键安装脚本:
docker run -d \--name sqlbot \--restart unless-stopped \-p 8000:8000 \-p 8001:8001 \-v ./data/sqlbot/excel:/opt/sqlbot/data/excel \-v ./data/sqlbot/images:/opt/sqlbot/images \-v ./data/sqlbot/logs:/opt/sqlbot/app/logs \-v ./data/postgresql:/var/lib/postgresql/data \--privileged=true \dataease/sqlbot
- 1Panel 应用商店:可通过 1Panel 应用商店 快速部署。
- 离线安装:内网环境可通过 离线安装包方式 部署。
访问方式
- 在浏览器中打开:http://<你的服务器 IP>:8000/
- 用户名:admin
- 密码:SQLBot@123456
应用场景
- 数据分析:业务人员无需具备专业 SQL 知识,即可通过自然语言查询数据进行分析。
- 企业应用集成:可集成到企业的各类业务系统中,为系统添加智能问数功能。
Google TimesFM 2.5 重磅发布!参数大瘦身,预测能力大升级
timesfm 是一个基于预训练的时间序列预测的模型。简单讲,它是一个由Google开发的“通识”时间序列预测工具,能对各类时间数据(如销量、气温、股价等)进行精准预测。适用人群:数据科学家、AI研究人员、时序分析开发者。
项目地址:https://github.com/google-research/timesfm
主要语言:Python
stars: 5.66k
核心功能
TimesFM是Google Research开发的用于时间序列预测的预训练时间序列基础模型。它可以对时间序列数据进行预测,还支持连续分位数预测。
优势
- 参数优化:最新版本TimesFM 2.5使用200M参数,相较于TimesFM 2.0的500M有所减少,在一定程度上降低了模型的复杂度和计算成本。
- 上下文长度提升:支持的上下文长度从2048提升到了16k,能够处理更长的时间序列数据,从而可能捕捉到更长期的模式和趋势。
- 分位数预测能力:通过可选的30M分位数头,支持长达1k时间范围的连续分位数预测,提供更丰富的预测信息。
- 简化使用:去除了
frequency
指标,使模型的使用更加简便。 - 新功能:新增了一些预测标志,为用户提供了更多的控制选项。
应用场景
- 金融领域:对股票价格、汇率等金融时间序列数据进行预测,帮助投资者做出决策。
- 气象预测:预测气温、降水等气象数据,为农业、交通等行业提供参考。
- 销售预测:预测商品的销售量,帮助企业进行库存管理和生产计划。
相关资源
- 论文:A decoder-only foundation model for time-series forecasting,该论文发表于ICML 2024。
- 所有检查点:可在TimesFM Hugging Face Collection中获取。
- Google Research博客:A decoder-only foundation model for time-series forecasting,提供了关于该模型的更多信息。
- BigQuery中的TimesFM:TimesFM in BigQuery是Google的官方产品。
安装方法
目前timesfm==2.0.0
尚未打包并上传到PyPI。可以通过以下命令进行安装:
git clone https://github.com/google-research/timesfm.git
cd timesfm
pip install -e .
代码示例
import numpy as np
import timesfm
model = timesfm.TimesFM_2p5_200M_torch()
model.load_checkpoint()
model.compile(timesfm.ForecastConfig(max_context=1024,max_horizon=256,normalize_inputs=True,use_continuous_quantile_head=True,force_flip_invariance=True,infer_is_positive=True,fix_quantile_crossing=True,)
)
point_forecast, quantile_forecast = model.forecast(horizon=12,inputs=[np.linspace(0, 1, 100),np.sin(np.linspace(0, 20, 67)),], # Two dummy inputs
)
point_forecast.shape # (2, 12)
quantile_forecast.shape # (2, 12, 10): mean, then 10th to 90th quantiles.