sgcWebSockets 2023.3.0 sürümünden itibaren OpenAI API tamamen desteklenir.
OpenAI API; doğal dili, kodu veya görselleri anlamayı ya da üretmeyi içeren neredeyse her göreve uygulanabilir. OpenAI, farklı görevler için uygun farklı güç düzeylerine sahip bir dizi model sunmanın yanı sıra kendi özel modellerinizi ince ayar yapma olanağı da sunar. Bu modeller, içerik üretiminden anlamsal aramaya ve sınıflandırmaya kadar her şey için kullanılabilir.
Kimlik Doğrulama
OpenAI API'si kimlik doğrulama için API anahtarları kullanır. İsteklerinizde kullanacağınız API anahtarını almak için API Keys sayfanızı ziyaret edin.
API anahtarınızın gizli olduğunu unutmayın! Başkalarıyla paylaşmayın veya herhangi bir istemci tarafı kodda (tarayıcılar, uygulamalar) açığa çıkarmayın. Üretim istekleri, API anahtarınızın bir ortam değişkeninden veya anahtar yönetim hizmetinden güvenli bir şekilde yüklenebileceği kendi backend sunucunuz üzerinden yönlendirilmelidir.Bu API Anahtarı, bileşenin OpenAIOptions.ApiKey özelliğinde yapılandırılmalıdır. İsteğe bağlı olarak, birden çok organizasyona ait kullanıcılar için, hesabınız bir organizasyona aitse OpenAIOptions.Organization özelliğinde Organizasyonunuzu ayarlayabilirsiniz.
OpenAI Modelleri
API Anahtarı yapılandırıldıktan sonra, OpenAI API'si ile etkileşim kurmak için kullanılabilecek işlevlerin bir listesini aşağıda bulabilirsiniz.
ModelsAPI'de mevcut olan çeşitli modelleri listeleyin ve açıklayın.
- GetModels: Şu anda mevcut modelleri listeler ve her biri hakkında sahip ve kullanılabilirlik gibi temel bilgileri sağlar.
- GetModel: Bir model örneği alır; model hakkında sahip ve izin gibi temel bilgileri sağlar.
- Model: Bu istek için kullanılacak modelin kimliği
Completions
Bir prompt verildiğinde, model bir veya daha fazla öngörülen tamamlama döndürür ve her konumdaki alternatif token'ların olasılıklarını da döndürebilir.
- CreateCompletion: Sağlanan prompt ve parametreler için bir tamamlama oluşturur
- Model: Kullanılacak modelin kimliği. Mevcut tüm modellerinizi görmek için List models API'sini kullanabilir veya açıklamaları için Model genel bakışımıza bakabilirsiniz.
- Prompt: Tamamlamalar üretmek için kullanılan prompt.
Chat
Bir sohbet konuşması verildiğinde, model bir sohbet tamamlama yanıtı döndürür.
- Model: Kullanılacak modelin kimliği. Chat API tarafından desteklenen tüm modellerin bir listesini almak için GetModels'ı çağırın.
- Message: Sohbet tamamlamaları üretilecek mesaj.
- Role: varsayılan olarak user; diğer seçenekler: system, assistant.
Edits
Bir prompt ve bir talimat verildiğinde, model prompt'un düzenlenmiş bir sürümünü döndürür.
- CreateEdit: Sağlanan girdi, talimat ve parametreler için yeni bir düzenleme oluşturur.
- Model: Kullanılacak modelin kimliği. Bu uç nokta ile text-davinci-edit-001 veya code-davinci-edit-001 modelini kullanabilirsiniz.
- Instruction: Modele prompt'u nasıl düzenleyeceğini söyleyen talimat.
- Input: (isteğe bağlı) Düzenleme için başlangıç noktası olarak kullanılacak girdi metni.
Bir prompt ve/veya bir girdi görseli verildiğinde, model yeni bir görsel üretir.
- CreateImage: Bir prompt verildiğinde bir görsel oluşturur.
- Prompt: İstenen görsel(ler)in metin açıklaması. Maksimum uzunluk 1000 karakterdir.
- CreateImageEdit: Bir orijinal görsel ve bir prompt verildiğinde, düzenlenmiş veya genişletilmiş bir görsel oluşturur.
- Image: Düzenlenecek görsel. Geçerli bir PNG dosyası olmalı, 4MB'den küçük ve kare olmalıdır. Maske sağlanmazsa, görselin saydamlığa sahip olması gerekir; bu, maske olarak kullanılır.
- Prompt: İstenen görsel(ler)in metin açıklaması. Maksimum uzunluk 1000 karakterdir.
- CreateImageVariations: Belirli bir görselin bir varyasyonunu oluşturur.
- Image: Varyasyon(lar) için temel olarak kullanılacak görsel. Geçerli bir PNG dosyası olmalı, 4MB'den küçük ve kare olmalıdır.
Embeddings
Makine öğrenimi modelleri ve algoritmaları tarafından kolayca kullanılabilen, belirli bir girdinin vektör temsilini alın.
- CreateEmbeddings: Girdi metnini temsil eden bir embedding vektörü oluşturur.
- Model: Kullanılacak modelin kimliği.
- Input: embeddings alınacak girdi metni.
Audio
Sesi Metne dönüştürün.
- CreateTranscriptionFromFile: Bir dosya adından sesi girdi diline dökümler
- Model: Kullanılacak modelin kimliği. Şu anda yalnızca whisper-1 mevcuttur.
- Filename: Şu biçimlerden birinde dökümü yapılacak ses dosyası: mp3, mp4, mpeg, mpga, m4a, wav veya webm.
- CreateTranscription: X saniye boyunca ses kaydeder ve dökümünü yapar.
- Model: Kullanılacak modelin kimliği. Şu anda yalnızca whisper-1 mevcuttur.
- Time: milisaniye cinsinden süre, varsayılan olarak 10 saniye.
- CreateTranslationFromFile: Sesi İngilizceye çevirir.
- Model: Kullanılacak modelin kimliği. Şu anda yalnızca whisper-1 mevcuttur.
- Filename: Şu biçimlerden birinde çevrilecek ses dosyası: mp3, mp4, mpeg, mpga, m4a, wav veya webm.
- CreateTranslation: X saniye boyunca ses kaydeder ve çevirir.
- Model: Kullanılacak modelin kimliği. Şu anda yalnızca whisper-1 mevcuttur.
- Time: milisaniye cinsinden süre, varsayılan olarak 10 saniye.
Files
Dosyalar, Fine-tuning gibi özelliklerle kullanılabilecek belgeleri yüklemek için kullanılır.
- ListFiles: Kullanıcının organizasyonuna ait dosyaların bir listesini döndürür.
- UploadFile: Çeşitli uç noktalarda/özelliklerde kullanılacak belge(ler) içeren bir dosya yükleyin. Şu anda, bir organizasyon tarafından yüklenen tüm dosyaların boyutu 1 GB'ye kadar olabilir.
- Filename: Yüklenecek JSON Lines dosyasının adı. Amaç "fine-tune" olarak ayarlanırsa, her satır eğitim örneklerinizi temsil eden "prompt" ve "completion" alanlarına sahip bir JSON kaydıdır.
- Purpose: Yüklenen belgelerin amaçlanan kullanımı. Fine-tuning için "fine-tune" kullanın.
- DeleteFile: Bir dosyayı silin.
- FileId: Bu istek için kullanılacak dosyanın kimliği
- RetrieveFile: Belirli bir dosya hakkında bilgi döndürür.
- FileId: Bu istek için kullanılacak dosyanın kimliği
- RetrieveFileContent: Belirtilen dosyanın içeriğini döndürür
- FileId: Bu istek için kullanılacak dosyanın kimliği.
Fine-Tunes
Bir modeli kendi özel eğitim verilerinize göre uyarlamak için ince ayar işlerini yönetin.
- CreateFineTune: Belirli bir veri kümesinden belirtilen bir modeli ince ayar yapan bir iş oluşturur. Yanıt; iş durumu ve tamamlandığında ince ayar yapılmış modellerin adı dahil olmak üzere kuyruğa alınan işin ayrıntılarını içerir.
- TrainingFile: Eğitim verisi içeren, yüklenmiş bir dosyanın kimliği.
- ListFineTunes: Organizasyonunuzun ince ayar işlerini listeleyin
- RetrieveFineTune: İnce ayar işi hakkında bilgi alır.
- FineTuneId: İnce ayar işinin kimliği
- CancelFineTune: Bir ince ayar işini hemen iptal eder.
- FineTuneId: İnce ayar işinin kimliği
- ListFineTuneEvents: Bir ince ayar işi için ayrıntılı durum güncellemeleri alır.
- FineTuneId: İnce ayar işinin kimliği
- DeleteFineTuneModel: İnce ayar yapılmış bir modeli silin. Organizasyonunuzda Owner rolüne sahip olmalısınız.
- Model: Silinecek model.
Moderations
Bir girdi metni verildiğinde, modelin onu OpenAI'nin içerik politikasını ihlal ediyor olarak sınıflandırıp sınıflandırmadığını çıktılar.
- CreateModeration: Metnin OpenAI'nin İçerik Politikasını ihlal edip etmediğini sınıflandırır
- Input: Sınıflandırılacak girdi metni
OpenAI Örnekleri
OpenAI API'sini kullanarak Delphi'de oluşturulmuş bazı uygulama örneklerini aşağıda bulabilirsiniz
2. OpenAI Transcription Delphi Client
3. Translate OpenAI Delphi Client
4. Image Generator OpenAI Delphi Client
API'nin başlıca metotlarını gösteren, Delphi sgcWebSockets kitaplığı kullanılarak Windows için oluşturulmuş örnek bir OpenAI API istemcisini aşağıda bulabilirsiniz.
