Mirascope
Mirascope-это интуитивно понятный способ создания приложений с использованием LMs на базе искусственного интеллекта. Их библиотеки интегрируются с Logfire, что делает LLMs легко и легко отслеживаться.
Вы можете включить его с помощью их @with_logire декора, который будет применяться ко всем поставщикам моделей, которые они поддерживают (например, OpenAI, Anthropic, Groq и т. д.).
import logfire
from mirascope.logfire import with_logfire
from mirascope.anthropic import AnthropicCall
logfire.configure()
@with_logfire
class BookRecommender(AnthropicCall):
prompt_template = "Please recommend some {genre} books"
genre: str
recommender = BookRecommender(genre="fantasy")
response = recommender.call() # this will automatically get logged with logfire
print(response.content)
#> Here are some recommendations for great fantasy book series: ...
Это даст вам:
- вращается вокруг
AnthropicCall.call(), захватывая такие элементы, как шаблоны запросов, свойства и поля шаблона, а также свойства ввода/вывода - Человеческое читаемое отображение разговоров с агентами
- Сведения о ответе, включая количество использованных токенов
Поскольку Mirascope построен поверх Pydantic, вы можете использовать плагин Pydantic для отслеживания других журналов и индикаторов, связанных с проверкой модели, а также [. pydantic_plugin ][logfire.configure(pydantic_plugin)] конфигурируется для включения его.
Это может быть особенно полезным при использовании LMs для извлечения структурированной информации:
from typing import Literal, Type
import logfire
from mirascope.logfire import with_logfire
from mirascope.openai import OpenAIExtractor
from pydantic import BaseModel
logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record="all"))
class TaskDetails(BaseModel):
description: str
due_date: str
priority: Literal["low", "normal", "high"]
@with_logfire
class TaskExtractor(OpenAIExtractor[TaskDetails]):
extract_schema: Type[TaskDetails] = TaskDetails
prompt_template = """
Extract the task details from the following task:
{task}
"""
task: str
task = "Submit quarterly report by next Friday. Task is high priority."
task_details = TaskExtractor(
task=task
).extract() # this will be logged automatically with logfire
assert isinstance(task_details, TaskDetails)
print(task_details)
#> description='Submit quarterly report' due_date='next Friday' priority='high'
Это даст вам:
- Проверка Pydantic модели отслеживания
- вращается вокруг
OpenAIExtractor.extract(), захватывая такие элементы, как шаблоны запросов, свойства и поля шаблона, а также свойства ввода/вывода - Человечески читаемый дисплей разговоров с агентами, включая вызовы функций
- Сведения о ответе, включая количество использованных токенов
Диапазоны экстрактора OpenAI и диапазоны OpenAI и вызовы функций
Для получения дополнительной информации о Mirascope и о том, что вы можете сделать, ознакомьтесь с ее документацией.
本文总阅读量次