pplx-api ile Tanışın

Perplexity Lab'in açık kaynaklı LLM'ler için hızlı ve verimli API'si

Introducing pplx-api by Perplexity Labs

Lütfen dikkat: Aşağıdakiler mevcut modeller için kullanımdan kaldırılmıştır. API'lerimiz hakkında daha fazla bilgi edinin

Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B, replit-code-v1.5-3b modellerine erişmenin en hızlı yollarından biri olarak tasarlanan pplx-api'yi duyurmaktan heyecan duyuyoruz. pplx-api, geliştiricilerin en son teknoloji ürünü açık kaynaklı LLM'leri projelerine entegre etmesini kolaylaştırır.

pplx-api'mizin sundukları:

Kullanım kolaylığı: Geliştiriciler en son teknoloji açık kaynaklı modelleri kutudan çıktığı gibi kullanabilir ve tanıdık bir REST API ile dakikalar içinde başlayabilir.

İnanılmaz derecede hızlı çıkarım: Özenle tasarlanmış çıkarım sistemimiz verimlidir ve Replicate'e göre 2,9 kata ve Anyscale'e göre 3,1 kata varan ölçüde daha düşük gecikme süresi elde eder.

Sınanmış altyapı: pplx-api; hem Perplexity answer engine hem de Labs playground ürünlerimizde üretim düzeyindeki trafiğe hizmet vererek güvenilirliğini kanıtlamıştır.

Açık kaynaklı LLM'ler için tek adres: Ekibimiz, çıktıkları anda yeni açık kaynaklı modeller eklemeye kendini adamıştır. Örneğin, ön sürüm erişimi olmaksızın Llama ve Mistral modellerini lansmandan birkaç saat sonra ekledik.

pplx-api genel beta aşamasındadır ve bir Perplexity Pro aboneliği olan kullanıcılar için ücretsizdir.

Sıradan bir hafta sonu hackathon'u için veya yeni ve yenilikçi ürünler oluşturmaya yönelik ticari bir çözüm olarak pplx-api'yi kullanın. Bu sürüme dayanarak insanların API'mizle nasıl harika ve yenilikçi ürünler oluşturabileceğini öğrenmeyi umuyoruz. pplx-api için bir iş kullanım durumunuz varsa lütfen api@perplexity.ai adresinden bizimle iletişime geçin. Sizden haber almayı çok isteriz!

pplx-api'nin avantajları

Kullanım Kolaylığı

LLM dağıtımı ve çıkarımı, model sunumunu yüksek performanslı ve uygun maliyetli hale getirmek için önemli altyapı çalışmaları gerektirir. Geliştiriciler, en son teknoloji performansın keyfini çıkarırken, derinlemesine C++/CUDA bilgisine veya GPU'lara erişime ihtiyaç duymadan API'mizi kutudan çıktığı gibi kullanabilirler. LLM çıkarımımız ayrıca kendi donanımınızı yönetme karmaşıklığını ve zorunluluğunu ortadan kaldırarak kullanım kolaylığınızı daha da artırır.


İnanılmaz Derecede Hızlı Çıkarım

Perplexity'nin LLM API'si, hızlı çıkarım için özenle tasarlanmış ve optimize edilmiştir. Bunu başarmak için NVIDIA'nın AWS tarafından sağlanan A100 GPU'larında sunulan TensorRT-LLM altyapısı üzerine tescilli bir LLM çıkarım altyapısı kurduk. pplx-api Altyapısına Genel Bakış bölümünde daha fazla bilgi edinin. Sonuç olarak pplx-api, ticari olarak temin edilebilen en hızlı Llama ve Mistral API'lerinden biridir.

Mevcut çözümlerle karşılaştırma yapmak için pplx-api'nin gecikme süresini diğer LLM çıkarım kitaplıklarıyla karşılaştırdık. Deneyerimizde pplx-api, Text Generation Inference'a (TGI) kıyasla 2,92 kata kadar daha hızlı genel gecikme süresi ve 4,35 kata kadar daha hızlı ilk yanıt gecikme süresi elde etmektedir. Bu deney için, her iki GPU'ya dağıtılmış bir Llama-2-13B-chat modeli kullanarak 2 adet A100 GPU üzerinde tek akışlı ve sunucu senaryoları için TGI ve Perplexity'nin çıkarımını karşılaştırdık. Tek akışlı senaryoda sunucu birbiri ardına istek işler. Sunucu senaryosunda istemci, değişen bir yükü taklit etmek için değişen istek oranlarıyla bir Poisson dağılımına göre istek gönderir. İstek oranı için, TGI tarafından desteklenen maksimum iş hacmi olan saniyede maksimum 1 istek değerine kadar küçük bir tarama gerçekleştiririz. Üretim davranışını simüle etmek için çeşitli giriş ve çıkış belirteci (token) uzunluklarına sahip gerçek dünya verilerini kullandık. İstekler ortalama ~700 giriş belirteci ve ~550 çıkış belirteci içerir.

