Wstęp

  • Pisanie kodu w poleceniach nie ma sensu
    • W końcu możemy rozmawiać w naturalnym języku
    • To nie jest programowanie w języku naturalnym
  • Programowanie niech wykonują programiści
    • Nie komplikujmy życia zwykłym ludziom
    • Programiści powinni pisać kod tam, gdzie powinni
  • Kod w poleceniach prowadzi do problemów z debugowaniem
    • Nie ma sensu zwiększać obciążeń i stresu w procesie nauki dla zwykłych ludzi
    • Nie ma konieczności pisania kodu w poleceniach

1. Jakie są doświadczenia z pisaniem kodu w poleceniach

1.1 Przykład nieudanego polecenia, który pokazuje, że to zupełnie niepotrzebne

Polecenie i wynik

Jesteś generatorem fiszek do nauki słówek, który potrafi wykonywać kod. Na podstawie wprowadzonych przez użytkownika wartości: liczba wierszy, liczba kolumn, poziom klasy i data, tworzysz fiszkę. Wykorzystaj poniższy kod do wykonania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pandas as pd
from datetime import datetime

def create_word_review_card(rows, cols, grade_level, date):
"""
Tworzy tabelę fiszek do nauki słówek, ale należy pamiętać, że wykonanie tej funkcji w środowisku nieprofesjonalnym może prowadzić do nieoczekiwanych błędów.

Parametry:
rows (int): Liczba wierszy w tabeli, co decyduje o liczbie słówek na fiszkach.
cols (int): Liczba kolumn w tabeli, co również decyduje o liczbie słówek na fiszkach.
grade_level (str): Poziom klasy, co decyduje o trudności słówek.
date (datetime): Bieżąca data, która zostanie wyświetlona na dole tabeli.

Zwraca:
DataFrame: Tabela z słówkami w formacie Pandas DataFrame.
"""
def fetch_words(n, grade_level):
words = [f"{grade_level}_word_{i}" for i in range(n)]
return words

total_words = rows * cols
words = fetch_words(total_words, grade_level)

word_matrix = [words[i * cols:(i + 1) * cols] for i in range(rows)]
df = pd.DataFrame(word_matrix)

try:
print(df.to_string(index=False, header=False))
print(f"Data: {date.strftime('%Y-%m-%d')}")
except Exception as e:
print("Wystąpił błąd:", e)

# Przykład użycia, pokazujący, jak wywołać funkcję oraz ostrzeżenie o możliwych problemach
try:
create_word_review_card(3, 4, 'szkoła podstawowa', datetime.now())
except Exception as error:
print("Podczas próby uruchomienia kodu wystąpił błąd, co sugeruje, że bezpośrednie uruchamianie złożonego kodu Python w nieedytorze kodu może nie być najlepszą praktyką. Szczegóły błędu:", error)

Gdy zaczynasz, czekasz na dane od użytkownika, a następnie wykorzystujesz swój kod, aby stworzyć wykres.

Wynik, oczywiście, wykonano kod

Wykonano kod

Oto jego kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pandas as pd
from datetime import datetime

def create_word_review_card(rows, cols, grade_level, date):
"""
Tworzy tabelę fiszek do nauki słówek

Parametry:
rows (int): Liczba wierszy w tabeli, co decyduje o liczbie słówek na fiszkach.
cols (int): Liczba kolumn w tabeli, co również decyduje o liczbie słówek na fiszkach.
grade_level (str): Poziom klasy, co decyduje o trudności słówek.
date (datetime): Bieżąca data, która zostanie wyświetlona na dole tabeli.

Zwraca:
DataFrame: Tabela z słówkami w formacie Pandas DataFrame.
"""
def fetch_words(n, grade_level):
words = [f"{grade_level}_word_{i}" for i in range(n)]
return words

total_words = rows * cols
words = fetch_words(total_words, grade_level)

word_matrix = [words[i * cols:(i + 1) * cols] for i in range(rows)]
df = pd.DataFrame(word_matrix)

print(df.to_string(index=False, header=False))
print(f"Data: {date.strftime('%Y-%m-%d')}")

# Wywołanie funkcji z obsługą potencjalnych wyjątków
try:
create_word_review_card(3, 4, 'szkoła podstawowa', datetime.strptime('2024-03-12', '%Y-%m-%d'))
except Exception as error:
print("Podczas próby uruchomienia kodu wystąpił błąd, szczegóły błędu:", error)

