본문 바로가기
인공지능/코딩 이야기 from ChatGPT

ChatGPT4.0과 함께하는 코딩 프로젝트 part01

by AI4EcoLife 2023. 4. 14.
반응형

서론

ChatGPT4.0과 함께하는 코딩 프로젝트 part01에 오신 것을 환영합니다! 이 블로그 게시물은 다양한 프로젝트에서 작업하면서 Python 코딩을 배우는 과정을 안내하는 것을 목표로 합니다. 처음부터 시작하더라도 쉽게 따라 할 수 있습니다. 이 첫 번째 프로젝트에서는 Python을 사용하여 사람과 ChatGPT4.0 간의 대화를 Excel 파일로 저장하는 방법을 탐색합니다. 다이빙하자!

목차

    ChatGPT4.0과 함께하는 코딩 프로젝트 part01

    인간의 질문에 답하고 있는 귀여운 쳇봇의 그림입니다.

    Python을 이용해서 인간과 ChatGPT4.0이 하는 대화를 엑셀 파일로 저장시키기

     

    1. 환경 준비 및 필요한 도구 설치(Windows 11)

    시작하기 전에 Windows 11 시스템에 다음 도구가 설치되어 있는지 확인하십시오.

    1. Python: 공식 웹 사이트(https://www.python.org/downloads/)에서 Python을 다운로드하여 설치합니다. 설치 프로세스 중에 시스템의 PATH에 Python을 추가해야 합니다.
    2. Visual Studio Code(VSCode): 공식 웹 사이트(https://code.visualstudio.com/)에서 널리 사용되는 코드 편집기인 VSCode를 다운로드하여 설치합니다.
    3. VSCode용 Python 확장: VSCode를 열고 확장 탭(왼쪽 사이드바의 사각형 아이콘)으로 이동하여 "Python"을 검색하고 Microsoft의 공식 확장을 설치합니다.

     

    2. 프로젝트 설정

    컴퓨터에 프로젝트 파일을 저장할 새 폴더를 만듭니다. VSCode를 열고 새로 만든 폴더를 작업 공간으로 엽니다. 작업 공간 내에서 새 Python 파일(예: "chat_export.py")을 만듭니다.

     

    3. 필요한 Python 라이브러리 설치

    이 프로젝트에는 두 개의 Python 라이브러리가 필요합니다. ChatGPT4.0과 상호 작용하려면 "openai"가 필요하고 Excel 파일을 사용하려면 "openpyxl"이 필요합니다. VSCode에서 통합 터미널(보기 > 터미널)을 열고 다음 명령을 실행합니다.

    pip install openai
    pip install openpyxl

     

    4. 파이썬 코드 작성하기

    방법 1 - API키를 이용한 방법

    이제 ChatGPT4.0과 통신하기 위한 Python 코드를 작성하고 대화를 Excel 파일로 저장합니다. 다음 코드를 "chat_export.py"에 붙여 넣습니다.

    import openai
    import openpyxl
    from openpyxl import Workbook
    
    # Set up the OpenAI API
    openai.api_key = "your_openai_api_key_here"
    
    # Create a new Excel workbook and sheet
    wb = Workbook()
    ws = wb.active
    ws.title = "ChatGPT4.0 Conversation"
    
    # Define headers for the Excel sheet
    headers = ["User", "Message", "Response"]
    for col_num, header in enumerate(headers, 1):
        col_letter = openpyxl.utils.get_column_letter(col_num)
        ws[f"{col_letter}1"] = header
    
    # Function to send a message to ChatGPT4.0 and receive a response
    def chat_with_gpt4(message):
        response = openai.Completion.create(
            engine="text-davinci-002",
            prompt=f"{message}",
            max_tokens=150,
            n=1,
            stop=None,
            temperature=0.5,
        )
    
        return response.choices[0].text.strip()
    
    # Collect user messages and responses from ChatGPT4.0
    row_num = 2
    while True:
        user_message = input("You: ")
        if user_message.lower() == "exit":
            break
    
        gpt_response = chat_with_gpt4(user_message)
    
        ws.cell(row=row_num, column=1, value="User")
        ws.cell(row=row_num, column=2, value=user_message)
        ws.cell(row=row_num, column=3, value=gpt_response)
        row_num += 1
    
    # Save the conversation to an Excel file
    wb.save("ChatGPT4.0_Conversation.xlsx")
    
    print("Conversation saved as ChatGPT4.0_Conversation.xlsx")

     

    방법 2 - 웹 스크래핑 활용하는 방법

    1. 필요한 Python 라이브러리를 설치합니다.

    먼저 아름다운 수프와 리퀘스트를 설치해야 합니다. 터미널을 열고 다음 명령을 실행합니다.

    pip install beautifulsoup4
    pip install requests

     

    2. Python 코드를 작성하여 대화를 스크랩합니다.

    새 Python 파일(예: "webpage_to_excel.py")을 만들고 다음 코드를 붙여 넣습니다.

    import requests
    from bs4 import BeautifulSoup
    import openpyxl
    from openpyxl import Workbook
    
    # Replace the URL below with the URL of the conversation webpage
    url = "https://your-conversation-webpage-url.com"
    
    # Send an HTTP request to the webpage and parse its content
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    
    # Create a new Excel workbook and sheet
    wb = Workbook()
    ws = wb.active
    ws.title = "Webpage Conversation"
    
    # Define headers for the Excel sheet
    headers = ["User", "Message", "Response"]
    for col_num, header in enumerate(headers, 1):
        col_letter = openpyxl.utils.get_column_letter(col_num)
        ws[f"{col_letter}1"] = header
    
    # Extract conversation data from the webpage
    # Replace the CSS selectors below with the appropriate ones for your webpage
    user_messages = soup.select("div.user-message")
    gpt_responses = soup.select("div.gpt-response")
    
    # Write the extracted data to the Excel sheet
    for i, (user_message, gpt_response) in enumerate(zip(user_messages, gpt_responses), 2):
        ws.cell(row=i, column=1, value="User")
        ws.cell(row=i, column=2, value=user_message.text.strip())
        ws.cell(row=i, column=3, value=gpt_response.text.strip())
    
    # Save the conversation to an Excel file
    wb.save("Webpage_Conversation.xlsx")
    
    print("Webpage conversation saved as Webpage_Conversation.xlsx")

    특정 웹페이지 구조에 따라 대화 웹페이지의 URL과 사용자 메시지 및 GPT-4.0 응답에 대한 CSS 선택기를 교체해야 합니다.

     

    3. 스크립트를 실행합니다.

    "webpage_to_excel.py" 스크립트를 실행하면 웹페이지의 대화가 "Webpage_Conversation.xlsx"라는 Excel 파일로 저장됩니다.

     

    결론

    축하해요! "ChatGPT4.0으로 코딩 이야기" 시리즈의 첫 번째 프로젝트를 성공적으로 완료했습니다. Windows 11에서 Python 환경을 설정하고 필요한 라이브러리를 설치하고 Python 스크립트를 작성하여 사람과 ChatGPT4.0 간의 대화를 Excel 파일로 저장하는 과정을 다루었습니다. 스크립트에서 "your_openai_api_key_here"를 실제 API 키로 바꿔야 합니다. 웹 스크래핑은 일부 웹사이트의 서비스 약관을 위반할 수 있습니다. 진행하기 전에 웹 페이지에서 데이터에 액세스 하고 데이터를 추출할 수 있는 권한이 있는지 확인하십시오.

     

    Python으로 코딩하는 방법을 계속 배우면서 새로운 기능을 추가하거나 필요에 맞게 코드를 수정하여 이 프로젝트를 자유롭게 실험해 보십시오. 오류가 발생하거나 질문이 있는 경우 주저하지 말고 도움을 요청하세요. 시리즈의 다음 부분에서는 Python과 ChatGPT4.0을 사용하는 또 다른 흥미로운 프로젝트를 살펴보겠습니다. 계속 지켜봐 주시고 행복한 코딩 하세요!

    반응형

    댓글


    top
    bottom