논문 구현에 앞서 확인해야 할 포인트 Read1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기2. 도입(introduction), 결론(conclusion), 도표(figures)를 읽고 필요없는 부분 생략3. 수식은 처음 읽을 때는 과감하게 생략4. 이해가 안되는 부분은 빼고 전체적으로 읽는다. QnA1. 저자가 뭘 해내고 싶어했는가?2. 이 연구의 접근에서 중요한 요소는 무엇인가?3. 당신(논문독자)는 스스로 이 논문을 이용할 수 있는가?4. 당신이 참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가? 구현하기1. 수식 이해하고 직접 연산하기2. 코드 연습하기(오픈소스를 받아 직접 구현) 1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기H..
논문 100개 구현의 1탄을 장식한다.최근 어떤 부트캠프 홈페이지에서 논문을 50~100개 구현할 수 있으면 전문가 수준이 된다고 해서 직접 해보려고 한다.4~6개월에 1천만원이라면 비싼 돈 들일 필요 없이 직접 하면 돈이 아껴지지 않겠는가.어떻게 보면 의지로 돈을 사는 셈이다. 고로 오늘 해볼 논문은 공모전에서도 활용해볼 겸 U-Net의 논문이다.https://arxiv.org/abs/1505.04597 논문 구현에 앞서 확인해야 할 포인트 Read1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기2. 도입(introduction), 결론(conclusion), 도표(figures)를 읽고 필요없는 부분 생략3. 수식은 처음 읽을 때는 과감하게 생략4. 이해가 안되는 부분..
테스트 코드는 작성한 코드가 의도대로 동작되는지, 예상하지 못한 문제가 없는지 확인하기 위해 작성하는 코드이다.테스트 코드는 개발 공부를 할 때 미루는 경우가 많지만, 유지보수와 기능 작동에 신경 쓸 필요 없는 환경이 되므로 공부해보는 걸 추천한다. 테스트 코드는 기본적으로 프로젝트에서 src > test에 존재하고 있다. 다양한 패턴이 있는데, 그 중에서도 given-when-then 패턴을 알아보자. given-when-then 패턴given-when-then 패턴은 테스트 코드를 세 단계로 구분해서 작성하는 방식이다.1. given - 테스트 실행 준비 단계2. when - 테스트 진행 단계3. then - 테스트 결과 검증 단계. 예를 들어 새로운 변수를 저장하는 코드를 테스트한다면 다음과 같다...
지난번 글에서는 프론트엔드적으로 기능에 대해서 회고를 했다. 이번 시간에는 백엔드 기능에서 중점적으로 뒀던 것과, 어떻게 했는지를 보자. 1. LangChain을 이용한 멀티 Agent우선, LangChain의 Agent 시스템을 쓸 수 있도록 했다.ChatOpenAI를 사용했고, Chain으로 만들었다. 그리고 RunnableWithMessageHistory를 사용했는데, 사실 이렇게 전체 대화를 넣는 것 보다 요약해서 추가하고, 전의 대화 맥락을 추가해서 알아듣게 하는 게 훨씬 좋다. 이 부분은 다른 팀원이 바꿨는데 추가할 시간이 없어서 다시 못 바꿨다. LangGraph로 멀티 Agent를 만들었을 때, 이 부분 때문에 무한 루프가 걸리는 일도 있었지만 Structured Output으로 Input..
KDT 대회 본선이 끝났다.결과는 우수상. 200팀 참가 중 최종 4위가 된 셈이다.솔직히 말하자면 고생은 많이 했지만, 이 정도로도 굉장히 만족할만한 결과였다. 무엇보다 우리 위에 대상 1팀, 최우수상 2팀으로 총 3팀 밖에 없었는데, 그분들도 굉장히 공을 많이 들인게 보여서 솔직히 그럴만 했다고 생각한다. 그러나 반성을 안 할 수는 없는 법이다.프로젝트를 하면서 백엔드 뿐만 아니라, UI / UX에 대해서 프론트쪽에서 기능을 추가한 것들이 매우 많았다.특히나 React를 다루면서 Html과는 다른 State에 대한 개념을 잘 다루게 되었고, 그러면서 동적 웹페이지에 대한 개념이 많이 늘어난 것 같다. 그래서 오늘은 프로젝트를 하며 추가했던 기능들 중 프론트엔드 편에 대해 정리해보고, 다음에는 백엔드 ..
WebSocket을 연결하면 단일 요청에 비해 연결 횟수가 줄어들어서 http에 비해서 빨라진다는 건 대부분 알고 있을 것이다.그러면 얼마나 빨라지는지 우리 서비스에서 실험해봤다. TTS edge function과 React를 웹소켓으로 연결했을 경우Response from backend: {response: '안녕하세요! 만나서 정말 반가워요. 요즘 어떻게 지내고 계신가요?'}useSpeechRecognition.js:126 tts2: 3860.410888671875 msuseSpeechRecognition.js:163 Response from backend: {response: '알겠어요! 그럼 계속 이야기 나눠볼까요? 요즘 어떤 일들이 있으셨나요?'}useSpeechRecognition.js:126..