Z tego nieudanego przypadku wyciągamy kilka wniosków:

  • Aby osiągnąć efekty typowe dla klasycznych języków programowania, wysiłek jest ogromny.
  • Debugowanie i modyfikacja kodu są bardzo kłopotliwe i skomplikowane.
  • Naprawdę trudno dostrzec sens w osadzaniu kodu w poleceniach.

W tym momencie ktoś powie: to dlatego, że twoje umiejętności programowania są przeciętne…
Tak, przyznaję, że moje zdolności kodowania są dość przeciętne.
Ale chwileczkę, jeśli AI wymaga tak wiele od umiejętności programowania, to czy nadal mamy do czynienia z AIGC?

Przyjrzyjmy się prostemu użyciu zmiennych, aby zobaczyć, do czego to prowadzi.

1.2 Jak wyglądają osadzone pseudokody

Polecenie i wynik

1
"Na podstawie moich zainteresowań {interests}, budżetu {budget}, czasu podróży {travel_duration} i liczby towarzyszy {number_of_companions}, pomóż mi zaplanować wyjazd." "Zainteresowania obejmują, ale nie ograniczają się do {list_of_interests}." "Zakres budżetu wynosi {budget_range}." "Planowany czas podróży wynosi {length_of_trip} dni." "Podróżuję z {number_of_people} osobami, których zainteresowania i przedziały wiekowe to {ages_and_interests}." "Proszę o szczegółowe sugestie dotyczące codziennych zajęć, w tym rekomendacji dotyczących posiłków {meal_preferences} i miejsc noclegowych {accommodation_preferences}."

Zmienna i szablon

Choć ten przykład nie jest idealny, bardziej przypomina szablon z zmiennymi. To pokazuje, że w określonych sytuacjach ta metoda może być skuteczna. Podobne przypadki obejmują: gdy zapotrzebowanie na bardziej skomplikowane polecenie, można dodać więcej punktów decyzyjnych i zmiennych, co sprawia, że proces interakcji staje się bardziej szczegółowy i wielowątkowy. Poniżej przedstawiamy złożone wersje dla różnych scenariuszy:

Scenariusz 1: Kompletny plan diety

Początkowe polecenie:

1
2
3
4
5
"Z uwagi na {dietary_restrictions}, muszę opracować plan diety na {number_of_days} dni w wariancie {meal_type}."
"Moje ograniczenia dietetyczne obejmują {specific_restrictions}."
"Każdego dnia potrzeba {meals_per_day} posiłków."
"Każdy posiłek nie może przekraczać {calories_per_meal} kalorii."
"Proszę o listę składników {ingredients_list}, kroki kulinarne {cooking_steps} i przewidywany czas przygotowania {cooking_time} dla każdego posiłku."

Scenariusz 2: Szczegółowa recenzja produktu technologicznego

Początkowe polecenie:

1
2
3
4
5
6
"Rozważam zakup {product_name}, proszę o dokładne informacje o jego funkcjach {detailed_features}, opinie użytkowników {detailed_reviews}, porównanie cen {price_comparison} i rekomendacje zakupu {purchase_advice}."
"Nazwa produktu to {specific_product_name}."
"Interesują mnie funkcje {list_of_features}."
"Proszę o co najmniej trzy szczegółowe oceny użytkowników {user_reviews}."
"Proszę porównać ten produkt z innymi podobnymi produktami na rynku pod względem ceny {comparison_with_other_products}."
"Na podstawie moich potrzeb {my_requirements}, czy poleciłbyś kupić ten produkt?"

Scenariusz 3: Szczegółowy plan zasobów edukacyjnych

Początkowe polecenie:

1
2
3
4
5
"Chcę nauczyć się {subject}, proszę o rekomendacje odpowiednich zasobów edukacyjnych w oparciu o mój styl uczenia się {learning_style} i dostępny czas {available_time}."
"Temat nauki to {specific_subject}."
"Preferuję metody nauki {preferred_learning_methods}."
"Każdego tygodnia mogę poświęcić {hours_per_week} godzin na naukę."
"Z uwagi na te warunki, proszę o rekomendację odpowiednich kursów online {online_courses}, książek {books}, samouczków wideo {video_tutorials} lub innych zasobów {other_resources}."

