Mirascope/mirascope
用统一接口调用各家前沿大模型的 Python 与 TypeScript 工具包,支持装饰器式调用、结构化输出和工具调用。
- Star
- 1,535
- Fork
- 153
- 未关闭 Issue
- 24
- 最近提交
- 前天
这是什么?
Mirascope 是一个用于在 Python 和 TypeScript 中调用大语言模型的库。它不是带有大量自有抽象的重型框架,而是提供统一接口调用各家前沿 LLM,切换模型厂商通常只需修改模型标识字符串。
核心用法是装饰器:用模型标识(如 anthropic/claude-sonnet-4-5)装饰一个返回提示词的函数,调用后得到响应对象。传入 format 参数可以把输出解析为 Pydantic 模型;用装饰器定义的工具可以被执行并回填到对话中,从而构建简单的智能体循环。
仓库采用 monorepo 结构,包含 Python 与 TypeScript 两套实现、各自的示例、文档网站以及统一的跨语言文档。
核心功能
- 01通过统一的模型标识格式调用多家 LLM 厂商。
- 02用装饰器把 Python 函数定义为提示词。
- 03通过 format 参数将模型输出解析为 Pydantic 模型。
- 04将装饰后的函数转为工具,并执行工具调用循环。
- 05提供与 Python 包并行的 TypeScript 实现。
适用场景
- 在 Python 项目中实现需要结构化 JSON 输出的 LLM 功能。
- 不引入大型框架,编写一个小型的工具调用智能体。
- 在不改动调用代码的前提下切换不同的模型厂商。
- 在 Python 或 TypeScript 项目中快速原型化 LLM 调用。
快速上手
- 1
使用 uv 安装 Mirascope
uv add "mirascope[all]" - 2
使用 @llm.call 装饰器调用大模型并打印结果
使用前须知
- 调用模型需要模型提供商的 API 密钥。
收录于专题
标签
常见问题
- mirascope 是什么?
- 用统一接口调用各家前沿大模型的 Python 与 TypeScript 工具包,支持装饰器式调用、结构化输出和工具调用。 Mirascope 是一个用于在 Python 和 TypeScript 中调用大语言模型的库。它不是带有大量自有抽象的重型框架,而是提供统一接口调用各家前沿 LLM,切换模型厂商通常只需修改模型标识字符串。
- mirascope 可以免费使用吗?用的什么许可证?
- mirascope 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- mirascope 还在维护吗?
- 活跃维护中。mirascope 最近一次提交是在 2026年11月5日。
- mirascope 适合用来做什么?
- 在 Python 项目中实现需要结构化 JSON 输出的 LLM 功能。 不引入大型框架,编写一个小型的工具调用智能体。 在不改动调用代码的前提下切换不同的模型厂商。 在 Python 或 TypeScript 项目中快速原型化 LLM 调用。
- mirascope 怎么安装和运行?
- 使用 uv 安装 Mirascope: uv add "mirascope[all]" 使用 @llm.call 装饰器调用大模型并打印结果
- 在哪里获取 mirascope?
- 源代码和安装说明在 GitHub 上:https://github.com/Mirascope/mirascope
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 TypeScript 的 DSPy 风格框架,用类型化签名构建结构化 LLM 程序,并提供 Agent、工作流和优化器。
2978+6 本周201TypeScriptApache-2.0维护活跃更新于 17小时前
一个 Python 库,用于编写生成式程序,把带类型标注的 LLM 调用变成结构化、可测试的 AI 工作流。
1851+6 本周177PythonApache-2.0更新于 17小时前
基于 LangGraph Studio 的模板,用于构建通过网络检索生成或补全结构化数据的 LLM 智能体。
25862Jupyter NotebookMIT更新于 前天
一个 Python 库,用统一接口调用多家 AI 服务商的对话、流式输出、工具调用和结构化输出。
8423PythonApache-2.0维护活跃更新于 5天前
BAML 是一门面向 AI Agent 的编程语言,提供类型系统、内置测试与评估框架,可被 TS、Python、Go 等语言调用。
9486+31 本周514RustApache-2.0更新于 昨天