BaziAgent - 八字命理分析引擎
基于传统命理学的AI智能人物画像分析系统
作者:易晓白(花名)
版本:1.0.0
📖 项目简介
BaziAgent 是一个基于传统八字命理学的智能分析系统,能够根据用户的出生信息自动排盘、进行多维度分析,并生成详细的人物画像报告。 但该项目的基础功能只能计算部分数据,如果需要更多数据,可查看下方规则库中所支持的内容。
主要功能
- 🔮 自动排盘:精确计算四柱八字,支持真太阳时校正
- 📊 深度分析:五行、十神、格局等多维度分析
- 🤖 AI解读:集成大语言模型,生成自然语言解读报告
- 💾 数据导出:结构化JSON输出,便于后续处理
解决的问题
- 自动化八字排盘:无需手动查表,自动计算准确的四柱八字
- 多维度分析:提供11个维度的深度分析(五行、十神、格局、性格、事业、财运、婚姻、健康、人际、大运、神煞)
- 智能解读:结合传统命理学规则和现代AI技术,生成易懂的分析报告
- 标准化输出:统一的JSON格式输出,便于集成到其他系统
📥 输入输出
输入
-
用户基本信息:
- 姓名
- 性别(男/女)
- 出生时间(年、月、日、时、分)
- 出生地点(可选,用于真太阳时校正)
-
配置信息:
- LLM API配置(可选,用于AI解读)
- 分析维度配置
- 输出配置
输出
- JSON格式的分析结果,包含以下内容:
user_basic_info: 用户基本信息bazi_basic: 八字基础信息(四柱、日主等)wuxing_analysis: 五行分析(旺衰、喜忌、用神等)shishen_analysis: 十神分析geju_analysis: 格局分析personality_analysis: 性格分析career_analysis: 事业分析wealth_analysis: 财运分析marriage_analysis: 婚姻分析health_analysis: 健康分析interpersonal_analysis: 人际分析dayun_analysis: 大运分析shensha_analysis: 神煞分析liunian_analysis: 流年分析llm_interpretation: LLM解读(如果启用)
🚀 快速开始
安装
pip install bazi-agent
基本使用
方法1:使用配置文件
- 创建配置文件
复制示例配置文件:
cp config.json.example config.json
cp user_config.json.example user_config.json
- 编辑配置文件
编辑 user_config.json,填入用户信息:
{
"name": "张三",
"gender": "男",
"birth": {
"year": 1990,
"month": 5,
"day": 15,
"hour": 14,
"minute": 30
},
"location": {
"province": "北京市",
"city": "北京市",
"use_true_solar_time": true
}
}
编辑 config.json,配置LLM API(可选):
{
"llm": {
"provider": "anthropic",
"api_key": "your-api-key-here",
"model": "claude-sonnet-4-20250514"
}
}
- 运行分析
python run.py
方法2:使用Python代码
from bazi_agent import BaziAgent
# 创建实例
agent = BaziAgent(
config_path="./config.json",
user_config_path="./user_config.json"
)
# 执行分析
result = agent.analyze()
# 查看结果
print(result['bazi_basic']['sizhu'])
print(result['wuxing_analysis']['wuxing_most'])
方法3:快速分析(无需配置文件)
from bazi_agent import quick_analyze
result = quick_analyze(
name="张三",
gender="男",
year=1990,
month=5,
day=15,
hour=14,
minute=30,
api_key="your-api-key" # 可选
)
📚 API 文档
BaziAgent 类
__init__(config_path, user_config_path, config_dict)
初始化BaziAgent实例。
参数:
config_path(str, 可选): 配置文件路径,默认为"./config.json"user_config_path(str, 可选): 用户配置文件路径,默认为"./user_config.json"config_dict(dict, 可选): 配置字典,如果提供则不读取文件
示例:
agent = BaziAgent(config_path="./config.json", user_config_path="./user_config.json")
analyze() -> Dict[str, Any]
执行完整的八字分析。
返回:
Dict[str, Any]: 包含所有分析结果的字典
示例:
result = agent.analyze()
get_bazi_basic() -> Dict[str, Any]
获取八字基础信息(四柱、日主等)。
返回:
Dict[str, Any]: 八字基础信息字典
示例:
bazi = agent.get_bazi_basic()
print(bazi['sizhu']) # 四柱
print(bazi['ri_zhu']) # 日柱
get_wuxing_analysis() -> Dict[str, Any]
获取五行分析结果。
返回:
Dict[str, Any]: 五行分析结果,包含:wuxing_most: 最旺五行wuxing_missing: 缺失五行rizhu_status: 日主旺衰状态yongshen: 用神列表
示例:
wuxing = agent.get_wuxing_analysis()
print(wuxing['wuxing_most'])
print(wuxing['yongshen'])
get_shishen_analysis() -> Dict[str, Any]
获取十神分析结果。
返回:
Dict[str, Any]: 十神分析结果
示例:
shishen = agent.get_shishen_analysis()
get_geju_analysis() -> Dict[str, Any]
获取格局分析结果。
返回:
Dict[str, Any]: 格局分析结果,包含:geju_type: 格局类型geju_level: 格局层次
示例:
geju = agent.get_geju_analysis()
print(geju['geju_type'])
工具函数
quick_analyze(name, gender, year, month, day, hour, minute, api_key, provider, model) -> Dict[str, Any]
快速分析,无需配置文件。
参数:
name(str): 姓名gender(str): 性别,"男" 或 "女"year(int): 出生年份month(int): 出生月份day(int): 出生日期hour(int): 出生小时minute(int, 可选): 出生分钟,默认为0api_key(str, 可选): LLM API密钥provider(str, 可选): LLM提供商,默认为 "anthropic"model(str, 可选): 模型名称,默认为 "claude-sonnet-4-20250514"
返回:
Dict[str, Any]: 分析结果字典
示例:
from bazi_agent import quick_analyze
result = quick_analyze(
name="张三",
gender="男",
year=1990,
month=5,
day=15,
hour=14,
minute=30
)
validate_config(config_path) -> Tuple[bool, Optional[str]]
验证配置文件是否合法。
参数:
config_path(str): 配置文件路径
返回:
Tuple[bool, Optional[str]]: (是否合法, 错误信息)
示例:
from bazi_agent import validate_config
is_valid, error = validate_config("./config.json")
if not is_valid:
print(f"配置错误: {error}")
⚙️ 配置说明
配置文件结构
config.json
主配置文件,包含LLM配置、分析配置和输出配置。
{
"llm": {
"provider": "anthropic",
"api_key": "your-api-key-here",
"model": "claude-sonnet-4-20250514",
"temperature": 0.7,
"max_tokens": 2000,
"timeout": 30
},
"analysis": {
"dimensions": ["wuxing", "shishen", "geju", ...],
"include_llm_interpretation": true,
"llm_interpretation_level": "detailed"
},
"output": {
"json": {
"enabled": true,
"filepath": "./output/result.json",
"pretty": true
},
"logging": {
"level": "INFO",
"filepath": "./logs/bazi_agent.log"
}
}
}
user_config.json
用户信息配置文件。
{
"name": "张三",
"gender": "男",
"birth": {
"year": 1990,
"month": 5,
"day": 15,
"hour": 14,
"minute": 30
},
"location": {
"province": "北京市",
"city": "北京市",
"use_true_solar_time": true
}
}
LLM 提供商支持
custom: 自定义OpenAI兼容API
📝 输出结果说明
分析结果以JSON格式保存到 output/{用户姓名}_{出生日期}/result.json。
主要字段说明:
- user_basic_info: 用户基本信息
- bazi_basic: 八字基础信息
sizhu: 四柱(年柱、月柱、日柱、时柱)rizhu_tiangan: 日主天干rizhu_wuxing: 日主五行
- wuxing_analysis: 五行分析
wuxing_most: 最旺五行wuxing_missing: 缺失五行rizhu_status: 日主旺衰(身旺/身弱/从强/从弱等)yongshen: 用神列表
- geju_analysis: 格局分析
geju_type: 格局类型geju_level: 格局层次
- llm_interpretation: LLM解读(如果启用)
comprehensive_analysis: 综合分析报告
⚠️ 注意事项
规则库(bazi_rules 目录)
本项目支持可选的规则库功能,用于更精确的分析。规则库文件位于 bazi_rules 目录下,包含:
- 生肖关系数据
- 神煞计算规则
- 十神性格特征
- 格局职业倾向
- 大运计算规则
- 流年分析规则
- 性格维度评分规则
注意:本项目仅公开核心计算逻辑和方式,不提供 bazi_rules 目录,系统会使用默认规则继续工作,但某些高级分析功能可能会受限。如果需要完整功能,请联系作者获取 bazi_rules 规则库。
详细的功能对比说明请参考 规则库使用对比说明。
🔧 开发
安装开发依赖
pip install -r requirements.txt
运行测试
python run.py
📄 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
👤 作者信息
作者:易晓白(花名)
项目:BaziAgent - 八字命理分析引擎
💼 商业对接
商业合作
本项目支持商业合作,包括但不限于:
- 规则库授权:获取完整的
bazi_rules规则库,享受完整功能 - 定制开发:根据业务需求定制开发功能模块
- 技术咨询:提供八字命理算法相关的技术咨询服务
- API服务:提供云端API服务,支持高并发调用
- 私有化部署:提供私有化部署方案和技术支持
合作方式
如有商业合作需求,请通过以下方式联系:
- 微信(WeChat):yixiaobai-AI(请备注"商业合作")
- 邮箱:799278912@qq.com(主题请注明"BaziAgent商业合作")
我们会在收到您的咨询后尽快回复,并安排专人对接您的需求。
Release files for bazi-agent 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bazi_agent-1.0.0.tar.gz | 40.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bazi_agent-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.1 kB
Release files / bazi_agent-1.0.0.tar.gz
| Download URL | bazi_agent-1.0.0.tar.gz |
|---|---|
| Size | 40.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eaf7df53b5f61fbcc15a6acfbad9873db0b1ffd13d402a0f34e183bc8918fe79
|
|
BLAKE2b-256 checksum How to use checksums |
effe946d08755c140ef139acf85d2b5d4117db2acf27a232b70b6fa12090c927
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / bazi_agent-1.0.0-py3-none-any.whl
| Download URL | bazi_agent-1.0.0-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54fb2a45d734fc1e62ae919f5d4475a86e64b7bb147d5f9f78a3fd143fa56a14
|
|
BLAKE2b-256 checksum How to use checksums |
c37c9b258029814670ecad5ece6a689babb172b6d8ac30b70783bd715e744544
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|