Mirascope

Mirascope adalah cara intuitif untuk membangun aplikasi berbasis kecerdasan buatan menggunakan LMs. Perpustakaan mereka terintegrasi dengan Logfire untuk membuat pengamatan dan pemantauan LMs mudah dan mulus.

Anda dapat menggunakan milik mereka. @with_logire Dekorator mengaktifkannya, yang akan berlaku untuk semua penyedia model yang mereka dukung (misalnya OpenAI, Anthropic, Groq, dll.).

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: ...

Ini akan memberi Anda:

  • membentang di sekitar AnthropicCall.call(), menangkap item seperti template prompt, properti dan bidang template, dan properti input / output
  • Tampilan percakapan yang dapat dibaca manusia dengan agen
  • Rincian tanggapan, termasuk jumlah token yang digunakan
Panggilan Antropic Logfire Mirascope
Mirascope Anthropic Bentang panggilan dan rentang Anthropic dan percakapan

Karena Mirascope dibangun di atas Pydantic, Anda dapat menggunakan plugin Pydantic untuk melacak log dan metrik tambahan tentang validasi model, yang dapat Anda aktifkan menggunakan konfigurasi [pydantic_plugin ][logfire.configure(pydantic_plugin)].

Ini bisa sangat berguna saat menggunakan LMS untuk mengekstrak informasi terstruktur.

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'

Ini akan memberi Anda:

  • Pelacakan untuk Validasi Model Pydantic
  • membentang di sekitar OpenAIExtractor.extract(), menangkap item seperti template prompt, properti dan bidang template, dan properti input / output
  • Tampilan percakapan yang dapat dibaca manusia dengan agen, termasuk panggilan fungsi
  • Rincian tanggapan, termasuk jumlah token yang digunakan
Panggilan Antropic Logfire Mirascope
Rentang Mirascope OpenAI Extractor dan rentang OpenAI serta panggilan fungsi

Spans Extractor Mirascope OpenAI dan Spans OpenAI serta Fungsi Panggilan

Untuk informasi lebih lanjut tentang Mirascope dan apa yang dapat Anda lakukan dengannya, silakan lihat dokumentasinya.


本文总阅读量次