Mirascope简介
Mirascope是一个为软件工程师设计的优雅简洁的LLM(大语言模型)Python库。它旨在为LLM API提供类似于requests
库对http
的开发体验。使用Mirascope构建应用不仅简单高效,而且非常有趣。
核心特性
- 简洁的抽象: Mirascope提供了简单透明的抽象,让开发者掌控全局。
- 强大的类型提示: 内置了完善的Python类型提示,简化了接口的同时保证了类型安全。
- 灵活的构建方式: 提供简洁清晰的构建模块,支持快速可靠的开发,同时允许开发者根据自己的需求进行定制。
安装指南
Mirascope的核心依赖只有pydantic
、docstring-parser
和jiter
。其他依赖都是特定提供商的可选依赖,你可以根据需要安装:
pip install "mirascope[openai]" # 例如使用 openai.call
pip install "mirascope[anthropic]" # 例如使用 anthropic.call
学习资源
核心概念
Mirascope的两个核心原语是call
和BasePrompt
。
call装饰器
call
装饰器用于将函数转换为LLM调用:
from mirascope.core import openai, prompt_template
@openai.call("gpt-4o-mini")
@prompt_template("Recommend a {genre} book")
def recommend_book(genre: str): ...
response = recommend_book("fantasy")
print(response)
# > Sure! I would recommend The Name of the Wind by...
BasePrompt类
BasePrompt
类用于编写与特定提供商无关的提示:
from mirascope.core import BasePrompt, prompt_template
@prompt_template(
"""
Evaluate the toxicity of the following text:
{text}
"""
)
class ToxicityEvaluationPrompt(BasePrompt):
text: str
进阶使用
- 异步函数支持
- 响应流式处理
- 工具函数集成
- 结构化信息提取
- JSON模式
- 多模态能力(视觉、音频)
- 自定义输出解析器
- 动态变量注入
- FastAPI集成
更多高级用法请参考完整使用文档。
社区与支持
- Slack社区: 加入讨论,获取帮助
- GitHub Issues: 报告问题,提出建议
总结
Mirascope为Python开发者提供了一个简洁而强大的LLM开发工具。无论你是构建简单的聊天机器人还是复杂的AI应用,Mirascope都能帮助你更高效地完成任务。开始使用Mirascope,体验Python式的LLM开发乐趣吧!