RMB SDK.
Project description
元数据大脑 Reliable Meta Brain(RMB)
Feature (功能)
- DataSource 支持 MySQL/Hive/Excel
- 支持以对话方式查询数据
- 支持多轮对话
- 支持更新 Meta(字典/同义词),以识别意图,提高准确率
- 提供Restful API & Python SDK
Backlog(计划)
- Excel的跨表关联查询
- Meta增强(获取数据样例便于生成准确的包含常量的Query语句,比如需要让LLM知道是sex='男'还是sex=1)
- 支持跨数据源(MySQL+MySQL,MySQL+Hive)的联合查询
Installation(安装)
- 安装客户端
pip install rmb-client
rmb-client -a https://api.rmb.datamini.ai/ -t token01
- 安装&运行服务端
方法1:通过pip
$ pip install rmb-server
$ rmb-server -h
$ rmb-client -a https://api.rmb.datamini.ai/ -t token01
方法2:通过docker(推荐) 镜像维护在 hub.docker.com
$ docker run -d -p 5000:5000 datamini/rmb-server
API Document(API文档)
可以打开 rmb-server 的服务地址查看
Python Client SDK(Python客户端SDK)
- 运行
- 命令行方式
$ rmb-client -a https://api.rmb.datamini.ai/ -t token01
----- RMB 客户端初始化完成!您可以使用 'rmb' 来访问RMB的方法。-----
Python 3.11.4 (main, Jun 7 2023, 00:34:59) [Clang 14.0.3 (clang-1403.0.22.14.1)]
Type 'copyright', 'credits' or 'license' for more information
>>> rmb.version
- import module 方式
$ python
>>> from rmbclient import RMB
>>> rmb = RMB(api_url='https://api.rmb.datamini.ai/', token='token01')
>>> rmb.version
- 继续使用
# 注册数据源
>>> datasource1 = rmb.datasources.register(
ds_type="MySQL",
ds_name="我的MySQL库",
ds_access_config={
"host": "localhost",
"port": 3306,
"user": "root",
"password": ""
}
)
# 创建对话
>>> chat = rmb.chats.create(datasource_ids=[datasource1.id])
# 问问题
>>> answer = chat.ask(question="你好")
# 查看答案
>>> answer
[OK-2s] 你好!有什么数据分析问题可以帮助您解答吗?
>>> answer.to_dict()
{'status': 'OK',
'elapsed_time': 2,
'answer': '你好!有什么数据分析问题可以帮助您解答吗?',
'structure_queries': ''}
# 查看对话列表
>>> rmb.chats
id datasource_ids created
chat_5wzSpckh9Ey2qmIXKlk2k6 ['ds_4HLuoRptVCIeeiIFjbYHnL'] 1702127009
chat_62guGYEPQPbGxPZXXlhF3Y ['ds_4HLuoRptVCIeeiIFjbYHnL'] 1702126137
chat_3mgkSAU9DsO73FO12Tk1iK ['ds_4HLuoRptVCIeeiIFjbYHnL'] 1702126103
chat_7UE4j5vdOSgp9WxBS98UJz ['ds_4HLuoRptVCIeeiIFjbYHnL'] 1702125586
# 查看数据源列表
>>> rmb.datasources
id name type access_config
ds_4HLuoRptVCIeeiIFjbYHnL 租房excel(http) Excel {'location_type': 'http', 'location_url': 'https:/mb-sample-data.oss-cn-hongkong.aliyuncs.com/house.xlsx'}
# 获取某个数据源
>>> ds1 = rmb.datasources.get("ds_4HLuoRptVCIeeiIFjbYHnL")
# 获取该数据源的"运行时"元数据(即最新的实时元数据)
>>> ds1.meta.get('runtime')
ds_4HLuoRptVCIeeiIFjbYHnL 共有:1 Schema (house), 1 Table (house.中国租房信息数据集), 33 Fields.
Schemas Tables Fields(known/all)
house 中国租房信息数据集 0/33
# 获取某个数据源
>>> ds2 = rmb.datasources.get("ds_4s7gIoeonfWXQavRuP5wJ0")
# 获取该数据源的"RMB中维护的"元数据(AI直接使用的元数据)
>>> ds2.meta.get('in_brain')
ds_4s7gIoeonfWXQavRuP5wJ0 共有:1 Schema (e_mall_2), 7 Tables, 27 Fields.
Schemas Tables Fields(known/all)
e_mall_2(电子商城数据库) zzzz(未知) 1/1
e_mall_2(电子商城数据库) users(用户信息表) 5/5
e_mall_2(电子商城数据库) ttttt1(未知) 1/1
e_mall_2(电子商城数据库) products(产品信息表) 5/5
e_mall_2(电子商城数据库) orders(订单信息表) 4/4
e_mall_2(电子商城数据库) order_details(订单详情表) 4/4
e_mall_2(电子商城数据库) job(职位信息表) 7/7
参与开发
本地环境启动
- 先
git clone ...
- 添加配置文件 在目录
rmbserver/config/
下,从default.py
中挑出需要修改的配置保存到custom.py
- 启动服务
python rmbserver/run.py [<host> <port>]
- 运行客户端
python rmbclient/cli.py [-a http://localhost:5000/ -t token01]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rmb-client-0.3.15.2.tar.gz
(14.0 kB
view hashes)
Built Distribution
Close
Hashes for rmb_client-0.3.15.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bc776e24e7fe4b888a25c618c97b80e16fe24993bb9be95b53db885cf91d5a5 |
|
MD5 | 310c63c721dd5eeb2638637b7d7a41e1 |
|
BLAKE2b-256 | 185bc87900aea6e6f691cc38172d5e8353d78ed1cd89065e817077568cfcf3db |