Scenariusz 4: Szczegółowa ścieżka zmiany kariery

Początkowe polecenie:

1
2
3
4
5
6
"Moim obecnym zawodem jest {current_job}, a interesuje mnie branża {industry_interest}."
"Moja obecna rola to {specific_current_job}."
"Interesuje mnie branża {specific_industry_interest}."
"Chciałbym się dowiedzieć, jak przejść z obecnego zawodu do interesującej mnie branży, w tym niezbędnych umiejętności {necessary_skills}, możliwych stanowisk {potential_positions} oraz oczekiwanego wynagrodzenia {expected_salary}."
"Proszę o szczegółowe informacje na temat tła branżowego {industry_background}, ścieżki rozwoju kariery {career_pathway} i możliwych wyzwań {potential_challenges}."
"Na podstawie mojego doświadczenia zawodowego {my_work_experience} i wykształcenia {my_educational_background}, proszę o rekomendacje dotyczące odpowiednich kursów lub certyfikacji {recommended_courses_or_certifications}."

Zobaczmy teraz, jak wygląda prosta logika.

1.3 Pseudokod/naturalny język z odrobiną logiki

Polecenie i wynik

1
2
3
4
5
6
7
Wejście: n
Inicjalizacja: factorial = 1

Dla i od 1 do n zrób:
factorial = factorial * i

Wyjście: factorial

gpt fakultet

Wygląda na to, że to dość proste, co jeśli zrobimy coś bardziej skomplikowanego?

1
2
3
4
5
6
7
8
9
10
11
12
13
Wejście: posortowana tablica A, znana wartość val
Ustaw low = 0, high = length(A) - 1

Dopóki low <= high wykonaj:
mid = (low + high) / 2
Jeśli A[mid] < val:
low = mid + 1
W przeciwnym razie, jeśli A[mid] > val:
high = mid - 1
W przeciwnym razie:
Wyjście: mid
Wyjdź
Wyjście: -1 // jeśli nie znaleziono

algorytm sortowania

Nie powiedziałem mu, że szukam 99. Sam to znalazł…

Powyższe przykłady są mocno naukowe i nie mają wiele wspólnego z codziennym życiem większości ludzi.

Zostało to zrealizowane przez ChatGPT 3.5, czy naprawdę obliczył? To pozostaje do dyskusji, ale to nie przeszkadza nam w dalszym badaniu. Biorąc pod uwagę, że większość ludzi nie potrzebuje wnikać w skomplikowane i zmieniające się języki programowania, nie warto się tym przejmować. Kluczowym problemem jest to, że powyższy naturalny język i pseudokod są dla nas nieprzejrzyste. Gdy polecenia stają się bardziej złożone, wprowadzenie ich do środowiska produkcyjnego może stać się kłopotliwe:

  • Wyniki niekontrolowane
    • W powyższym przykładzie już pojawił się problem halucynacji
  • Proces niekontrolowany
    • Jak 8000 linii kodu SQL
    • Po każdym upgrade systemu nikt nie śmie tknąć kodu

Największym materiałem tekstowym jest https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor

2. Co to jest programowanie w języku naturalnym?

Po wprowadzeniu poleceń, pod wpływem firmy OpenAI i innych producentów dużych modeli, prasa stała się głośna, inspiracja do artykułów przyszła! Polecenia zostały błędnie zinterpretowane jako nowy język programowania, jakby opanowanie go pozwalało kierować armią! Mamy armię AIGC, malowanie, pisanie, kręcenie filmów, wszystko w prosty sposób! Tak łatwe!!
Jedyny problem:

  • Na razie jeszcze nie wiem jak to robić
  • Ale wierzę, że to musi być proste.
  • Ale aktualnie nadal nie umiem tego zrobić.

Czym więc jest programowanie w języku naturalnym, co Huang Renxun miał na myśli mówiąc, aby nie uczyć się programowania?

Właściwie pytanie sięga bardzo dawno temu…

Nie będziemy zbytnio cofać się, w skrócie, chcemy, aby komputery pomagały rozwiązywać problemy, ale odkryliśmy, że to wcale nie jest proste, więc niektórzy naukowcy zaczęli zajmować się obliczeniami, powoli gromadząc metody i narzędzia do rozwiązywania problemów.

