← Tüm AI haberleri

Şirketler

LLM-mock – OpenAI/Anthropic çağrılarını pytest (v1.0) ile kaydet ve tekrar oynat

github.com · 13.07.2026 · Base of AGI özeti

LLM-mock – OpenAI/Anthropic çağrılarını pytest (v1.0) ile kaydet ve tekrar oynat
© repository-images.githubusercontent.com — görsel kaynağa aittir

Özgün başlık: LLM-mock – Record and replay OpenAI/Anthropic calls in pytest (v1.0)

OpenAI ve Anthropic API çağrılarıyla dalga geçmek için pytest eklentisi — gerçek yanıtları bir kez kaydedin, bunları testlerde sonsuza kadar yeniden oynatın. CI'da API anahtarı gerekmez, çalıştırma başına maliyet yoktur, belirsiz determinizm yoktur. Kutudan çıktığı haliyle Anthropic SDK (claude-* modelleri) ve OpenAI SDK (gpt-* modelleri) ile çalışır; uygulama kodunuzda değişiklik yapmanıza gerek yoktur. llm-mock, HTTP taşıma katmanında (httpx / respx aracılığıyla) müdahale eder - üretim kodunuza asla dokunulmaz. Fikstürler, git'e gönderdiğiniz, PR'lerde farklılık gösterdiğiniz ve talep üzerine yenilediğiniz düz JSON dosyalarıdır. Pipeline.py'nin llm-mock hakkında sıfır bilgisi var. İthalat yok, değişiklik gerekmiyor. mode="record" ile çalışan küçük bir komut dosyası veya özel bir test oluşturun. Bu adım için gerçek bir API anahtarına ihtiyacınız var. Bu, testler/fikstürler/summarize.json dosyasını oluşturur.

Bu dosyayı git'e kaydedin. Pytest dekoratörünü kullanın - hayır, testin içinde blok gerekli: Dekoratör, test dosyasına göre fikstür yolunu otomatik olarak keşfeder — fikstür="summarize", test testler/ içinde yaşadığında testler/fikstürler/summarize.json'u arar. llm-mock, Anthropic SDK'nın dahili olarak yaptığı httpx çağrısını keser ve kaydedilen yanıtı döndürür; test kodunuz, tam olarak üretimde olduğu gibi Summary() öğesini çağırır. Alternatif: Daha fazla kontrole ihtiyacınız varsa doğrudan içerik yöneticisini kullanın: Bilgi istemini değiştirirseniz, modeli güncellerseniz veya fikstürleri yenilemek isterseniz: Gerçek yanıtın yazdırıldığını ve fikstür/hello.json dosyasının oluşturulduğunu görmelisiniz. Anında tam olarak aynı yanıt verilir; ağ araması yapılmaz. Not: llm-mock'un PATH'inizde olması için önce sanal ortamınızı etkinleştirin: Projenizde llm-mock'u kurun. Proje kökünde bir kez çalıştırın: İstek eşleştirme, (model, mesajlar, sıcaklık) SHA256'sını kullanır. Aynı istek her zaman aynı fikstür girişine ulaşıyor. Farklı sıcaklık veya farklı mesaj içeriği → farklı fikstür girişi. Akış (stream=True) tamamen desteklenir. Kayıt modunda, SSE olay akışının tamamı yakalanır ve fikstüre kaydedilir.

Tekrar modunda kaydedilen olaylar yeniden oluşturulur ve gerçek bir SSE yanıtı olarak döndürülür; SDK bunları tam olarak canlı API'den geliyormuş gibi alır ve işler. otomatik mod çoğu proje için önerilen varsayılandır; manuel mod anahtarları olmadan yeni istekler göründüğünde kendi kendini iyileştirir: Varsayılan olarak istekler model + mesajlar + sıcaklık ile eşleştirilir.

Bu özet ve çevirisi Base of AGI tarafından otomatik derlendi. Kısa özet ve görsel kaynağa aittir — haberin tamamı ve tüm haklar kaynağındadır.
Haberin tamamını kaynağında oku ↗ Akış içinde yorumlarla aç

İlgili AI haberleri