功能介绍
与你的结构化数据聊天:支持主流数据库、表格型excel等数据!
- ChatDB:支持数据库问答
- ChatTable:支持
txt,excel,csv
等pandas dataframe
表格的问答
1.下载安装
pip install pylmkit -U
pip install pandasql
2.ChatTable实现样例
样例数据下载:(1000行员工信息)
employees.csv
可以在python运行,也可以streamlit Web运行。文件名为demo.py
import streamlit as st
from pylmkit.web.webui import ChatDBWebUI
from dotenv import load_dotenv
from pylmkit.app.chatdb import ChatTable
from pylmkit.llms import ChatTongyi
load_dotenv()file_path = r'C:\Users\xxx\Desktop\pylmkit\test_datasets\employees.csv'
include_table_column_comments = {"employees": {"name": "雇员名单表","columns": {"emp_no": "雇员ID","birth_date": "出生日期","first_name": "名字","last_name": "姓氏","hire_date": "雇佣日期","gender": "性别",}}
}# python中运行
# chattable = ChatTable(
# model=ChatTongyi(),
# table_paths=file_path,
# include_table_column_comments=include_table_column_comments
# )
# res = chattable.invoke(
# question="性别为M的员工有多少人?"
# )
# print(res)# web中运行
if 'chattable' not in st.session_state:st.session_state.chattable = ChatTable(model=ChatTongyi(),table_paths=file_path,include_table_column_comments=include_table_column_comments)
web = ChatDBWebUI(language='zh')web.run(obj=st.session_state.chattable.invoke,input_param=[{"name": "question", "label": "输入", "type": "chat"},{"name": "max_rollback_num", "label": "最大回滚数", "type": "int", "value": 5},{"name": "return_dict", "label": "返回字典", "type": "bool", "value": False},],output_param=[{'label': '结果', 'name': 'ai', 'type': 'chat'},]
)
然后在该路径下的终端运行下面命令:
streamlit run demo.py
默认会打开浏览器网页,也可以通过网址访问: http://localhost:8501/
GitHub
GitHub - 52phm/pylmkit: PyLMKit: 帮助用户快速构建实用的大模型应用