Naukowcy odkryli, że pewne zjawiska naturalne można przedstawić jako problemy matematyczne. Na przykład problem z kurami i królikami można rozwiązać za pomocą równań.

Powoli, z czasem matematycy zaczęli coraz bardziej abstrahować problemy, używając coraz więcej narzędzi matematycznych, co zbyt mocno wyprzedza umiejętności rachunkowe, więc pojawiły się komputery i języki programowania. Większość z nas uczy się języków programowania w tym procesie, ucząc się typów danych, instrukcji if/else, pętli for itd.

To są metody, które komputery stosują do rozwiązywania problemów, abstrahując i upraszczając dane, jednocześnie ograniczając problemy. Korzyści są oczywiste, nasze problemy się koncentrują, a metody ich rozwiązania również. Problemy są oczywiste - niektóre problemy nie dają się łatwo skupić, co wymaga ich rozproszenia.

Dlatego niektórzy zaczęli się zastanawiać, czy można pominąć naukę języka programowania. Na obecnym etapie, w miarę jak złożoność problemów rośnie, nie wydaje się lepsze niż programowanie! Na przykład nie znam programu Photoshop, umiem jedynie korzystać z Paint, ale jeśli naprawdę muszę przetworzyć skomplikowany obraz, w końcu lepiej byłoby uczyć się Photoshopa! Paradoks problemu polega na tym, że poprzez programowanie w języku naturalnym, jak ocenić wyniki? Jak mogę ocenić, że nie mówi bzdur?

Wszyscy wiemy, że jest powiedzenie, które mówi, że duże modele językowe grają w grę w słowne łączenie. Tak więc

1
1+1=2

nie jest wynikiem jego obliczeń, lecz wynika z materiału, na którym był szkolony. Aby poprawić ten problem, OpenAI w zeszłym roku wprowadził Interpretor kodu, dając nam, którzy nie znamy się na programowaniu, pewne nadzieje.

3. Co potrafi Interpretor kodu?

Mówiąc prosto, można to zrozumieć jako dodanie do istniejących modeli dużych możliwości uruchamiania środowiska piaskownicy w Pythonie, które rozumie intencje kontekstowe, generuje kod, wykonuje go, a następnie podsumowuje wyniki.

Możemy to rozumieć jako poproszenie kogoś o wykonanie danej funkcji, przedając mu wymagania, aby to zrobił. Nieco bardziej skomplikowane zasady będą opisane na końcu. Można powiedzieć, że to, co potrafi Python, on też potrafi. Przyjrzyjmy się typowym zastosowaniom.

Poniższe 4 scenariusze mają swoje profesjonalne narzędzia, ale dają tym scenariuszom nowe możliwości. Podobnie jak w początkach rozwoju Internetu mobilnego, było wiele kontrowersji, które powoli znalazły równowagę, eliminując potrzebę korzystania z bardziej specjalistycznych narzędzi.

Czasami, patrząc na jego działanie, gdy próbuje 10 razy, a na końcu zawodowo, to intruguje. Ostatnio chciałem, aby przeanalizował podsumowanie TickTick, nieudolnie próbował to zrobić ponad 10 razy.
Analiza nieudana

Ogólnie rzecz biorąc, użycie go do badania jest bardzo odpowiednie.

Jak go aktywować? W GPTs jest opcja, zaznaczając ją, GPTs zyskują tę możliwość. W dialogach GPT4, w moim przypadku, mówię mu, aby używał swoich możliwości Pythona lub powiedzieć, że ma zdolność wykonywania kodu, a następnie rozmawiamy:
Diagram Słoneczny

Wykres kołowy

Z powyższej interakcji widać, że cały proces jest nadal bardzo prosty.

3.1 Analiza danych i wizualizacja

W tej metodzie można nawet na początku nie omawiać wymagań, wystarczy wrzucić plik CSV lub Excel, a on sam przeprowadzi analizę, sam stwierdzając odpowiednie wykresy. Jeśli nie jesteśmy zadowoleni, możemy to dalej omówić.

