核心功能

  • 丰富的电子表格界面:支持对表、列和行进行创建、读取、更新和删除等基本操作;可以对字段进行排序、过滤、分组以及隐藏/显示列等操作;提供网格、图库、表单、看板和日历等多种视图类型;具备协作视图和锁定视图等不同的视图权限类型;可以公开或私密(密码保护)共享数据库或视图;拥有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

访问方式

  • 在浏览器中打开: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指标,使模型的使用更加简便。
  • 新功能:新增了一些预测标志,为用户提供了更多的控制选项。

应用场景

  • 金融领域:对股票价格、汇率等金融时间序列数据进行预测,帮助投资者做出决策。
  • 气象预测:预测气温、降水等气象数据,为农业、交通等行业提供参考。
  • 销售预测:预测商品的销售量,帮助企业进行库存管理和生产计划。

相关资源

安装方法

目前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.
Logo

更多推荐