Teknoloji · Diller ve framework'ler

Veri ve yapay zekâ katmanı için Python, ortamın geri kalanıyla aynı mühendislik disipliniyle.

Bir kurumun beklediği testler, tip denetimi ve gözlemlenebilirlikle Django ve FastAPI servisleri, veri hatları ve model sunum API'leri geliştiren Python mühendisleri — canlı ortama terfi ettirilmiş notebook'lar değil.

PythonOnunla neler geliştiriyoruz
01Model sunum API'leri
02LLM uygulamaları ve RAG
03Veri hatları
04Django arka ofis uygulamaları
05Entegrasyon ve otomasyon servisleri
06MLOps araçları
Genellikle birlikte
  1. Python
  2. FastAPI
  3. Django
  4. pydantic
  5. pytest
  6. PyTorch
Neden kullanıyoruz

Veri ve yapay zekâ çalışmalarımız Python'da yaşıyor.

Eğittiğimiz her model, çalıştırdığımız her değerlendirme düzeneği ve bunları besleyen veri hatlarının çoğu Python — çünkü kütüphaneler orada ve matematiği bilen insanlar zaten orada çalışıyor. FastAPI bu çalışmayı servise dönüştürüyor: tipli, asenkron, koddan belgelenen ve bir istek yolunda durabilecek kadar hızlı. Django ise diğer ucu kapsıyor — içerik ağırlıklı arka ofis uygulamaları, yönetim ekranı odaklı uygulamalar ve olgun bir ORM'in, kimlik doğrulamanın ve bir yönetim arayüzünün işi kolaylaştırdığı her yer.

Python'un kurumsal ortamdaki sorunu hiçbir zaman dilin kendisi olmadı. Sorun, bir kez çalışan bir notebook ile her gün çalışan bir servis arasındaki fark. Bu farkı, TypeScript ve Java'ya uyguladığımız disiplinle kapatıyoruz: CI'da denetlenen tip tanımları, riski yansıtan testler, bir kez üretilen konteynerler, her istekte iz kaydı.

Öngörülebilir ve çok düşük gecikme gerektiren yoğun işlem yollarına Python koymuyoruz; bir JVM veya Go servisinin alanı zaten sahiplendiği yerlerde de kullanmıyoruz. Veri, model ve bağlayıcı katman için doğru araç — geri kalan pek çok iş için de dürüst bir araç.

Neler geliştiriyoruz

Python ile canlıya aldığımız altı şey.

01

Model sunum API'leri

Sınıflandırıcıların, tahmin modellerinin ve embedding modellerinin önünde duran FastAPI servisleri — istek doğrulama, toplu işleme, zaman aşımı ve modelin ne zaman belirlenen hedefin gerisinde kaldığını gösteren gecikme panosu ile.

02

LLM uygulamaları ve RAG

pgvector veya Pinecone üzerinde erişim hatları, Anthropic ve OpenAI SDK'larıyla prompt ve araç orkestrasyonu ve CI'da çalışan bir değerlendirme paketi; böylece bir prompt değişikliği test edilmiş bir değişikliktir.

03

Veri hatları

Operasyonel sistemlerden veri ambarlarına veri taşıyan Airflow DAG'leri ve dbt modelleri, yol boyunca Great Expectations kontrolleriyle — böylece pano daha seyrek hatalı olur, hatalı olduğunda da sesini duyurur.

04

Django arka ofis uygulamaları

Operasyon ekipleri için yönetim ekranı odaklı uygulamalar: katalog yönetimi, vaka takibi, içerik iş akışları. Django admin size hazır, çalışan bir ekran verir; biz onu bakımı kolay kalacak şekilde kurarız.

05

Entegrasyon ve otomasyon servisleri

ERP'lere, CRM'lere ve dosya tabanlı iş ortaklarına bağlayıcılar, zamanlanmış işler ve olay tüketicileri — bir ortamı tutarlı tutan gösterişsiz servisler, en baştan yeniden deneme ve idempotentlikle yazılmış.

06