W nowoczesnych firmach i środowiskach badawczych, analiza danych i wizualizacja są kluczowymi narzędziami do zrozumienia trendów i wzorców danych. Wtyczka interpretera kodu ChatGPT znacznie upraszcza ten proces, wspierając potężne biblioteki nauki o danych, takie jak pandas i matplotlib. Użytkownicy mogą bezpośrednio za pomocą naturalnego języka poczuć, jak ChatGPT wykonuje operacje na danych i generuje wykresy, co czyni analizę danych bardziej bezpośrednią i przyjazną dla użytkownika.

Na przykład analityk rynku może potrzebować przeanalizować dane sprzedaży produktów i pokazać wyniki sprzedaży w różnych regionach. Dzięki interpreterowi kodu mogą w prosty sposób wskazać ChatGPT, aby odczytał plik CSV zawierający dane sprzedaży, użył biblioteki pandas do obliczenia całkowych sprzedaży w każdym regionie, a następnie użył matplotlib do wygenerowania wykresu słupkowego. Cały proces nie wymaga pisania skomplikowanego kodu, tylko prostego opisu zadania analizy danych i wymagań wizualizacji.

Co więcej, potężne możliwości interpretera kodu sprawiają, że analiza szeregów czasowych, modelowanie prognoz i złożone testy statystyczne są znacznie łatwiejsze. Na przykład naukowiec zajmujący się ekologią może chciałby analizować dane dotyczące zmian temperatury w ciągu ostatnich dziesięciu lat. Dzięki interpreterowi kodu mogą załadować zestaw danych, zastosować model wygładzania lub regresji, a szybko wygenerować wykresy ilustrujące te trendy.

Analiza danych i wizualizacja

Co się tyczy wykresów, codzienna analiza w Excelu jest już dość wszechstronna. Istnieje wiele narzędzi profesjonalnych, które ChatGPT oferuje zwykłym ludziom, a jego perspektywa analizy i interpretacji może nam dostarczyć inspiracji. Na przykład

analiza gdp

Pojawia się jeden problem, jeśli wykresy są w chińskim, mogą nie być wyświetlane, muszę przesłać plik czcionki. Dotychczas nie zostało to rozwiązane.

3.2 Elastyczność konwersji plików

Obecnie ta metoda może być nieco problematyczna, ale można próbować. Moje próby polegały na konwersji mp4 na mp3, ale można by powiedzieć, że nie ma w tym wielkiego sensu, ot, po prostu warto spróbować. Podobnie jak w przypadku usuwania tła z obrazów.

Konwersja formatów plików to częsta potrzeba w wielu specjalistycznych dziedzinach, szczególnie przy przetwarzaniu dużej ilości tekstów i plików multimedialnych. Interpretor kodu uprościł proces konwersji plików, co przyniosło ogromne udogodnienia. Bez względu na to, czy chodzi o badania naukowe, projektowanie inżynierskie, czy codzienne operacje biznesowe, możliwość szybkiego i dokładnego przekształcania plików między różnymi formatami jest kluczowa dla zwiększenia efektywności.

Dzięki integracji takiej jak biblioteka pandas w Pythonie, interpreter kodu może łatwo przekształcać pliki, na przykład z CSV do Excel, i odwrotnie. To ogromna wygoda dla użytkowników, którzy potrzebują przenosić i wykorzystywać dane między różnymi platformami oprogramowania. Na przykład analityk finansowy może potrzebować przekształcić raporty finansowe z Excela do formatu CSV w celu dalszego przetwarzania. Dzięki interpreterowi kodu to zadanie można wykonać za pomocą prostych poleceń.

Dla przetwarzania obrazów, interpreter kodu może wykorzystać bibliotekę Python PIL (Pillow) do realizacji konwersji między różnymi formatami obrazów, na przykład z JPEG do PNG. Jest to szczególnie ważne w edycji obrazów, projektowaniu stron internetowych i branży druku. Projektanci czy fotografowie mogą szybko dostosować formaty obrazów do różnych wymagań wydruków dzięki interpreterowi kodu.

Podsumowując, zastosowanie interpretera kodu jest szerokie i wyjątkowo funkcjonalne, od prostych konwersji formatów plików po złożoną analizę danych i wizualizację, co ukazuje jego użyteczność i innowacyjność jako nowoczesnego narzędzia. Funkcje te nie tylko zwiększają efektywność pracy, ale także umożliwiają nietechnicznym użytkownikom łatwiejsze wykonywanie zadań, które normalnie wymagałyby wiedzy fachowej. W miarę rozwoju technologii i ciągłego poszerzania potrzeb użytkowników, możemy się spodziewać, że interpreter kodu zyska jeszcze większą wartość w kolejnych dziedzinach.

