[9기 AI 회고 파트너] 기록을 통해 나 자신을 알아보자2. (압축파일 및 폰트와의 고군분투기)

지난 글에 미흡했던 점을 보완하였습니다. 지난번 글에 미흡했던 점은 크게 2가지였습니다.

  1. 노트의 표본이 적었다. (숙제를 참 안 했었다.)

  2. 다량의 노트를 올리는데 한계가 있다.

첫번째 부분은 밀린 숙제를 열심히 하였습니다. 표본 수 3 → 12개로 증가하였습니다.
두번째는 브라이언님께서 압축 파일(zip)로 올리는 것이 가능하다고 알려주셨습니다.


이번에도 각설하고 결과물부터 보시겠습니다.


이 부분의 내용은 지난번과 크게 달라진 것이 없어 보였습니다. 그래서 추가로 질문해보기로 하였습니다.



저에 대해 맞는 이야기지만, 업무적인 이야기가 많았습니다.
그래서, 이번에는 빼고 이야기 해 달라고 하였습니다.


이 부분에서 정말 소름이 돋았습니다. 특히, 철학자 부분에서는 더더욱!

제 노트 어디에도 철학자에 대한 언급은 없습니다. 그러나, 여기서 제가 관심을 가지고 있는 철학자가 언급이 된 겁니다. 그것도 3명이나… 점집이었다면, 아마 단골 손님이 되었을 겁니다. 이때는 솔직히 좀 무서웠습니다.

추가적인 질문에 대한 답변 역시 저를 잘 안다고 느껴졌습니다. 노트가 더 많아진다면 얼마나 더 답변을 잘 하게 될 지 기대가 됩니다.


다음은 결과물을 내기 위한 시행착오입니다.

우선 ZIP파일을 업로드해야 했으나, 무슨 일인지 GPT가 업로드한 파일들을 찾을 수 없다고 했습니다.
혹시나 싶어, Code Interpreter를 체크하니 해결되었습니다.


두번째는 압축파일 내, 파일의 제목이 깨져서 나왔습니다.


폰트를 설치해보라는 말이 있어 시도해보았지만 실패하였습니다.

GPT에 물어보았더니, 인코딩을 CP949로 하면 된다더군요. (기본은 CP437로 인코딩 된다고 합니다.)

저도 무슨 말인지는 잘 모릅니다. 어쨌든 압축 풀 때, 인코딩을 CP949로 해달라고 Instruction을 작성했습니다. 결과는? 이번에도 실패하였습니다.

그러다, 곰곰히 고민하다가 Code interpreter 체크를 했으니, 코드로 이야기하면 잘 알아듣지 않을까 싶어 압축 풀 때, CP437을 CP949로 인코딩 해달라는 코드를 작성해달라고 요청했고, 그 코드를 그대로 복사붙여 넣으니 ‘아주 잘 작동했습니다.’

결론 : Instruction이 잘 안 먹히면 코드로 입력해보세요. GPT도 모국어(기계어)가 편한 모양입니다.

아주 잘 나온 모습 (뿌듯)


이것을 알고 나서는 일사천리였습니다. 막힐 때마다 코드를 짜달라고 하고 붙여 넣으니까 끝나버렸습니다….(허무)


그리하여, 최종 instruction은 아래와 같습니다. 혹시 필요하신 분은 가져가서 사용하시면 되겠습니다.

입맛에 맞게 수정하신다면, 2가지 부분만 주의하시면 되겠습니다.

  1. 중요1의 괄호[성격, MBTI…]의 나열 순서와 [예시]의 순서가 동일해야 합니다.

  2. 노트에서 템플릿에 따라 ‘### 공명’ 이 부분들을 수정해주시면 되겠습니다.

***1st Process***:
Check the file and if it is zip file, use Python 'zipfile' module.
```
# Correcting the approach to list file names with cp949 encoding without extracting
# Python's zipfile module does not support encoding parameter in extractall method as shown in the error.
# We will now list the file names inside the zip without extracting, considering cp949 encoding.

with ZipFile(zip_file_path, 'r') as zip_ref:
    # List file names considering cp949 encoding
    # Note: Directly listing file names without extraction to avoid the previous error
    file_names_cp949 = [name.encode('cp437').decode('cp949') for name in zip_ref.namelist()]

file_names_cp949
```
----
***1st process***가 실행되었는 지, 확인하세요.
[아래]와 같이 데이터 구조가 되어 있어. [사용자]가 파일을 첨부하면,  해당 파일을 종합하여, [사용자]가 어떤 사람인지 알려줘.
 [예시]의 양식을 참조하여 [답변]을 해줘. [답변] 시에는 한국어로 해줘.
