본문 바로가기
STUDY

ChatGPT 로 코딩시켜보기

by PsychoFLOOD 2022. 12. 20.
728x90

일론머스크는 참 돈되는 기업에 잘 투자하는 듯...?

최근에 핫한? AI 관련 주제중에 ChatGPT 라는 GPT 3.5 기반의 대화기반 AI 솔루션?이 있어서 한번 시도해보았다.

나무위키 설명은 아래와 같은데... 좀 부실하다. ㅎㅎ

학습에 사용된 매개변수만도 무려 1700억개를 넘는것을 사전에 학습했다고 한다.

https://namu.wiki/w/ChatGPT

 

ChatGPT - 나무위키

답변이 마음에 들지 않으면 Try Again 버튼으로 다른 답변을 요청할 수 있으며, 현재 답에 대해 긍정 또는 부정으로 평가할 수 있다. 가능한 한 답변을 제공하려고 노력하나, 정치 색이 들어간 답변

namu.wiki

https://namu.wiki/w/GPT-3

 

GPT-3 - 나무위키

자연어를 이해하도록 프로그래밍 돼있어 대단함이 감춰졌지만 파이썬도 이해 할 줄 안다. 이는 코딩이 가능하다는 것으로 실제로 codex라는 인공지능이 존재한다. 따라서 API를 커스터마이징을

namu.wiki

하기 사이트에 방문하여 가입을 하면 현재 시험적으로 서비스를 하고 있는듯 보인다.

https://chat.openai.com

자연어 기반으로 나름 대단한? 인식능력을 보이는  듯 싶다. 단순한 질문에 대해서는 아래와 같이 기가막히게? 대답을 해준다. 물론 영어로 질문하면 답변이 훨씬 빠르며 한글로 입력시에는 조금 더 느려진다.

c언어에 대해 설명해봐 하니 저렇게 장황하게 긴 문장을 내어놓았다.

이전 답변을 번역해줘 라고 해도 아래와 같이 잘 번역해서 보여준다.

단.. 가끔 답변이 짤려서 나올때가 종종 있는듯 싶다.

최근에 지식인에서 답변을 달았던 c 코딩 문제가 있는데 조건은 아래와 같다.

"1~100까지의 임의의수를 무작위로 생성하여 99가 나올때까지의 모든 결과를 합산한 결과를 보이시오. 단 99는 제외한다. 또한 생성된 수들은 동적할당을 이용한 배열에 넣어서 저장한다."

이를 내가 코딩한 결과는 아래와 같다.

int main(int argc, char* argv[])
{
    int* arr, sum = 0, index=0, r=0;
    srand(time(0));
    arr = (int*)malloc(sizeof(int));
    while(1) {
        r = rand() % 100 + 1;
        if (r == 99) break;
        arr[index++] = r;
        sum += r;
        if (index) arr = (int*)realloc(arr, sizeof(int) * (index + 1));
        printf("%d ", r);
    }
    printf("\nTotal summation of random numbers : %d\n", sum);
    free(arr);

    return 0;
}

이를 ChatGPT에게 같은 조건으로 코딩하라고 시켜보았다. 조건이 그리 많지는 않지만 응답이 생각보다 겁나 빠르게 나온다.

ChatGPT 가 코딩해준 코드 ㅎㄷㄷㄷ

아래는 ChatGPT가 코딩해준 코드와 설명이다.(심지어 주석까지 친절하게 달아주었다 ㅎㄷㄷ)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
  // Initialize random seed
  srand(time(NULL));

  // Allocate an initial array to store the generated numbers
  int size = 10;
  int* numbers = malloc(size * sizeof(int));
  if (numbers == NULL) {
    printf("Error allocating memory for the array.\n");
    return 1;
  }

  // Generate random numbers until 99 is generated
  int count = 0;
  int sum = 0;
  int num;
  do {
    num = rand() % 100 + 1;  // Generate a random number between 1 and 100
    if (num != 99) {
      // Expand the array if necessary
      if (count == size) {
        size *= 2;
        int* temp = realloc(numbers, size * sizeof(int));
        if (temp == NULL) {
          printf("Error allocating memory for the array.\n");
          free(numbers);
          return 1;
        }
        numbers = temp;
      }
      // Add the number to the array and update the sum
      numbers[count] = num;
      sum += num;
      count++;
    }
  } while (num != 99);

  // Print the generated numbers and their sum
  printf("Generated numbers: ");
  for (int i = 0; i < count; i++) {
    printf("%d ", numbers[i]);
  }
  printf("\nSum: %d\n", sum);

  // Free the memory allocated for the array
  free(numbers);

  return 0;
}

또한 코드 뒤에는 간단한 설명까지 아래와 같이 달아주었다.

설명까지 친절하게...ㅎㄷㄷ 하다 정말...

이 정도 응답 능력이라면 코딩수업에서 활용해도 아주 손색이 없을 듯 하다.

또한 c  코드 말고도 파이썬이나 c++등등의 코드도 모두 입력하는 대로 코딩을 해준다!

지식인에서 코딩 질문하는 사람들은 더이상 지식인이 필요없을 듯 싶다 ㅎㅎㅎ

 

이번에는 과연 학습한 데이터 중에 한글 워드 프로세서 자동화 코드도 알고 있을까 싶어 아래와 같이 질문해보았다.

엑셀파일에서 값을 읽어서 한글 워드프로세서에 자동으로 넣는 샘플 코드를 짜보라고 했더니...

대박 아래와 같이 이것도 이미 알고 있다!

import win32com.client
import openpyxl

# Connect to an instance of Hangul Word Processor
word = win32com.client.Dispatch("Hwp.Application")

# Make the window visible
word.Visible = True

# Create a new document
doc = word.Documents.Add()

# Open the Excel workbook
wb = openpyxl.load_workbook("data.xlsx")

# Select the first sheet in the workbook
sheet = wb.active

# Iterate over the rows in the sheet
for row in sheet.iter_rows():
    # Iterate over the cells in the row
    for cell in row:
        # Insert the cell value into the document
        doc.Range().InsertAfter(cell.value)

코드 밑에 친절하게 설명도 달아준다!

 

 

엉뚱한 질문이라 그런지... 아래와 같은 대답도 나오기도 한다...ㅡ.ㅡ;;

대답하기 곤란한 질문을 해서 그런가...ㅡ.ㅡ;;; ㅋㅋ

 

내년초즈음에 발표된다는 GPT4 는 요즘 IT업계에서 튜링테스트를 통과했다더라는 소문이 돌고 있다고 한다.

정말이지 내가 죽기 전까지는 아이언맨의 자비스 정도까지의 능력은 아주 우습게? 달성하는 AI 는 나올듯 싶고 터미네이터의 자의식을 가진? 스카이넷 정도까지 나올 수 있을지 궁금하다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

댓글