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
- 安装&运行服务端
方法1:通过pip
pip install rmb-server
rmb-server
方法2:通过docker(推荐) 镜像维护在 hub.docker.com
docker run -d -p 5000:5000 datamini/rmb-server
API Document(API文档)
可以打开 rmb-server 的服务地址查看
Python Client SDK(Python客户端SDK)
>>> from rmb-client import RMB
>>> rmb = RMB(token="xxxxx")
# 注册数据源
>>> 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>]
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.13.tar.gz
(12.9 kB
view hashes)
Built Distribution
Close
Hashes for rmb_client-0.3.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e2d35014a7e98e1cef9953e311634b9f7be81ba6bdcaecc3ab2e0ac3f34e098 |
|
MD5 | 9f436ec29c084174da58bdf5318e4beb |
|
BLAKE2b-256 | 3f09465d5c1cc2f015e3fc2429aaed826a85e556eeca264c4ab6c30866ebf64c |