MLOps araçları

Eğitim hatları, MLflow'da deney takibi, model kayıt defterleri ve adaydan canlı ortama uzanan terfi yolu, bu yolu denetleyen değerlendirmelerle birlikte.

Uygunluk

Ne zaman tercih edilmeli.

Doğru tercih

İş veri bilimine, makine öğrenmesine veya LLM'lere temas ediyorsa Python'u seçin — kütüphaneler, araçlar ve yetkin insanlar orada. Tipli ve asenkron bir servise ihtiyacınız varsa ve OpenAPI belgelendirmesini hazır almak istiyorsanız FastAPI'yi seçin. Uygulama form ve yönetim ekranı ağırlıklıysa, kimlik doğrulamayı, yetkileri ve bir ORM'i yazmak yerine yapılandırmayı tercih ediyorsanız Django'yu seçin. Üçü de, analitik veya veri mühendisliğinde hâlihazırda Python bilgisi olan ve bunu canlı ortama taşımak isteyen ekiplere uygundur.

Başka yere bakın

Tutarlı biçimde çok düşük gecikme gerektiren CPU yoğun istek yolları için, Node.js veya Go'nun daha uygun olduğu yüksek eş zamanlılıklı gerçek zamanlı kanallar için ya da kurumunuzun operasyonel araçlarıyla birlikte zaten JVM üzerinde yürüttüğü bir alan için tercih etmeyin. Kavram kanıtı olarak yazılmış bir notebook'un kazara canlı ortam servisine dönüşmesine de izin vermeyin — yeniden yazılması konusunda ısrar ederiz.

Uygulamada

Doğrulama, izleme ve zaman aşımı içeren bir skorlama uç noktası.

app/api/score.pypython
class ScoreRequest(BaseModel):
    member_id: UUID
    features: dict[str, float] = Field(min_length=1)

@router.post('/score', response_model=ScoreResponse)
async def score(req: ScoreRequest, model: Model = Depends(get_model)):
    with tracer.start_as_current_span('churn.score'):
        # bounded — a slow model degrades, it never blocks the pool
        result = await asyncio.wait_for(model.predict(req.features), timeout=0.25)
    return ScoreResponse(member_id=req.member_id, score=result.p, version=model.version)
Referans mimari

Python bir Odeontech ortamında nerede durur.

Tüketiciler
Ürün API'leriNext.js arayüzlerPower BI
Servisler
FastAPI model APIDjango arka ofisWorker'lar
Veri hatları
AirflowdbtGreat Expectations
Modeller
PyTorchMLflow kayıtlarıClaude / OpenAIpgvector
Platform
KubernetesPostgreSQLKafkaOpenTelemetry
Standartlarımız

Teslim ettiğimiz Python kod tabanları nasıl görünür.

  • Tipli ve denetlenmiş. Baştan sona tip tanımları, CI'da mypy veya pyright ve her sınırda pydantic modelleri — servis, hatalı girdiyi üç çağrı sonra patlamak yerine baştan reddeder.
  • Yeniden üretilebilir ortamlar. uv veya Poetry ile kilitlenmiş bağımlılıklar, sabitlenmiş temel imajlar ve çalışma zamanında pip install yok. Testleri geçen konteyner, çalışan konteynerdir.
  • Riski yansıtan testler. Alan mantığı için pytest, entegrasyonlar için sözleşme testleri ve modeller için, bir değişikliğin geriye götürmemesi gereken referans değerlere sahip bir değerlendirme paketi.
  • Faydası olduğu yerde asenkron, her yerde değil. G/Ç yoğun işler asenkron çalışır; CPU yoğun işler ise istek havuzundan ayrı olarak bir worker sürecinde veya kuyrukta çalışır.
  • İlk commit'ten itibaren gözlemlenebilirlik. OpenTelemetry izleri, yapılandırılmış loglar ve model servisleri için ek sinyaller: girdi kayması, skor dağılımı, sürüm başına gecikme.
  • Veri hattında veri kontrolleri. Her yüklemede Great Expectations veya dengi; başarısız bir beklenti, yanlış bir sayı yayımlamak yerine DAG'i durdurur ve nöbetteki kişiyi çağırır.
  • Sırlar ve kişisel veriler bilinçli ele alınır. Sırlar bir kasadan gelir, kişisel veriler asgariye indirilir ve loglarda maskelenir, KVKK ve GDPR yükümlülükleri ilk veri çekiminden önce veri sorumlusuyla birlikte gözden geçirilir.
  • Biçimlendirilmiş, lint'lenmiş, tutarlı. Kaydederken ve CI'da ruff ve black çalışır; böylece incelemeler biçim yerine mantığa odaklanır.
