Mirascope

by Mirascope (open source) · Python 3.10+, OpenAI, Anthropic, Gemini, Mistral, Groq, Ollama

Framework AI Assistants Open Source v2.5.0 · 24.06.2026 активный

Mirascope — элегантная Python-библиотека для работы с LLM с минимальным абстрагированием. Использует декораторы и типизацию вместо сложных цепочек. Совместима со всеми major провайдерами через единый интерфейс. Возможности: - Единый API для OpenAI, Claude, Gemini, Mistral, Groq, Ollama - Декоратор `@llm.call`: превращает функцию в LLM-вызов - Structured outputs через Pydantic (автоматический retry при ошибке) - Streaming: `@llm.call(stream=True)` - Tool use / function calling через `@tool` - Async поддержка из коробки - Интеграция с Logfire для трассировки

v2.5.0
24.06.2026 current
Добавлен 19.06.2026 · Обновлён 19.06.2026 · AI Assistants
Установка
# pip:
pip install mirascope

# С поддержкой конкретного провайдера:
pip install "mirascope[anthropic]"
pip install "mirascope[gemini]"
pip install "mirascope[groq]"

# Пример:
from mirascope.core import anthropic, prompt_template

@anthropic.call("claude-sonnet-4-6")
@prompt_template("Summarize the following text: {text}")
def summarize(text: str): ...

response = summarize("Long text here...")
print(response.content)
переведено ИИ
<a href="https://mirascope.com/#mirascope">

<a href="https://github.com/Mirascope/mirascope/actions/workflows/ci.yml" target="_blank"><img src="https://github.com/Mirascope/mirascope/actions/workflows/ci.yml/badge.svg?branch=main" alt="Tests"/></a>
<a href="https://app.codecov.io/github/Mirascope/mirascope" target="_blank"><img src="https://codecov.io/github/Mirascope/mirascope/graph/badge.svg?token=HAEAWT3KC9" alt="Coverage"/></a>
<a href="https://pypi.org/project/mirascope/" target="_blank"><img src="https://img.shields.io/pypi/v/mirascope.svg" alt="PyPI Version"/></a>
<a href="https://pypi.org/project/mirascope/" target="_blank"><img src="https://img.shields.io/pypi/pyversions/mirascope.svg" alt="Python Versions"/></a>
<a href="https://github.com/Mirascope/mirascope/blob/main/python/LICENSE" target="_blank"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License"/></a>

Mirascope

Добро пожаловать в Mirascope, который позволяет использовать любой современный LLM с единым интерфейсом.

Быстрый старт

Установите Mirascope:

uv add "mirascope[all]"

Вызов LLM с помощью декоратора

from mirascope import llm


@llm.call("anthropic/claude-sonnet-4-5")
def recommend_book(genre: str):
    return f"Recommend a {genre} book."


response = recommend_book("fantasy")
print(response.text())

Получение структурированного вывода

from pydantic import BaseModel
from mirascope import llm


class Book(BaseModel):
    title: str
    author: str


@llm.call("anthropic/claude-sonnet-4-5", format=Book)
def recommend_book(genre: str):
    return f"Recommend a {genre} book."


book = recommend_book("fantasy").parse()
print(f"{book.title} by {book.author}")

Создание агента с инструментами

from pydantic import BaseModel
from mirascope import llm


class Book(BaseModel):
    title: str
    author: str


@llm.tool
def get_available_books(genre: str) -> list[Book]:
    """Get available books in the library by genre."""
    return [Book(title="The Name of the Wind", author="Patrick Rothfuss")]


@llm.call("anthropic/claude-sonnet-4-5", tools=[get_available_books], format=Book)
def librarian(request: str):
    return f"You are a librarian. Help the user: {request}"


response = librarian("I want a fantasy book")
while response.tool_calls:
    response = response.resume(response.execute_tools())
book = response.parse()
print(f"Recommending: {book.title} by {book.author}")

Для потоковой передачи, асинхронного режима, разговоров с несколькими ходами и многого другого ознакомьтесь с полной документацией.

Структура монорепозитория

Проект структурирован как монорепозиторий, концептуально разделённый на четыре части:

  • python/ содержит реализацию на Python и примеры (в python/examples)
  • typescript/ содержит реализацию на Typescript и примеры (в typescript/examples)
  • website/ содержит маркетинговый сайт (документацию, блог, посадочную страницу)
  • docs/ содержит единую кросс-языковую документацию (в docs/content), а также конфигурацию, необходимую для сборки документации

Для подробной информации о структуре базы кода, архитектуре и принятых решениях по дизайну см. STRUCTURE.md).

Разработка сайта

Используйте bun run website:dev для запуска сервера разработки.

Обратите внимание, что необходимо установить Bun.

CI и локальное тестирование

В настоящее время у нас есть четыре задачи CI: - codespell: Проверка на распространённые опечатки в репозиториях Python, Typescript и документации - python-lint: Линтинг и проверка типов для кода на Python - typescript-lint: Линтинг и проверка типов для кода на Typescript - cloudflare docs build: Сборка и предпросмотр сайта документации

Вы можете запустить все проверки CI локально, выполнив bun run ci в корневой директории. Если вы добавляете новые проверки в GitHub CI, пожалуйста, также добавьте их в скрипт ci в корневом package.json.

Версионирование

Mirascope использует Семантическое версионирование.

Лицензия

Проект лицензирован по Лицензии MIT.

Комментарии
Войдите, чтобы оставить комментарий