chatGPT로 맞춤 프로그래밍 방법 찾기: 라마인덱스로 나만의 운동 기록 검색 및 추천 시스템 구축하기

배경 및 목적

올해 초부터 꾸준히 시도해왔던 운동일지 분석!
이전에는 회고?라는 느낌으로 접근했었어요. 흥미로운 분석도 많았지만 next가 없어서 아쉬웠습니다.

그래서 이번에는 제 기록을 운동할 때 도움이 될 수 있는 기능으로 발전시키고팠어요.

참고 자료

활용 툴

  • chatGPT-4o

  • Cursor AI

실행 과정

1. 라마인덱스 활용 가능성 확인 & 구체적인 프로젝트 제안 받기 (feat. chatGPT)

코드..곁다리로만 접했고 실제 프로그래밍으로 들어가면 1도 못알아듣는 사람입니다.
한정된 시간 속에서 효율적인 방법은 저보다 잘 아는 사람에게 물어보는건데, 사람 대신 chatGPT를 활용하기로 했습니다.

  • 내가 활용할 데이터 설명하고, 이걸 라마인덱스로 시도할 수 있는 것이 무엇인지 제안해달라 했습니다.

    • 여기서, 제가 읽을 수 있지만 알아들을 수 없는 한국어를 쓰면 곤란하기에 먼저 비전공자임을 밝혔어요.

한국어 문자 메시지 스크린샷

총 3개의 제안이 나왔습니다.

  • 운동 기록 검색 및 추천 시스템 구축

    • 사용자가 PT 수업 메모나 개인 운동 기록을 쉽게 검색하고, 과거의 운동 패턴을 분석해 미래의 운동을 추천해주는 시스템을 구축합니다.

      • 기능

        1. 데이터 인덱싱: PT 수업 메모와 개인 운동 기록을 LlamaIndex를 사용해 인덱싱합니다. 예를 들어, PT 수업 메모의 운동 이름, 무게, 세트 수, 주의사항 등을 각각의 필드로 인덱싱할 수 있습니다.

        2. 자연어 검색: 사용자가 “지난 4주 동안 했던 스쿼트 기록 보여줘”와 같은 자연어 쿼리를 통해 자신의 운동 기록을 쉽게 검색할 수 있습니다.

        3. 운동 추천: LlamaIndex의 컨텍스트 확장을 통해 사용자의 이전 운동 기록과 컨디션을 바탕으로 다음 운동 계획을 추천할 수 있습니다.

  • 운동 분석 및 피드백 시스템

    • 사용자의 운동 기록 데이터를 분석하여, 운동의 효과나 주의사항에 대한 피드백을 제공합니다.

      • 기능

        1. 피드백 제공: 사용자가 입력한 컨디션 및 기분 데이터를 분석해, 특정 운동이 사용자의 컨디션에 어떻게 영향을 미쳤는지 피드백을 제공합니다.

        2. 경향 분석: LlamaIndex를 이용해 사용자가 자주 언급한 주관적 메모(예: “어깨 통증”)를 분석해, 운동 방식의 조정이 필요한지를 사용자에게 알려줍니다.

  • 개인 맞춤형 운동 코칭 봇

    • 개인의 운동 기록을 바탕으로 맞춤형 운동 조언을 제공하는 챗봇을 구축합니다.

      • 기능

        1. 기록 기반 조언: 사용자가 챗봇에게 질문을 하면, LlamaIndex를 통해 과거 데이터를 조회하여 개인 맞춤형 조언을 제공합니다. 예를 들어, “오늘 어떤 운동을 하면 좋을까?“라는 질문에 대해, 사용자의 이전 기록을 바탕으로 적합한 운동을 추천합니다.

        2. 실시간 운동 조언: 실시간으로 운동 중인 사용자가 챗봇에게 특정 동작에 대한 조언을 요청하면, 이전의 주의사항 데이터를 기반으로 실시간 피드백을 제공합니다.

한국어로 된 메시지와 한국어로 된 문자 메시지

마침 제게 필요하기도 했고, 세개 중에서 간단..하다길래 "헬스 운동 기록 검색 및 추천 시스템 구축"을 진행하기로 선택합니다!

2. 내 난이도를 고려한 맞춤 방법 제안 받기

방법을 알려줘! 하기 전에 아래의 프롬프트를 입력했습니다.

큼지막하게 보자면 [ 내 수준 파악하기 위한 질문하기 → 내 수준에 맞춘 구현 방법 도출 → 그 개요 나한테 보여주기 → ㅇㅋ하면 단계별로 나랑 같이 진행하기]