Aynı girdileri kullanarak ve tek bir istek akışı göndererek, diğer mevcut API'lere karşı bir performans tabanı oluşturmak amacıyla bu aynı model için Replicate ve Anyscale'in API'lerinin ortalama gecikme sürelerini de ölçtük.

Perplexity Labs - İlk Belirteç Gecikme Süresi
Perplexity Labs - Kod Çözme Hızı

Aynı deneysel kurulumu kullanarak, gecikme sınırı olarak kod çözme hızıyla pplx-api'nin maksimum iş hacmini TGI ile karşılaştırdık. Deneylerimizde pplx-api, belirteçleri TGI'den 1,90x-6,75x daha hızlı işler ve TGI, 60 ve 80 belirteç/saniye değerlerinde daha katı gecikme sınırlarımızı karşılamakta tamamen başarısız olur. TGI'yi, pplx-api'yi değerlendirmek için kullandığımız donanım ve yük koşulları altında değerlendiriyoruz. Donanımlarını ve yük faktörlerini kontrol edemediğimiz için bu metriği Replicate ve Anyscale ile karşılaştırmak mümkün değildir.

Referans olması açısından, ortalama insan okuma hızı saniyede 5 belirteçtir, yani pplx-api birinin okuyabileceğinden daha hızlı bir oranda hizmet verebilmektedir.

Perplexity Labs - GPU Başına Belirteç İş Hacmi

pplx-api altyapısına genel bakış

Bu gecikme sürelerine ulaşmak, son teknoloji yazılım ve donanım kombinasyonunu gerektirir.

NVIDIA A100 GPU'lar tarafından desteklenen AWS p4d örnekleri, sınıfının en iyisi saat hızlarıyla GPU'ları ölçeklendirmek için en uygun maliyetli ve güvenilir seçenek olarak zemin hazırlar.

Yazılımın bu donanımdan yararlanabilmesi için LLM çıkarımını hızlandıran ve optimize eden açık kaynaklı bir kitaplık olan NVIDIA'nın TensorRT-LLM'ini çalıştırıyoruz. TensorRT-LLM, TensorRT'nin derin öğrenme derleyicisini sarmalar ve LLM modeli yürütmenin bağlam ve oluşturma aşamaları için FlashAttention ve maskelenmiş çok kafalı dikkat (MHA) uygulamalarının en son optimize edilmiş çekirdeklerini içerir.

Buradan itibaren AWS'nin omurgası ve Kubernetes ile güçlü entegrasyonu, yüzlerce GPU'nun ötesinde esnek bir şekilde ölçeklenmemizi, kapalı kalma süresini ve ağ ek yükünü en aza indirmemizi sağlar.

Kullanım Durumu: Üretimde API'miz

Perplexity'de pplx-api: Maliyet Azaltma ve Güvenilirlik

API'miz halihazırda Perplexity'nin temel ürün özelliklerinden birine güç sağlamaktadır. Tek bir özelliğin harici bir API'den pplx-api'ye geçirilmesi bile yılda 0,62 milyon dolar maliyet tasarrufu sağladı; bu da maliyetlerde yaklaşık 4 kat azalma anlamına geliyor. Kalite düşüşü yaşanmadığından emin olmak için A/B testleri çalıştırdık ve altyapı metriklerini izledik. 2 hafta boyunca A/B testinde istatistiksel olarak anlamlı bir fark gözlemlemedik. Ek olarak pplx-api, günlük bir milyondan fazla isteklik bir yükü sürdürebilmekte ve günlük toplamda neredeyse bir milyar işlenen belirtece ulaşmaktadır.

Bu ilk keşfin sonuçları oldukça cesaret verici ve zaman içinde daha fazla ürün özelliğimize pplx-api'nin güç vermesini bekliyoruz.

Perplexity Labs'de pplx-api: Açık Kaynak Çıkarım Ekosistemi

Ayrıca çeşitli açık kaynaklı modeller sunan model oyun alanımız olan Perplexity Labs'e güç sağlamak için pplx-api'yi kullanıyoruz.

Sunulan Günlük Ortalama Belirteç

Ekibimiz, en son teknoloji açık kaynaklı LLM'lere erişim sağlamaya kendini adamıştır. Mistral 7B, Code Llama 34b ve tüm Llama 2 modellerini piyasaya sürülmelerinden birkaç saat sonra entegre ettik ve daha yetenekli ve açık kaynaklı LLM'ler kullanıma sunuldukça bunu yapmayı planlıyoruz.

Perplexity'nin Yapay Zeka API'sini Kullanmaya Başlayın