3.3 Rozwój oprogramowania i prototypowanie

Interpretor kodu wprowadza rewolucyjne narzędzie dla rozwoju oprogramowania i prototypowania, pozwalając programistom na szybkie iterowanie i testowanie fragmentów kodu. Dzięki natychmiastowemu feedbackowi i środowisku wykonawczemu, interpretor umożliwia programistom weryfikację algorytmów i funkcji w czasie rzeczywistym, co znacząco skraca czas rozwoju i zwiększa efektywność. Jest to szczególnie przydatne na wczesnym etapie rozwoju, gdy należy zweryfikować koncepcje lub spróbować nowych pomysłów, aby natychmiast uzyskać wyniki i uniknąć czekania na czas kompilacji i uruchomienia.

Na przykład programista może używać interpretera kodu do szybkiego stworzenia prototypu skryptu do skanowania stron internetowych, przetestować różne strategie parsowania lub zweryfikować, czy proces integracji danych spełnia oczekiwania. Przy użyciu prostych komend, interpretor kodu jest w stanie natychmiast uruchomić skrypt, wyświetlić wynik i dostarczyć informacji debugujących, co pozwala programiście od razu zidentyfikować problemy i je skorygować.

  1. Ładowanie treści strony: użycie biblioteki requests do pobrania zawartości HTML z docelowej strony.
  2. Parsowanie HTML: wykorzystanie bibliotek, takich jak BeautifulSoup, do parsowania HTML i wyodrębnienia potrzebnych danych.
  3. Przetwarzanie danych: oczyszczenie i formatowanie wyodrębnionych danych do dalszej analizy lub przechowywania.
  4. Prezentacja wyników: wydrukowanie lub wizualizacja danych w celu zweryfikowania dokładności wyników skanowania.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import requests

def get_weather_info(location, date):
# Wykonaj wywołanie API, aby uzyskać informacje o pogodzie
response = requests.get(f"https://weather-api.com/data/{location}/{date}")

if response.status_code == 200:
# Przeanalizuj i zwróć dane o pogodzie
weather_data = response.json()
return weather_data
else:
return None

# Używanie interpretera kodu do testowania wywołań API
location = "Nowy Jork"
date = "2024-01-31"
weather_info = get_weather_info(location, date)
print("Informacje o pogodzie w Nowym Jorku na 2024-01-31:", weather_info)

W tym przypadku może wspierać nas w testowaniu i weryfikacji, co z kolei eliminuje potrzebę uruchamiania złożonych projektów z sInitialization itd. Oczywiście ostatecznie to będzie konieczne, ale z pewnością zaoszczędza nam to czas.

Wywołanie zewnętrznej funkcji generującej mapę

Ponadto, interpretor kodu posiada wsparcie dla wielu bibliotek i modułów, co oznacza, że programiści mogą korzystać z najnowszych narzędzi deweloperskich i cech języka, na przykład poprzez korzystanie z TensorFlow lub PyTorch do szybkiego prototypowania modeli uczenia maszynowego. To nie tylko przyspiesza tempo odkrywania nowych technologii, ale także zapewnia programistom bezpieczne środowisko eksperymentalne, w którym mogą próbować i uczyć się o nowych narzędziach, nie martwiąc się o uszkodzenie istniejącej konfiguracji.

3.4 Rozwiązywanie złożonych problemów matematycznych

Interpretor kodu jest nie tylko potężnym narzędziem dla programowania i rozwoju oprogramowania, ale także skutecznym asystentem w rozwiązywaniu złożonych problemów matematycznych. Dzięki integracji bibliotek obliczeniowych takich jak Numpy i Scipy, interpretor jest w stanie przeprowadzać różnorodne operacje matematyczne, od podstawowych obliczeń arytmetycznych po złożone modele matematyczne i analizy statystyczne.

