오늘도 이어서 나머지 작업을 진행하고 있다. 처음에는 내가 직접 다시 플로우를 그려보려고 했는데, 그 하나를 그리기 위해 꺼낸 책이 무려 7권이나 된다. 와우… 이렇게 많은 것을 배웠다니 놀랍다. 대부분이 프롬프트 엔지니어링과 머신러닝에 관한 내용인데, 나는 아직 이 중 약 10% 정도를 알고 있는 걸까? 아니면 1%조차 되지 않는 걸까? 매우 궁금하다.
AI서비스를 만들기 위한 첫 단계
확실히 학습을 위해 데이터셋은 매우 중요한 요소인 것 같다. 크롤링을 시작한 지 3개월 정도 되었는데, 이제 LangChain을 넘어 프로젝트 단계에 도달했다. 스스로 하나씩 오류를 해결해 나가는 내 모습이 뿌듯하다.
현재 우리 프로젝트에서는 경증과 중증을 구분하는 것이 필요하다. 이 구분이 서비스의 메인 핵심이다. 응급실에 갔는데 경증으로 판명되면 의료 거부에 직면할 수 있고, 치료가 가능하다 해도 상당한 비용이 발생하며 대기도 길기 때문이다.
크롤링과 OpenAI 을 준비하기
내 API는 보안을 위해 비공개로 처리했다.
이상하게도 그저께까지 잘 작동하던 API가 갑자기 문제가 생겨, dotenv를 사용하지 않고 직접 값을 입력해 보았다. 그런데도 되지 않아서 프로젝트 번호까지 모두 명시적으로 입력하니 그제야 제대로 작동했다.
이렇게 열심히 타자를 쳤다. 복사 후 붙여넣기를 하면 좋을 텐데, 그보다 직접 타이핑하는 게 더 빠른 상황이다. 사실 코드 작성의 핵심은 html 안에서 내가 원하는 태그를 찾아 파싱하는 작업이라, 어쩔 수 없이 하나씩 타이핑하게 되었다. 이 부분은 그래도 틀리지 않고 제대로 결과를 만들어내는 몇 안 되는 작업인데, 코딩 테스트는 여전히 너무 어렵다.
위 사이트 크롤링은 headers를 꼭 해야만 했다. API를 .env환경에 불러와 항상 따로 치지 않는 방법을 알려주시고, 오류를 해결할 수 있는 방법을 친절히 알려주신 강사님이 너무 감사하다.
웹사이트 구조 html 구조 파악하기
사이트마다 찾아야하는 구간이 다른 점은 흥미롭다. 모든 개발자마다 다르게 구성을 하고 침범을 막고 복잡하게 해서 어렵게 하는 부분이 신기하다고 느껴진다. 프론트엔드, 백엔드를 모두 하는 사람은 취업을 잘 하겠지? 아님 나처럼 크몽에서 혼자 따로 서비스를 판매하고 있을지도 모르겠다.
큰 제목은 911 부르기: 심각한 증상에 절대 무시하지 말아야 할 것! 근데 여기에 몇 가지 증상 하며 붙이면 참 좋았을 텐데, 나는 그게 없어서 하나하나 <header>을 몇 개가 될지 div를 세어봐야 했다. 우선 첫 번째 것부터 해보기로 했다. 나중에 반복문으로 해보려고 한다.
열심히 찾아본 결과, 오히려 배운 방식과 다르게 작업해야 오류가 덜 발생하는 경우가 있었다. 예를 들어, 하이픈(-)이나 언더바(_)로 구분하지 않고, “slide-header inf”처럼 띄어쓰기로 구분된 태그가 있을 때는 띄어쓰기 이후 부분을 무시하고 파싱하는 방식이 더 안정적이었다. 이렇게 해당 부분을 정확히 잡아내고, 출력으로 확인하는 과정을 거쳐 작업을 진행했다.
GPU를 써야 실습도 가능해서 Colab Pro를 쓰고 있다. requests.txt도 넣어야 돌아가는 것을 나중에 알아서 게이밍컴퓨터를 조립했다.
프로젝트 발표 마치고 첫 작업을 해보면서
일기 형식으로 글을 쓰면 마음이 한결 편안해진다. 아직 이 분야에 충분히 적응했다고 당당히 말할 수 있는 단계는 아니라서 그런 것 같다. 당당하고 자신감이 넘친다면 마치 누군가에게 가르쳐주듯 쓸 수도 있겠지만, 지금은 기록을 남겨두고 싶다는 생각이 든다. 초기 단계에서는 이런 방식이 나에게 더 의미 있는 것 같다.
이번 마지막 부분을 마치고 나니 매우 자랑스러웠다. 오류 없이 마지막 부제목과 첫 문단 본문을 깔끔하게 가져올 수 있었다. 나중에는 “a”나 “is” 같은 불필요한 단어를 제거하는 깔끄밍 작업을 해야겠지만, 일단은 한 발자국씩 나아가고 있다.
“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”