좋습니다. Cursor AI와 라마인덱스를 활용해 "헬스 운동 기록 검색 및 추천 시스템 구축"을 하죠!

1. 비전공자인 내가 쉽게 이해하고 따라할 수 있어야 합니다. 내 수준을 파악하기 위한 질문을 몇 개 줘. 
2. Cursor AI와 라마인덱스를 활용해 "헬스 운동 기록 검색 및 추천 시스템 구축"하기 위한 방법을 도출합니다. (1개 이상이어도 됩니다.)
3. 1번 질문을 통해 파악한 저의 정보에 가장 적합한 방법이 무엇일지 계산합니다. 이 과정을 제게도 보여주세요.
4. 선정한 방법의 개요를 먼저 보여줘. 
4-1. "환경 설정 - 데이터 준비 - cursor AI 활용 시작 - ..."  ← 이런 식으로 전체적인 진행 과정을 비슷한 요소끼리 묶어서 단계를 구분함.
4-2. 각각의 하위에 어떤 것을 수행할지 간략히 작성함.
5. 제가 구체적인 방법을 요구하면, 사용하는 용어의 전문성과 기술적 난이도를 저에게 맞춰 재조정해서 제공합니다.


* 하나씩 단계별로 수행합니다.
한국어 시험 - 스크린샷

요렇게 질문을 받아서 답변을 하고나면

한국어 한국어 한국어 한국어 한국어 한국어 한국어 한국어

요렇게 답이 나옵니다.

음.. 선정한 방법 부분은 제대로 이행하지 않은 것 같아요. 프롬프트를 손보거나 저 프로세스 자체가 의미있는지 고민해보고 개선하려구요.

이어서 진행 방법 개요를 확인해서, 제 요청을 이해했는지 미리보기 느낌으로 파악했습니다.
잘 모르겠지만 대충 문제 없는 것 같아 계속 진행했습니다.
( 참고로 여기서 그냥 '다음단계'라고 하면 처음부터 끝까지 답변을 반환하길래 아래 캡처 이미지로 다시 입력했습니다.)

2-1. 환경 설정

한국어 페이지 스크린샷

뭔가 VS code랑 cursor AI를 같이 써야하는 이유가 있을지 궁금해서, 두개 같이 실행해야하는지 질문했고(아니라고 함) 다시 방법을 알려달라 합니다.

한국어 텍스트가 포함된 페이지의 스크린샷

설명이 어찌나 불성실한지.. 하나하나 알려달라 하고
그럼에도 잘 모르겠는 부분은 아래 캡처 이미지처럼 질문했습니다. 솔직히 왕 편하네요?

터미널 명령 추가 - 스크린샷

2-2. 데이터 준비

한국어 애플리케이션 스크린샷

활용할 데이터를 첨부해서 확인을 받습니다.
데이터 통합 방법은 생각도 안했는데 갑자기 제안하니, 아무것도 모르는 저는 띠용했지만
침착하게 추천하는 방법과 그와 별개로 각 방법의 수행 난이도를 물어보았습니다.

한국어 한국어 한국어 한국어 한국어 한국어 한국어 한국어

네. 여기까지가 돌이켜보면 행복했던 순간이었네요. 🥹

이 뒤로는..ㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

한국어 텍스트가 포함된 한국어 웹사이트 스크린샷

데이터 로드하는 과정에서 데이터를 다 지워버리게 만들고, 결국 화를 낸 뒤 문제 해결

여기까지도 나름 준수했어요.

이제 마지막으로 검색 기능을 구현해야하는데, 뭔가 알 수 없는 에러의 도돌이표 무한 굴레에 빠져서 나오지 못하고 있습니다. ㅋㅋㅋㅋㅋ ㅠㅠㅠㅠ

에러 자체가 많았다기보다는 무슨 문의 전화 돌려막기 마냥
라마 인덱스 클래스 어쩌구 저쩌구 계속 반복해서 에러가 나더라구요ㅠ

결과 및 인사이트

제가 화가 나도 어쩌겠나요? 하하

일단 침착하게 프로그램을 껐습니다. 이제 쿠팡이츠로 달달구리를 주문해서 입에 좀 물려놓고
1. 침착해진 마음으로 다시 실행해본다.
2. 가상환경 만들어서 해보라는 그 제안을 받아들여본다.
이 두가지를 진행해보려 합니다.

3
4개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 아침,
읽고 바로 써먹을 AI 소식만