DJ Fresh prezentuje FastQL – prototypuj i publikuj API GraphQL

by

Jeśli interesujesz się Drum and Bass lub UK Dance music, istnieje całkiem spora szansa, że słyszałeś o Dj Fresh albo przynajmniej słyszałeś jego hity na YouTube (gdzie ma prawie 240 milionów wyświetleń i niemal 400 tys. subskrybentów), w radiu czy w klubach. Jeśli zastanawiasz się, dlaczego o tym piszę tutaj (bo to przecież nie jest blog o muzyce), zdecydowanie powinieneś sprawdzić, nad czym ostatnio pracował autor przeboju Gold Dust.

2022 był przełomowym rokiem dla sztucznej inteligencji — AI-generowane obrazy z Midjourney czy Dall-E mini przez jakiś czas były prawdziwym hitem. Dzięki prostemu interfejsowi tekst-na-obraz, praktycznie każdy mógł się pobawić tą technologią. Choć przyznaję, że zabawa w generowanie obrazków z papieżem jadącym na dinozaurze była ciekawa, daleko większe możliwości otwierają się w profesjonalnych zastosowaniach. Jako copywriter, bardzo często potrzebuję zdjęć do blogpostów i treści na strony, i zwykle po prostu muszę czekać, aż grafik coś przygotuje. Słowo klucz: musiałem — bo tu właśnie na scenę wkracza FastQL.

FastQL

Dzięki FastQL możesz błyskawicznie prototypować i publikować GraphQL API wokół modeli, takich jak AI-generowane obrazy z Midjourney, Stable Diffusion, RunwayML (albo czymś mniej kontrowersyjnym, jak Huggingface Mitsua Diffusion, uczonym jedynie na publicznych i wolnych od praw autorskich danych). Brzmi świetnie już dla kogoś, kto nie programuje, ale zgodnie z nazwą — tu liczy się szybkość. Kluczowe są tutaj silnie typowane języki podnoszące wydajność:

  • GraphQL: umożliwia pobieranie danych jednym wywołaniem API, eliminuje over-fetching i zapewnia bezpieczeństwo typów.
  • Rust: to język niskopoziomowy skupiony na wydajności. Dlatego właśnie, pod maską, FastQL używa bardzo szybkiego serwera ActiX napisanego w Rust, co pozwala na czas odpowiedzi rzędu 20ms.

Przykład użycia

Jeszcze bardziej imponujące jest to, jak to faktycznie działa. Jedna linijka kodu opisująca schemat graphql prowadzi do automatycznego wygenerowania wydajnego API w Rust, do którego możesz zadawać zapytania poprzez przyjazny interfejs GraphQL Playground API albo przez bezpośrednie zapytanie GraphQL — bez konieczności pisania ani linijki kodu API. Wszystko, co musisz zrobić, to wywołać API prostym zapytaniem zawierającym opis tego, co chcesz uzyskać.

{
  Model(prompt: "blog post header image with a DJ") {
    images
  }
}

Po tym dostaniesz odpowiedź z linkiem do wygenerowanego obrazu, którego możesz użyć (w tym przypadku jako grafikę nagłówka do bloga). Oczywiście kod to tu sprawa drugorzędna — równie łatwo można zintegrować to API z wybranym cms (np. edytorem markdown) i umożliwić użytkownikom generowanie obrazów AI na poczekaniu.

Fine-tuning

Losowe obrazy AI są świetne w wielu przypadkach, ale z FastQL możesz je również spersonalizować za pomocą DreamBooth. W ten sposób możesz uzyskać na przykład swój własny portret na tle Tadż Mahal, na szczycie Mount Everest czy absolutnie dowolną wizję. Choć brzmi skomplikowanie, cały proces jest banalnie prosty. Najpierw przesyłasz 10-12 zdjęć (np. swoich) do folderu na Google Drive. Ustawiasz udostępnianie wszystkim posiadającym link i konfigurujesz narzędzie, podając mu ten link — wszystko przez proste zapytanie:

{
  Model(
    fine_tune_photo_description: "photos of michal"
    gdrive_folder_of_images_link: "https://drive.google.com/drive/folders/example"
  ) {
    images
  }
}

Po około pięciu minutach narzędzie jest gotowe generować spersonalizowane obrazy na podstawie tego samego typu opisu jak poprzednio:

{
  Model(prompt: "michal on top of Mount Everest") {
    images
  }
}

Jak widać, FastQL to świetne narzędzie upraszczające tworzenie API wokół modeli AI. Można je połączyć z dowolną aplikacją czy cms, umożliwiając korzystanie tam, gdzie najbardziej tego potrzebujesz — szybko i wydajnie (bez konieczności znajomości programowania). Wracając jeszcze do autora: DJ Fresh wciąż wypuszcza „hity” w 2023, choć tego rodzaju zupełnie odmienne, więc koniecznie go zaobserwuj na GitHubie i na YouTube.

Sprawdź repozytorium na GitHub lub przeczytaj o tym w artykule Dana na medium.

Ready to start?

Let's talk about your project.

Free consultation and quote within 48h. No strings attached.

Contact us