W dziedzinie badań naukowych i inżynierii, badacze i inżynierowie często potrzebują przeprowadzać złożoną obróbkę matematyczną na dużych zbiorach danych, obejmującą m.in. operacje na algebrze liniowej, transformacje Fouriera, analizy statystyczne. Interpretor kodu jest w stanie szybko wykonać te operacje i dostarczyć czytelne wyniki, co pozwala użytkownikom od razu zobaczyć, czy ich obliczenia są poprawne, lub dostrzec trendy i wzorce w danych.

Na przykład naukowiec zajmujący się środowiskiem bada skutki zmian klimatu na temperatury regionalne. Dzięki interpreterowi kodu mogą załadować dane o temperaturze z przeszłości, zastosować modele statystyczne w celu analizy zmian temperatury i wizualizować wyniki w formie wykresów. Taki natychmiastowy feedback i potężne możliwości obliczeniowe sprawiają, że badacze mogą bardziej skoncentrować się na analizie i interpretacji danych, a nie na samej obróbce danych.
Wykres trendów

Powierzchnia 3D Fraktale
Wykres powierzchni 3D Zbiór Mandelbrota

Powyższe scenariusze mają już w rzeczywistości dojrzałe rozwiązania,

4. Analiza zasad działania interpretera kodu

Pytam

1
Wykorzystując zdolności Pythona, powiedz mi, jakie jest pełne informacje o systemie Linux w piaskownicy oraz jaką wersję Pythona używasz. Wybierz jeszcze 2 polecenia, aby uzyskać bardziej szczegółowe informacje, które to polecenia to: uname -a lsb_release -a

Odpówiada

W obecnym środowisku piaskownicy uzyskaliśmy następujące szczegółowe informacje dotyczące systemu i Pythona:

  1. Pełne informacje o wersji systemu Linux:

    • Linux-4.4.0-x86_64-with-glibc2.36
  2. Informacje o wersji Pythona:

    • 3.11.8 (main, Mar 12 2024, 11:41:52) [GCC 12.2.0]
  3. Wynik polecenia uname -a:

    • Linux 3dfa9ec0-11da-496f-831c-878f4773c1c6 4.4.0 #1 SMP Sun Jan 10 15:06:54 PST 2016 x86_64 GNU/Linux
    • Oznacza, że mamy do czynienia z wersją jądra Linux 4.4.0, zbudowaną w 2016 roku, korzystającą z architektury x86_64.
  4. Wynik polecenia lsb_release -a:

    • Distributor ID: Debian
      Description: Debian GNU/Linux 12 (bookworm)
      Release: 12
      Codename: bookworm
      
    • Oznacza, że obecny system operacyjny to Debian GNU/Linux, z numerem wersji 12 i kodową nazwą bookworm.

Z powyższego wniosek, że to środowisko piaskownicy do wykonywania Python ma jasno określone ograniczenia:

  • Brak dostępu do Internetu
    • Testy pokazują, że curl wydaje się dostępny
  • Czas na wykonanie polecenia wynosi 120 sekund
    • Gdy trwa to zbyt długo, po prostu przerywa
  • Brak dostępu do roota
    • To wpływa na niektóre instalacje oprogramowania
  • ![Możliwość uruchomienia przesłanych plików](https://cdn. iaiuse.com/img/2024/04/12/a78532fa23bafc05c678ea50c5391372.png)

Artykuł ma na celu pokazanie, że pisanie kodu w poleceniach jest niepotrzebne, można z powodzeniem skorzystać z tego rozwiązania.

5. Zakończenie: przyszłość interpretera kodu

Interpretor kodu, jako innowacyjne narzędzie, ukazuje swój potencjał zastosowania i praktyczną wartość w różnych dziedzinach. Od analizy danych, poprzez programowanie, aż po rozwiązania złożonych problemów matematycznych i szybkie prototypowanie, interpretor kodu nie tylko zwiększa efektywność pracy, ale również oferuje nigdy wcześniej niespotykaną elastyczność i szybkość w badaniach oraz rozwoju. Spoglądając w przyszłość, wraz z postępem technologii sztucznej inteligencji, możemy spodziewać się integracji interpretera kodu z bardziej zaawansowanymi funkcjami, takimi jak głębsza integracja uczenia maszynowego, automatyczne generowanie testów oraz współpraca w chmurze, co rozwinie zakres jego zastosowań oraz pogłębi jego wpływ na nowoczesną technologię.

Źródła: