AI 算命你也行!为 AI 紫微斗数提供支持: py-iztro
在 AI 技术蓬勃发展的今天,命理学也迎来了现代化的新机遇。紫微斗数,作为中国传统的命理学体系,结合 AI 大模型,可以玩出更多花样。但如何让 AI 高效地理解和运用紫微斗数?这正是py-iztro诞生的初衷——一个专为 Python 开发者打造的紫微斗数排盘工具。
什么是 iztro ?
iztro 是由 SylarLong 开发的一款轻量级 JavaScript 开源库,能够根据用户的出生日期(农历或阳历)及出生时辰,生成完整的紫微斗数星盘数据。其功能涵盖:
- 基础信息(出生日期、时辰、星座、生肖、身主、命主等)
- 宫位信息(宫位名称、干支、星曜等)
- 星曜信息(亮度、四化、类型)
- 运限信息(大限、小限、流年、流月、流日、流时)
- 多语言输入输出支持
该项目自发布以来,受到了广泛关注,在 V2EX 社区也有相关讨论:原贴。
为什么开发 py-iztro ?
虽然 iztro 在 JavaScript 生态中表现优秀,但对于 Python 开发者而言,直接使用并不方便。因此,我基于 iztro 开发了其 Python 版本 py-iztro,让 Python 用户也能轻松调用紫微斗数计算功能。
更重要的是,在 AI 时代,我们可以结合 LLM (如 ChatGPT 、Claude 等)与 py-iztro ,构建智能命理助手,让 AI 结合紫微斗数推演运势,甚至自动解读命盘,从而实现更有趣的玩法。
py-iztro 的特点
- 完全兼容:py-iztro 采用与原版 iztro 一致的 API 设计,确保无缝迁移。
- 代码注解:使用 pydantic 进行数据建模,提升代码可读性和维护性。
- 持续更新:基于 iztro 2.4.4 开发,并会根据社区反馈持续改进。
如何使用 py-iztro ?
安装非常简单,直接使用 pip:
pip install py-iztro
示例代码:
from py_iztro import Astro
def main():
astro = Astro()
# 基本排盘
result = astro.by_solar("2000-8-16", 2, "女")
print(result.model_dump_json(by_alias=True, indent=4))
# 流年
result = result.horoscope("2025-01-01").model_dump_json(by_alias=True, indent=4)
print(result)
if __name__ == '__main__':
main()
运行后,你将得到完整的紫微斗数星盘数据,包括宫位、星曜、四化、运势信息等。
总结
py-iztro 让 Python 开发者也能轻松调用紫微斗数算法,不论是结合 AI 训练命理模型,还是作为个人研究的工具,它都能提供极大的便利。如果你对命理学、AI 命盘分析感兴趣,欢迎试用 py-iztro ,并在 GitHub 提 issue 提出建议或反馈!
项目地址:https://github.com/x-haose/py-iztro
后续计划
- 接入一些 llm 模型,可与之对话
- 提供开箱即用的 api ,可以快速以数据的形式获取紫薇数据
- 编写常用对话模版,以文字形式返回命盘数据,模板形式会以
issues
和pr
的形式接受大家的建议 - 提供其他语言的库:go-iztro 、java-iztro 、rust-iztro
文章来源: https://www.v2ex.com/t/1118056#reply6