Tipik eşleşmeler

Genellikle yanında ne teslim edilir.

  • Kimlik doğrulama, girdi doğrulama, izleme, sağlık kontrolleri ve yeniden üretilebilir şekilde derlenen bir Dockerfile içeren FastAPI veya Django servis şablonu
  • Her model veya LLM özelliği için, saklanan bir referans değerle CI'ya bağlanmış bir değerlendirme düzeneği
  • Veri kalitesi kontrolleri ve veri kökeni belgeleriyle Airflow DAG'leri ve dbt modelleri
  • MLflow ile deney takibi ve belgelenmiş bir terfi yoluna sahip model kayıt defteri
  • Her servis için runbook'lar ve panolar, modele özgü sinyaller dâhil
Birlikte çalışır
PythonFastAPIDjangopydanticpytestPyTorchMLflowAirflowdbtpgvectorClaudeOpenAIKubernetes
SSS

Sık sorulan sorular

Uygulamanın yapısına göre. Form ağırlıklı, yönetim ekranı ağırlıklı, yetki ağırlıklı: Django, çünkü hazır gelen her şey işin özü. API öncelikli, asenkron, bir modelin veya başka bir servisin önünde duran: FastAPI. İkisi tek bir ortamda sorunsuz bir arada yaşar; her ikisi de TypeScript ve Java servislerinin yanında çalışabilir.
G/Ç yoğun ve model sunum işleri için evet — uvicorn üzerindeki FastAPI asenkron çalışır ve darboğaz genellikle framework değil, modeldir. CPU yoğun kritik yollar için ise bunu açıkça söyler, o bileşen için Go veya Java öneririz.
Evet. Bilimsel kısmı korur, teslimat kısmını yeniden yazarız: tipli arayüzler, testler, bir değerlendirme referansı, bir konteyner, bir veri hattı ve bir pano. Modelin sorumluluğu veri bilimcilerde kalır; servis ise nöbetteki bir mühendisin işletebileceği bir şeye dönüşür.
Ağırlıklı olarak Anthropic ve OpenAI; veri yerleşimi veya maliyet gerektirdiğinde vLLM üzerinden açık ağırlıklı modeller. Uygulama kodu, sağlayıcı bir yapılandırma kalemi olacak şekilde yazılır ve sağlayıcıyı kanıta dayanarak değiştirmenizi sağlayan şey değerlendirme paketidir.
Evet. Bir denetimle başlarız — tip kullanımı, testler, bağımlılıkların durumu, nasıl devreye alındığı — ve bulguları size yazılı olarak veririz. Sonra sizin depolarınızın ve CI'nızın içinde çalışırız, istemediğiniz bir yeniden yazım önermek yerine ilerledikçe iyileştiririz.
İlgili

Komşu teknolojiler ve onları kullanan hizmetler.

Canlı ortama iş çıkaran Python mühendislerine mi ihtiyacınız var?

İşin bir model API'si mi, bir veri hattı mı, bir Django arka ofis uygulaması mı yoksa bir LLM özelliği mi olduğunu ve ihtiyacınız olan kıdem seviyesini bize iletin. İsimleriyle birlikte bir ekip öneririz ya da uzmanları sizin ekibinize yerleştiririz.

✓ Satış sunumu yok✓ AI-native bir mühendisten yanıt✓ Yazılı geri dönüş