HTTPS isteklerini kullanarak pplx-api REST API'ye erişebilirsiniz. pplx-api'de kimlik doğrulama aşağıdaki adımları içerir:

Perplexity Hesap Ayarları Sayfası aracılığıyla bir API anahtarı oluşturun. API anahtarı, manuel olarak yenilenene veya silinene kadar kullanılabilen uzun ömürlü bir erişim belirtecidir.

Her pplx-api isteğinde API anahtarını Authorization üst bilgisinde taşıyıcı belirteç (bearer token) olarak gönderin.

Aşağıdaki örnekte PERPLEXITY_API_KEY, yukarıdaki talimatlar kullanılarak oluşturulan bir anahtara bağlı bir ortam değişkenidir. Sohbet tamamlama isteği göndermek için CURL kullanılır.

bash
curl -X POST \ --url https://perplexity.coolkeypoint.com/__p/api.perplexity.ai/chat/completions \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header "Authorization: Bearer ${PERPLEXITY_API_KEY}" \ --data '{ "model": "mistral-7b-instruct", "stream": false, "max_tokens": 1024, "frequency_penalty": 1, "temperature": 0.0, "messages": [ { "role": "system", "content": "Be precise and concise in your responses." }, { "role": "user", "content": "How many stars are there in our galaxy?" } ] }'

content-type: application/json değerine sahip aşağıdaki yanıtı verir

json
{ "id": "3fbf9a47-ac23-446d-8c6b-d911e190a898", "model": "mistral-7b-instruct", "object": "chat.completion", "created": 1765322, "choices": [ { "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." }, "delta": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." } } ], "usage": { "prompt_tokens": 40, "completion_tokens": 22, "total_tokens": 62 } }

İşte örnek bir Python çağrısı:

python
from openai import OpenAI YOUR_API_KEY = "INSERT API KEY HERE" messages = [ { "role": "system", "content": ( "You are an artificial intelligence assistant and you need to " "engage in a helpful, detailed, polite conversation with a user." ), }, { "role": "user", "content": ( "Count to 100, with a comma between each number and no newlines. " "E.g., 1, 2, 3, ..." ), }, ] client = OpenAI(api_key=YOUR_API_KEY, base_url="https://perplexity.coolkeypoint.com/__p/api.perplexity.ai") # demo chat completion without streaming response = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, ) print(response) # demo chat completion with streaming response_stream = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, stream=True, ) for response in response_stream: print(response)

Şu anda Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B desteklenmektedir ve API, mevcut uygulamalarla kolay entegrasyon için kolayca OpenAI istemcisiyle uyumludur.

Daha fazla bilgi için lütfen API belgelerimizi ve Hızlı Başlangıç Kılavuzumuzu ziyaret edin.

Sırada Ne Var

Yakın gelecekte pplx-api şunları destekleyecektir:

Özel Perplexity LLM'leri ve diğer açık kaynaklı LLM'ler.

Özel Perplexity gömmeleri (embeddings) ve açık kaynaklı gömmeler.

Genel beta aşaması bittikten sonra genel erişime sahip özel API fiyatlandırma yapısı.

Gerçekler ve alıntılar için dayanak noktasına (grounding) sahip Perplexity RAG-LLM API.

Bu kullanım durumlarından herhangi biriyle ilgileniyorsanız api@perplexity.ai adresine ulaşın.

Bu aynı zamanda Perplexity Blog gönderisi serimizin başlangıcıdır. Bir sonraki gönderimizde, LLM çıkarımı için A100 ve H100 performans karşılaştırması hakkında derinlemesine bir inceleme paylaşacağız. Takipte kalın!

İşe alım yapıyoruz! Devasa ölçekte dağıtılan bir üründe çalışmak ve bizimle özenle tasarlanmış, dikkatle optimize edilmiş üretken ve büyük dil modeli altyapısı oluşturmak istiyorsanız lütfen bize katılın.

Daha fazla tartışma için Twitter, LinkedIn üzerinden bizi takip edin ve Discord'umuza katılın.

Yazarlar:

Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats

Veri Gizliliği

pplx-api'yi seçerek kullanıcılarınızın ve müşterilerinizin gizliliğini ve güvenini korurken LLM'lerin tüm potansiyelinden yararlanabilirsiniz. Kişisel bilgilerinizi korumanın önemini anlıyor ve kullanıcılarımızın güvenliğini ve gizliliğini korumaya kararlıyız. API verileri 30 gün sonra otomatik olarak silinir ve pplx-api aracılığıyla iletilen hiçbir veriyi asla eğitmeyiz. Kullanıcılar hesap ayarlarından veri saklamayı devre dışı bırakma seçeneğine sahiptir. API gizlilik politikamızı buradan bulun.

,c())}}}})();