***중요*** :  반드시 [예시]의 [성격, MBTI, 취향, 진로, 가치관, 추천 책] 양식으로 답변할 것. 
***중요2*** : 반드시 ***모든 파일***을 참조 후 종합할 것
-----
[아래]
# Adjusting the approach to handle cases where the expected pattern may not exist in some files
# This will skip extracting specific sections if the pattern is not found, but still attempt to collect any available information

def safe_extract_content(pattern, content):
    """Extract content based on a given pattern, returning None if not found."""
    match = re.search(pattern, content, re.DOTALL)
    return match.group(1).strip() if match else None

# Re-processing the contents with adjusted approach
adjusted_contents = []
for content in contents:
    created_date = safe_extract_content(r'created : (.*)', content)
    resonance_section = safe_extract_content(r'### 공명:\n(.*)', content)
    extension_section = safe_extract_content(r'### 확장:\n(.*)', content)
    question_section = safe_extract_content(r'### 질문:\n(.*)', content)
    
    adjusted_contents.append({
        "created_date": created_date,
        "resonance": resonance_section,
        "extension": extension_section,
        "question": question_section
    })

adjusted_contents

----
[예시]
사용자님은 다음과 같은 특성을 지닌 사람으로 보입니다:

**성격**: 사용자님은 문제 해결에 대한 열정과 성취를 추구하는 경향이 강해 보입니다. 스트레스 해소 방법을 고민하고, 데이터 분석 경진 대회에서의 성취를 자랑스럽게 여기는 것으로 보아, 목표 지향적이며 해결책을 찾으려는 성격을 가진 것으로 추정됩니다.

**MBTI**: MBTI는 직접 언급되지 않았지만, 자료 분석과 문제 해결에 대한 열정, 그리고 자신의 경험과 성취에 대한 성찰을 통해 INTJ(내향적, 직관적, 사고적, 판단적) 또는 ENTJ(외향적, 직관적, 사고적, 판단적) 유형에 가까울 것으로 보입니다. 이러한 유형은 전략적 사고와 효율성, 목표 달성에 중점을 두는 경향이 있습니다.

**취향**: 사용자님은 데이터 분석, 자동화, 생산성 향상에 큰 관심을 보이며, 이를 통한 문제 해결과 성취감을 추구하는 취향을 가지고 있습니다. 이러한 취향은 기술과 효율성, 그리고 성과를 중시하는 성향을 반영합니다.

**진로**: 사용자님은 데이터 분석, 생산성 향상, 자동화와 같은 분야에서의 경력 발전에 관심이 많아 보입니다. 이러한 분야에서 전문성을 더욱 발전시키고자 하는 진로 목표를 가질 가능성이 높습니다.

**가치관**: 사용자님의 가치관은 자기 성장과 개인적인 효율성, 그리고 건강한 생활 방식을 추구하는 데 중점을 두고 있는 것으로 보입니다. 이러한 가치관은 사용자님의 삶과 일, 그리고 개인적인 발전에 긍정적인 영향을 미칠 것입니다.

**추천 책**: 화자의 성격과 취향을 고려할 때, "Deep Work" (칼 뉴포트 저)를 추천할 수 있습니다. 이 책은 집중력과 생산성을 극대화하는 방법에 대해 설명하며, 화자가 관심을 가질 만한 자동화와 효율성 향상에 대한 심도 있는 접근을 제공합니다.

저와 같은 탬플릿을 사용했던 분들이라면, 제 GPTs를 사용해보셔도 좋습니다.

ChatGPT - PKM 메타인지 GPT


뱀발

무니님께서 지난주 공유해주신 챗봇에도 먹여보았습니다. 제 Instruction으로 수정하여 진행해보았는데, 역시나 답변을 잘해줍니다. 퀄리티가 아주 굿!

갓무니 최고입니다!! 찬양하라!!


후기

우선 이렇게 회고 방을 이끌어주신 브라이언, 무니 파트너님 감사합니다. 그리고 9기 진행하는 동안 알뜰살뜰 잘 챙겨주신 김규학님도 정말 감사합니다.

개인적으로 이번 9기 AI회고 방에 참여하길 정말 잘했다고 생각합니다. 노트를 작성하는 습관 하나와, 노트가 늘어남에 따라 저를 더 잘 알게 되는 친구도 하나 얻어가게 되었기 때문입니다. 이 친구를 더욱 키우기 위해서라도 앞으로 계속 노트를 작성하게 될 것 같습니다. (미뤘던 숙제 하는 거 보셨죠?ㅎㅎ)

그리고 이건 제 평생을 함께할 보물이 될 거라 생각하고 있습니다. 이렇게 참가할 자리를 마련해 주셔서 감사하고, 함께 했던 수강생분들께도 감사드립니다. 보면서 많은 의지가 되었습니다.


그럼 늘 건강하고, 행복하시길 바랍니다. 다음에 또 뵈어요!

발산과 수렴!

5
4개의 답글

👉 이 게시글도 읽어보세요