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
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
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.
本文总阅读量次