첫째로,
이거 RAG고 FastAPI서버 쓴 거 보면 다수에게 내보내는 서비스를 염두에 둔 건데
캡쳐 방식으로는 여러 유저가 쓸 수 있도록 하기가 매우 어려움
현재 구조로는 아예 불가능함 (클린업 추가해도 불가능)
글고 오래 써도 망가지게 되어잇음.
둘째로,
캡쳐 방식으로는 사용 도중에 변경 시 문제가 많이 발생됨
즉 정적인 사용을 가정하고 개발됨
지원해주는 걸 안쓰고 우회했으니까 이런 약점이 있는 건 당연하다
셋째로,
노드별로 다른 인스턴스를 쓰게 하고 싶다던지
유저의 config에 맞춰서 별개의 그래프를 빌드하고 싶었다면
팩토리 패턴에 레지스트리를 쓰면 쉽고 간단히 될 일임.
코드 보니까 교과서적으로 잘 쓴 부분도 있던데 왜 이렇게 하는지 이해가 안됨.
이렇게 하는 게 기능 덧붙이기 쉬워서 그렇게 했다는 것 같은데
코드도 길어지고 성능도 느린데 어떻게 기능 덧붙이기가 더 쉬워짐?
넷째로,
개념에서 좀 헷갈리는 부분들이 있는 것 같은데
1. 상태의 I/O관리
상태관리를 잘못말하고 있는 것 같음
상태에는 입출력이 없고 그냥 변경만 있지.
글고 네가 만든 함수형 캡쳐도 결국 싱글톤임. 근데 얘만 상태관리가 편하다는 게 무슨 뜻이야?
2. app.state
이건 패턴이 아니라 걍 저장소임.
보통 여기다가 전역 변수 같은 거 담음. 앱이 죽을 때 같이 정리되라고
3. 의존성 실패
아마 의존성 주입 실패를 말하는 것 같은데 주입 과정에서 뭔가 실패가 발생하면
FastAPI가 서버 잘못이라고 500 에러 보내고
UI는 그걸 받아서 유저에게 알리거나
아니면 서버 쪽에서 보내준 풀백을 받아서 계속 처리를 이어나가면 되는데
UI가 왜 치명적으로 멈춘다는 거임?
글고 애초에 서버 쪽에서 의존성 주입 실패라는 상황이 발생했는데
유저가 어떻게 그걸 모르고 그냥 쓸 수 있음? 멋대로 풀백되거나 반응 안하는 거 보고 짜증이 날 수는 있겠지
근데 그냥 모를 순 없지
글고 마지막으로,
제일 밑에 이견은 없다. 내 말이 맞다고 써놨던데
네가 연구원이면 그럴 수 있음
사실 코딩스타일부터가 딱 연구자 스타일이긴 함
나도 연구원으로 시작했기 때문에 어떤 건지 잘 안다
대부분의 연구원들이
한 번이라도 돌아가면 성공 <-- 이런 식으로 개발하지
근데 실제로 서비스 개발하려면 그렇게 하면 안됨
100번 돌려봤는데 95번 잘 돌아간 기계면 정상적인 기계냐? 고장난 기계잖음
이런 식으로는 연구 이외의 의뢰는 수행 못함
자주 고장나는 제품은 누구도 좋아하지 않아
타로에 RAG붙여보면 뭔 소린지 바로 느낄 거임
안 고장나고 계속 돌아가는 게 그 무엇보다 중요하다
왜냐면 개발자 본인의 시간이 무엇보다 큰 비용이기 때문
자칫하면 개발자가 아니라 콜센터 직원이 되어버리는 수가 있음
아는척 몸 비틀면서 씨부리는 꼬라지가 진짜 씨발 다 티가 난다니까?
니가 이러니까 계약 취소를 당하는거야 병신아
vector db에 처 넣을게 없는데 왜 rag를 처 붙히냐고
그리고 rag 이딴거 붙힌다고 대단해 보이는게 아니야 rag 파이프라인은 진짜 3일이면 전혀 모르는 사람도 가져다 쓸 수 있다니까? 이것도 넉넉하게 3일인거지
이거 RAG고 FastAPI서버 쓴 거 보면 다수에게 내보내는 서비스를 염두에 둔 건데 << 그럼 fastapi 서버가 아니면 다수에게 보내는 서비스를 염두하지 않은거냐? ㅋㅋㅋㅋㅋㅋㅋ 너 진짜 코딩 좆도 모른다니까?
진짜 솔직히 비전공이고 백수고 간에 공부나 똑바로 했으면 병신인거 티 안났는데 너는 제대로 이해도 못했는데 어떻게 해서든 아는척하고 싶어서 안해도 될 소리까지 전부 다 씨부리잖아? 그래서 병신인게 존나 티 나는거야 진짜 내가 대표로 욕하는거지만 현업자라면 니 말이 얼마나 병신소리인지 바로 티난다니까? 그래서 계약 취소를 당하는거야
아니라니까. 뭘망가짐 그 관리를 패스트 api가 해주는데
내가 맞는게 랭그래프도 이방식임