Prompt engineering
Eksploracja interpretera kodu ChatGPT OpenAI: Głębokie zagłębienie się w jego możliwości

Postępy OpenAI w dziedzinie przetwarzania języka naturalnego (NLP) są oznaczone przez rozwój dużych modeli językowych (LLM), które są podstawą produktów wykorzystywanych przez miliony osób, w tym asystenta programistycznego GitHub Copilot i wyszukiwarki Bing. Te modele, dzięki swojej unikalnej zdolności do zapamiętywania i łączenia informacji, ustanowiły niezrównane standardy w zadaniach takich jak generowanie kodu i tekstu.
Poznanie interpretera kodu ChatGPT
Aby zrozumieć znaczenie interpretera kodu ChatGPT, należy najpierw zrozumieć, czym on jest i jak został zbudowany.
W istocie, interpreter kodu ChatGPT wykorzystuje możliwości ChatGPT, ale wprowadza również zwiększoną zdolność do zrozumienia, interpretacji i nawet generowania kodu w różnych językach programowania. Ta funkcja przekształca ChatGPT z generatora tekstu w niezwykle cenny narzędzie dla programistów, ułatwiając zrozumienie kodu, debugowanie i nawet generowanie kodu.
Szkolenie GPT do programowania: podejście Codex
Oba GitHub Copilot i interpreter kodu ChatGPT wykorzystują model Codex opracowany przez OpenAI.
Codex, specjalizowany model językowy GPT, został zaprojektowany, aby mieć biegłość w pisaniu kodu Python. Szkolony na publicznie dostępnym kodzie z GitHub, Codex pokazuje swój potencjał, napędzając funkcje w GitHub Copilot. Podczas oceny jego zdolności do syntezy programów z docstringów, miary poprawności funkcjonalnej, Codex przewyższa zarówno GPT-3, jak i GPT-J.
Godne uwagi jest to, że wielokrotne próbkowanie zwiększa zdolność Codex. Kiedy wykorzystuje się do 100 próbek na problem, wskaźnik sukcesu modelu wzrasta do 70,2%. Taka wydajność sugeruje możliwość wykorzystania heurystycznego rankingu do wyboru dokładnych próbek kodu, bez konieczności pełnej oceny każdej.
W celu oceny jego możliwości model został poproszony o stworzenie samodzielnych funkcji Pythona wyłącznie na podstawie docstringów. Dokładność wygenerowanego kodu została następnie oceniona za pomocą testów jednostkowych. W zbiorze danych składającym się z 164 oryginalnych problemów programistycznych, w tym zrozumienia języka, algorytmów i podstawowych testów matematycznych, Codex z 12B parametrów rozwiązał 28,8% z nich w jednej próbie.
Poprzez dalsze doskonalenie modelu za pomocą dostrajania poprawnie zaimplementowanych samodzielnych funkcji, jego wydajność została zwiększona, w wyniku czego Codex-S rozwiązał 37,7% wyzwań w pierwszej próbie. Jednak w praktycznym świecie programowania powszechny jest podejście prób i błędów. Naśladując ten rzeczywisty scenariusz, model Codex-S, gdy miał 100 szans, pomyślnie rozwiązał 77,5% wyzwań.
Modele generatywne, takie jak ChatGPT, które produkują kod, są zwykle oceniane przez porównanie wygenerowanych próbek z rozwiązaniem referencyjnym. To porównanie może być dokładne lub wykorzystywać miarę podobieństwa, taką jak wynik BLEU. Jednak te metryki oparte na dopasowaniu często nie są w stanie uchwycić nuansów programowania. Kluczowa krytyka BLEU polega na jego niewydajności w uchwyceniu cech semantycznych kodu.
Zamiast polegać wyłącznie na dopasowaniu, zaproponowano bardziej odpowiednią miarę: poprawność funkcjonalna. Oznacza to, że kod wyprodukowany przez model powinien przejść określony zestaw testów jednostkowych. Pomysł jest zgodny ze standardowymi praktykami programistycznymi, ponieważ programiści często wykorzystują testy jednostkowe do oceny skuteczności i dokładności swojego kodu.
Ta metryka ocenia nie tylko dokładność, ale również funkcjonalną użyteczność wygenerowanego kodu.
Została wprowadzona metryka pass@k jako miara poprawności funkcjonalnej. Oznacza to, że jeśli którakolwiek z “k” wygenerowanych próbek kodu przejdzie testy jednostkowe, problem jest uważany za rozwiązany. Jednak zamiast wykorzystywać ją w jej bezpośredniej formie, wykorzystuje się niezależny estymator do obliczania pass@k, aby uniknąć wysokiej zmienności.
W celu oceny możliwości kodu ChatGPT wykorzystano zestaw danych HumanEval. Zestaw ten składa się z ręcznie napisanych problemów Pythona, każdy z testami jednostkowymi.
Ponieważ istnieją ryzyka związane z uruchamianiem nieznanych lub niezaufanych kodów, zaprojektowano środowisko piaskownicy do bezpiecznego testowania wygenerowanego kodu. To środowisko wykorzystywało gVisor do emulowania zasobów i tworzenia bariery między systemem hosta a uruchamianym kodem. W ten sposób, nawet jeśli model produkuje kod złośliwy, pozostaje on zawarty i nie może zaszkodzić systemowi hosta lub sieci.
Korzystanie z interpretera kodu ChatGPT
OpenAI’s ChatGPT przeszedł wiele ewolucji, a interpreter kodu wyróżnia się jako rewolucyjna funkcja w modelu GPT-4. W przeciwieństwie do tradycyjnych interfejsów czatu, interpreter kodu pozwala użytkownikom na głębsze zaangażowanie w zadania obliczeniowe, niezwykle łącząc granice między rozmowami człowiek-AI a procesami obliczeniowymi.
W swojej istocie, interpreter kodu jest podobny do posiadania komputera wbudowanego w czatbota. Ta dynamiczna funkcja oferuje użytkownikom tymczasową przestrzeń dyskową do uploadu różnych formatów plików, od typowych formatów takich jak TXT, PDF i JPEG do bardziej specjalistycznych, takich jak CPP, PY i SQLite. To wsparcie zwiększa jego wszechstronność w różnych zadaniach, od przetwarzania dokumentów po manipulację obrazami.
Działając w ramach bezpiecznej i solidnej struktury, interpreter kodu jest wyposażony w ponad 300 preinstalowanych bibliotek. To środowisko piaskownicy zapewnia bezpieczeństwo, jednocześnie zapewniając znaczną moc obliczeniową. Co ciekawe, gdy zostanie poproszony, tworzy skrypt Pythona w czasie rzeczywistym, aby wykonać żądanie użytkownika. Weźmy na przykład konwersję obrazu PDF na format przeszukiwalny za pomocą OCR; wystarczy, że użytkownik przesle dokument, a ChatGPT zajmie się resztą.
Punkt zainteresowania był limitem rozmiaru pliku dla uploadu. Chociaż ostateczne specyfikacje jeszcze nie zostały ogłoszone, eksperymenty użytkowników sugerują, że system może skutecznie przetwarzać pliki znacznie większe niż 100MB. Niezależnie od rozmiaru, istotne jest, aby zauważyć, że te pliki są przejściowe, a po zakończeniu sesji czatu są usuwane.
Genialność interpretera kodu nie tkwi tylko w jego technicznej biegłości, ale również w jego dostępności. OpenAI oferuje tę funkcję subskrybentom ChatGPT Plus, co pochodzi z modelem GPT-4. W ten sposób, ta przełomowa narzędzie nie jest tylko dla elity technicznej, ale stopniowo staje się dostępne dla szerszej publiczności.
Różnica między standardowym modelem ChatGPT a interpretem kodu leży w ich paradygmatach interakcji. Podczas gdy pierwszy głównie generuje odpowiedzi tekstowe, drugi rozumie i wykonuje kod, oferując bezpośrednie wyniki. To nie tylko czyni go cennym aktywem dla profesjonalistów technicznych, ale również upoważnia tych, którzy nie mają wiedzy programistycznej, do wykonywania złożonych zadań obliczeniowych.
Możliwości interpretera kodu ChatGPT mogą rewolucjonizować kilka aspektów rozwoju oprogramowania i nauki o danych:
- Automatyczna generacja kodu: Dla obu aplikacji oprogramowania i skryptów analitycznych danych, po podaniu opisu na wysokim poziomie, system może wygenerować szkielety kodu lub złożone fragmenty kodu, przyspieszając rozwój i procesy analityczne.
- Przeglądy kodu i walidacja danych: Narzędzia napędzane przez AI, takie jak ChatGPT, mogą pomóc w poprawie jakości i bezpieczeństwa baz kodu. Dodatkowo, w dziedzinie nauki o danych, takie narzędzia mogą być niezwykle przydatne w przeglądaniu i walidacji skryptów przetwarzania i transformacji danych, zapewniając dokładność i wydajność.
- Pomoc w analizie danych: Dla naukowców danych, interpreter kodu ChatGPT może pomóc w generowaniu kodu dla wstępnej eksploracji danych, wizualizacji i nawet podstawowych testów statystycznych, ułatwiając przepływ pracy analitycznej.
Jeśli jesteś zainteresowany, aby dowiedzieć się więcej o szczegółach ChatGPT i inżynierii promptów, Unite AI oferuje kompleksowy rozdział w ‘ChatGPT: Advanced Prompt Engineering‘.
Konfigurowanie interpretera kodu ChatGPT
Integracja interpretera kodu pozwala platformie interpretować zapytania użytkowników, wykonywać je jako kod Pythona i wyświetlać wyniki w interaktywnym formacie czatu. Aby uzyskać dostęp do tej funkcji, użytkownicy mogą nawigować do ChatGPT, przeglądać sekcję funkcji beta i aktywować interpreter kodu.
To, co je wyróżnia, to przejrzysty mechanizm. Podczas gdy użytkownicy proszą o zadanie, platforma ujawnia każdy krok procesu przetwarzania, oferując wyjaśnienie, w jaki sposób polecenia są interpretowane i wykonywane. Co ważne, z powodów bezpieczeństwa i prywatności, interpreter kodu działa bez połączenia z Internetem.
Eksploracja korzyści interpretera kodu ChatGPT
Wizualizacja danych i analiza
ChatGPT wykracza poza tradycyjne wykresy, oferując zarówno konwencjonalne, jak i innowacyjne reprezentacje graficzne. To zapewnia, że użytkownicy mogą wyświetlać swoje dane w formatach, które dostarczają najbardziej znaczące spostrzeżenia.
Jednak nie chodzi tylko o wizualizację surowych danych. Model ChatGPT jest zdolny do przetwarzania i rafinowania danych. Chociaż potężny, użytkownicy powinni zachować ostrożność.
Analitycy finansowi znajdą możliwość interpretera kodu do analizy i wizualizacji stawek akcji szczególnie przydatną. Za pomocą bezproblemowej integracji użytkownicy mogą przesłać zestawy danych i wizualizować je w różnych formatach. To funkcja jest istotna, gdy osoby mogą prowadzić złożone analizy danych.
Poniższy film pokazuje, jak interpreter kodu ChatGPT stworzył kompleksową analizę akcji TSLA.
Kluczowe spostrzeżenia:
- Akcje Tesli doświadczyły zmienności, ale również wykazały odporność z okresami wzrostu.
- Wysokie wolumeny obrotu w określone dni wskazują na znaczne zainteresowanie rynku lub reakcje na kluczowe wydarzenia.
- Spadek rocznej stopy zwrotu (YTD) sugeruje, że inwestorzy powinni analizować zarówno wewnętrzne czynniki firmy, jak i zewnętrzne warunki rynkowe przy rozważaniu przyszłych inwestycji.
Wdrażanie komputeryzacji i OCR
Wykrywanie twarzy, istotna funkcja w komputeryzacji, zostało podejściem klasycznym: klasyfikator Haar Cascade z OpenCV.
Poniższy obraz pokazuje wykorzystanie klasycznego klasyfikatora Haar Cascade.
Proces ekstrakcji tekstu z obrazów, znany jako optyczne rozpoznawanie znaków (OCR), został wykonany za pomocą Tesseract, a następnie zorganizowany przez GPT-4, co poprawiło zrozumiałość.
W poniższym filmie zobacz, jak Tesseract (OCR) wyodrębnia tekst z obrazu certyfikatu.
Interpreter kodu wyróżnia się w dziedzinie filmu, audio i manipulacji obrazem. Za pomocą prostych poleceń użytkownicy mogą osiągnąć szczegółowe edycje, takie jak konwersja GIFów do MP4 z określonymi ulepszeniami. Wystarczy przesłać plik, wprowadzić pożądane modyfikacje, a następnie obserwować, jak się to dzieje.
Biblioteka zewnętrzna Pythona w interpreterze kodu ChatGPT
Interpreter kodu ChatGPT to dynamiczna platforma programistyczna wyposażona w obszerny zestaw bibliotek Pythona. Te biblioteki obejmują wszystko, od wizualizacji danych za pomocą Seaborn do zaawansowanego uczenia maszynowego za pomocą Torch. Ale to więcej niż tylko statyczne narzędzie.
Zainspirowany tym stroną ChatGPT od Korakot Chaovavanich.
Rozpoczynając od najnowszej wersji nltk, przesłaliśmy plik .whl do interpretera. Następnie poprosiliśmy ChatGPT, aby znalazł odpowiedni katalog site-packages, analizując lokalizację istniejącego pakietu. Następnym krokiem było rozpakowanie pliku whl do tymczasowej lokalizacji, a następnie przeniesienie plików do zidentyfikowanego katalogu site-packages. Jednak to spotkało się z przeszkodą.
W poszukiwaniu obejścia, poprosiliśmy: “Upewnij się, że NLTK zostanie zainstalowany w środowisku Pythona i jest dostępny po instalacji.”
ChatGPT odpowiedział, dostarczając rozwiązanie. Zaproponował dodanie katalogu tymczasowego do sys.path, co pozwoliło Pythonowi zidentyfikować i pobrać moduły z rozpakowanego pakietu nltk w tej lokalizacji. To podejście zadziałało cuda, prowadząc do pomyślnej instalacji NLTK.
Poprzez wykorzystanie plików .whl, instalacja wykazała połączenie pomysłowości i adaptacji. Interpreter kodu ChatGPT, pomimo początkowych wyzwań, zademonstrował swoją wszechstronność i zaangażowanie w zaspokajanie potrzeb programistów, zapewniając zarówno początkującym, jak i doświadczonym programistom ulepszonych doświadczeń programistycznych.
W fascynującym pokazie możliwości interpretera, niedawny tweet @DominikPeters podkreślił unikalną demonstrację. Peters poprosił GPT-4 o wygenerowanie quizu na temat paryskich dzielnic, a model dostarczył funkcjonalną stronę internetową. Działający quiz jest dostępny do samodzielnego doświadczenia na dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Podsumowanie
Przełom OpenAI z interpretem kodu ChatGPT jest niczym innym jak przełomowym dla programistów i nie-programistów. Jego wszechstronność w radzeniu sobie z szerokim zakresem zadań – od pomocy programistom w debugowaniu po tworzenie paryskich quizów – jest świadectwem nieograniczonego potencjału AI w udoskonalaniu naszych doświadczeń cyfrowych. Oto destylowany esencja naszego głębokiego zanurzenia:
Zrozum swoje narzędzie: Podobnie jak poznajesz nowego kolegę, poznaj interpreter kodu. Został on opracowany na podstawie Codex, który jest dostrajany z GPT-4. Jego biegłość rozciąga się na wiele języków programowania, czyniąc go idealnym towarzyszem dla wszystkich twoich przygód programistycznych.
Przyjmij rewolucję AI: Tradycyjne praktyki programistyczne są na progu przełomu. Z narzędziami napędzanymi przez AI, takimi jak interpreter kodu ChatGPT, zadania takie jak identyfikacja błędów, generowanie kodu i nawet przeglądy kodu mogą być przyspieszone.
Poza kod: Wkroczenie interpretera nie jest ograniczone do tekstu lub kodu. Jego zdolność do radzenia sobie z różnymi formatami plików, od prostych plików TXT do złożonych skryptów PY, podkreśla jego użyteczność w różnych dziedzinach.
Nie przestawaj eksperymentować: Nasze doświadczenie z instalacją biblioteki NLTK odzwierciedla wagę wytrwałości i adaptacji, wartości, które interpreter kodu uosabia. Jeśli występuje przeszkoda, zwykle istnieje sposób, aby ją ominąć.
Dołącz do rozmowy AI: Zastosowania w świecie rzeczywistym, jak pokazany paryski quiz, podkreślają ogromne zastosowanie praktyczne narzędzia. Przyjmij je, eksploruj je i pozwól, aby wzmocniło twoje projekty.
Powyższy film został stworzony za pomocą Gen-2 i Midjourney.
Podsumowując, interpreter kodu ChatGPT to więcej niż tylko narzędzie; zmienia sposób, w jaki łączymy się z technologią. Dla innowatorów i entuzjastów obiecuje świat pełen potencjału programistycznego.






















