Od sgcWebSockets 2023.3.0 API OpenAI jest w pełni obsługiwane.
API OpenAI można zastosować do praktycznie każdego zadania związanego z rozumieniem lub generowaniem języka naturalnego, kodu lub obrazów. OpenAI oferuje spektrum modeli o różnych poziomach mocy, odpowiednich do różnych zadań, a także możliwość fine-tuningu własnych niestandardowych modeli. Modele te mogą być używane do wszystkiego — od generowania treści po wyszukiwanie semantyczne i klasyfikację.
Uwierzytelnianie
API OpenAI używa kluczy API do uwierzytelniania. Odwiedź swoją stronę kluczy API, aby pobrać klucz API, którego użyjesz w żądaniach.
Pamiętaj, że twój klucz API jest tajny! Nie udostępniaj go innym ani nie ujawniaj w żadnym kodzie po stronie klienta (przeglądarki, aplikacje). Żądania produkcyjne muszą być kierowane przez własny serwer backendowy, w którym klucz API może być bezpiecznie ładowany ze zmiennej środowiskowej lub usługi zarządzania kluczami.Ten klucz API musi być skonfigurowany we właściwości OpenAIOptions.ApiKey komponentu. Opcjonalnie, dla użytkowników należących do wielu organizacji, możesz ustawić swoją organizację we właściwości OpenAIOptions.Organization, jeśli twoje konto należy do organizacji.
Modele OpenAI
Po skonfigurowaniu klucza API poniżej znajdziesz listę dostępnych funkcji do interakcji z API OpenAI.
ModelsLista i opis różnych modeli dostępnych w API.
- GetModels: Wyświetla aktualnie dostępne modele i podaje podstawowe informacje o każdym z nich, takie jak właściciel i dostępność.
- GetModel: Pobiera instancję modelu, podając podstawowe informacje o modelu, takie jak właściciel i uprawnienia.
- Model: Identyfikator modelu użytego w tym żądaniu
Completions
Na podstawie promptu model zwróci jedno lub więcej przewidywanych uzupełnień i może też zwracać prawdopodobieństwa alternatywnych tokenów na każdej pozycji.
- CreateCompletion: Tworzy uzupełnienie dla podanego promptu i parametrów.
- Model: Identyfikator modelu do użycia. Możesz użyć API listy modeli, aby zobaczyć wszystkie dostępne modele.
- Prompt: Prompt do generowania uzupełnień.
Chat
Na podstawie konwersacji czatu model zwróci odpowiedź uzupełnienia czatu.
- Model: Identyfikator modelu do użycia. Wywołaj GetModels, aby uzyskać listę wszystkich modeli obsługiwanych przez API czatu.
- Message: Wiadomość do generowania uzupełnień czatu.
- Role: domyślnie user; inne opcje to: system, assistant.
Edits
Na podstawie promptu i instrukcji model zwróci edytowaną wersję promptu.
- CreateEdit: Tworzy nową edycję dla podanego wejścia, instrukcji i parametrów.
- Model: Identyfikator modelu do użycia. Możesz użyć modelu text-davinci-edit-001 lub code-davinci-edit-001 z tym punktem końcowym.
- Instruction: Instrukcja mówiąca modelowi, jak edytować prompt.
- Input: (opcjonalnie) Tekst wejściowy używany jako punkt startowy edycji.
Na podstawie promptu i/lub obrazu wejściowego model wygeneruje nowy obraz.
- CreateImage: Tworzy obraz na podstawie promptu.
- Prompt: Opis tekstowy żądanego obrazu. Maksymalna długość to 1000 znaków.
- CreateImageEdit: Tworzy edytowany lub rozszerzony obraz na podstawie oryginału i promptu.
- Image: Obraz do edycji. Musi być prawidłowym plikiem PNG, mniejszym niż 4 MB i kwadratowym. Jeśli maska nie jest podana, obraz musi mieć przezroczystość, która zostanie użyta jako maska.
- Prompt: Opis tekstowy żądanego obrazu. Maksymalna długość to 1000 znaków.
- CreateImageVariations: Tworzy wariant podanego obrazu.
- Image: Obraz używany jako podstawa wariantów. Musi być prawidłowym plikiem PNG, mniejszym niż 4 MB i kwadratowym.
Embeddings
Uzyskaj wektorową reprezentację podanego wejścia, którą mogą łatwo wykorzystywać modele i algorytmy uczenia maszynowego.
- CreateEmbeddings: Tworzy wektor embeddingu reprezentujący tekst wejściowy.
- Model: Identyfikator modelu do użycia.
- Input: Tekst wejściowy do uzyskania embeddingów.
Audio
Zamień audio na tekst.
- CreateTranscriptionFromFile: Transkrybuje audio na język wejściowy z pliku.
- Model: Identyfikator modelu do użycia. Aktualnie dostępny tylko whisper-1.
- Filename: Plik audio do transkrypcji, w jednym z formatów: mp3, mp4, mpeg, mpga, m4a, wav lub webm.
- CreateTranscription: Nagrywa audio przez X sekund i transkrybuje je.
- Model: Identyfikator modelu do użycia. Aktualnie dostępny tylko whisper-1.
- Time: czas w milisekundach, domyślnie 10 sekund.
- CreateTranslationFromFile: Tłumaczy audio na angielski z pliku.
- Model: Identyfikator modelu do użycia. Aktualnie dostępny tylko whisper-1.
- Filename: Plik audio do tłumaczenia, w jednym z formatów: mp3, mp4, mpeg, mpga, m4a, wav lub webm.
- CreateTranslation: Nagrywa audio przez X sekund i tłumaczy je.
- Model: Identyfikator modelu do użycia. Aktualnie dostępny tylko whisper-1.
- Time: czas w milisekundach, domyślnie 10 sekund.
Files
Pliki służą do przesyłania dokumentów, które można używać z funkcjami takimi jak Fine-tuning.
- ListFiles: Zwraca listę plików należących do organizacji użytkownika.
- UploadFile: Przesyła plik zawierający dokumenty do użycia w różnych punktach końcowych. Aktualnie łączny rozmiar wszystkich plików przesłanych przez jedną organizację może wynosić do 1 GB.
- Filename: Nazwa pliku JSON Lines do przesłania. Jeśli cel to "fine-tune", każda linia jest rekordem JSON z polami "prompt" i "completion".
- Purpose: Przeznaczenie przesyłanych dokumentów. Użyj "fine-tune" dla Fine-tuningu.
- DeleteFile: Usuwa plik.
- FileId: Identyfikator pliku do użycia w tym żądaniu.
- RetrieveFile: Zwraca informacje o określonym pliku.
- FileId: Identyfikator pliku do użycia w tym żądaniu.
- RetrieveFileContent: Zwraca zawartość określonego pliku.
- FileId: Identyfikator pliku do użycia w tym żądaniu.
Fine-Tunes
Zarządzaj zadaniami fine-tuningu, aby dostosować model do konkretnych danych treningowych.
- CreateFineTune: Tworzy zadanie fine-tuningu określonego modelu na podstawie podanego zestawu danych. Odpowiedź zawiera szczegóły kolejkowanego zadania, w tym status i nazwę dostrojonych modeli po zakończeniu.
- TrainingFile: Identyfikator przesłanego pliku zawierającego dane treningowe.
- ListFineTunes: Wyświetla zadania fine-tuningu organizacji.
- RetrieveFineTune: Pobiera informacje o zadaniu fine-tuningu.
- FineTuneId: Identyfikator zadania fine-tuningu.
- CancelFineTune: Natychmiast anuluje zadanie fine-tuningu.
- FineTuneId: Identyfikator zadania fine-tuningu.
- ListFineTuneEvents: Pobiera szczegółowe aktualizacje statusu zadania fine-tuningu.
- FineTuneId: Identyfikator zadania fine-tuningu.
- DeleteFineTuneModel: Usuwa dostrojony model. Musisz mieć rolę właściciela w organizacji.
- Model: Model do usunięcia.
Moderations
Dla podanego tekstu wejściowego zwraca informację, czy model klasyfikuje go jako naruszający zasady treści OpenAI.
- CreateModeration: Klasyfikuje, czy tekst narusza zasady treści OpenAI.
- Input: Tekst wejściowy do klasyfikacji.
Przykłady OpenAI
Poniżej znajdziesz przykłady aplikacji zbudowanych w Delphi z użyciem API OpenAI.
2. OpenAI Transcription Delphi Client
3. Translate OpenAI Delphi Client
4. Image Generator OpenAI Delphi Client
Poniżej znajdziesz przykładowy klient API OpenAI zbudowany dla Windows z użyciem biblioteki sgcWebSockets dla Delphi, pokazujący główne metody API.
