아무리 바이브코딩 생산성이 뛰어나도 풀스택으로 퍼블리싱 하는게 쉽지가 않네.. 생각보다 오래걸렸음. 어우 힘들어
기술스택
Backend: Python, FastAPI, SQLAlchemy
Frontend: Next.js, TypeScript, Tailwind CSS, Material-UI
Database: PostgreSQL
AI Model: Google Gemini
Deployment: Backend on Railway, Frontend on Vercel
사이트는 무료배포고 쓸라면 제미니 api key 필요하긴 함
AI가 분석한 번역스타일 사용자가 직접 수정할 수 있도록 했음. 왔다갔다 구현 하는거 생각보다 어렵더라
txt pdf epub 다 지원하는데 개인적인 추천은 pdf는 본문만 짤라서 돌린다음 calibre 써서 epub이나 pdf로 변환하는거 추천. epub은 epub으로 출력함. 문맥이 중요하기 때문에 노이즈가 없으면 좋겠지?
기본 모델은 flash lite긴 한데 깡계단은 크레딧 무한이니까 pro로 한번 돌려봐
https://context-aware-translation.vercel.app/
개추 및 많은 피드백 부탁!
!긴급! 아직 큰 파일 업로드 하진 말아봐. 실시간 공지 관련 db 오류 있어서 지금 번역 하고있는 사람들 끝나면 서버 재시작 할거임
굿
선 개추후 정독
냥번역인데 귀여운 고양이는 어디간거냐...
대신 현대적인 그라데이션을..
외국 소설 다 번역해서 읽어야지 ㅋㅋㅋㅋ
근데 로컬도 아니고 서버접속인데 api key를 넣는거면... 불안한데. 내 api키 너한테 주는거잖아
보안에 대한건 나도 모르겠다. ㅈㅅㅈㅅ
구글 무료계정으로 맛보는정도면 괜찮을듯
@ㅇㅇ 아니 형. 형이 서버를 운영하는데 보안 책임자가 그걸 모르겠다고 하면 어떡해..
@ㅇㅇ api키라는게 이게 나중에 구글 정책이 어떻게 될지 모르는거라.. 이게 이렇게 그냥 개인에게 준다는게 이게 무서운건데
@ㅇㅇ 찜찜하면 만들고 쓰고 삭제하면 될듯? 내 로컬 개발 환경에서도 백엔드 로그나 기타 로그에서 apikey 관한건 전혀 안쓰긴 했어. db에서도 파일조차 내용 저장 안해. 로직 연결 통로만 만들어 논거야.
ai 바이브 코딩만 하면 실무에 아무짝이 쓸모없는걸 보여주는 예시
api키 저렇게 사용할거면 자신있농?
고생했음
개츄
html을 올려야할듯 아님 깃 저장소던가
키 보안은 클라이언트에서 직접 api호출하게 하고 깃 공개하면 안심하고 쓸 수 있지. ai한테 물어봐라.키 백엔드로 안보내게 하면 됨.
프록시라도 있어야지 그렇게하면 cors때매 안됨
지금 서버 재시작중인가? 58kb 파일 올렸는데 안되는데
지금 안받고 있음. 번역 하고있는사람들 끝나면 서버 재시작 할거야.
서버 재시작 완료!
복잡하게 여러 번 api호출하는 거 같은데 걍 ais써도 별 차이 없다
API키를 프론트엔드에서 호출하면 안전하기는한데, CORS 에러가 생길 것임. 지금 생각나는 방법은 1. OpenAI 모델 사용 > OpenAI는 프론트엔드에서 직접 호출해도 CORS 에러가 안 생김. 다만 OpenAI 모델로 한정되는 문제가 있음 2. OpenRouter를 사용하도록 만들기 > OpenRouter를 사용하면 Gemini 모델을 간접적으로 사용하면서도 프론트엔드에서 CORS가 생기지 않도록 만들 수 있음. 나는 이 방법을 추천함.
아 방법 3도 있기는 하네. 별도로 API 요청을 위한 웹 플러그인을 만들어서 웹 플러그인을 간접적으로 요청시키면 CORS 에러를 회피할 수 있음. 약간 구현 난이도가 복잡해지기는 하는데 이것도 괜찮은 방법인 듯.
ㄳㄳ 오픈라우터 방식으로 나중에 구현해봄. 근데 이건 사용자도 오픈라우터 키를 발급받아야 한다는 단점이 있는거 같네..
아 념글가서 수정이 안되네.. 지금 다 정상작동 하고 있음!
지금해봤는데 58kb txt 파일 번역이 10분째 안됨
이제 50% 떴네
@ㅇㅇ 그런건 아마 모델 내에서 아웃풋이 무한루프 되서 그럴거야. flash lite 모델이 가끔 그러던데 flash lite는 api 쪽에서 반복 패널티를 줄 수 가 없어서 어쩔 수가 없었던거 같음 ㅠ 나중에 개선 해야지
퀄리티는는 나쁘지 않은데 가끔 영단어 한개 나옴. 시간은 12분 11초 58kb 1.8만자 중한 번역하는데 너무 느린듯. ais에서 텍스트 넣고 번역하면 3~4분 걸림
@ㅇㅇ 중한 번역 했구나. 그럼 무한루프 문제가 아니라 세그먼트 단위가 너무 커져서 그런걸수도 있겠다. 세그먼트 크기는 영문자를 기준으로 크기를 정해놨었거든. 중국어랑 일본어같은 문자는 세그먼트 크기를 줄여놔야겠네. ㄳㄳ
@ㅇㅇ 영단어나 이상한 문자 가끔 나오는것도 LLM 모델 특이긴 해. 방법은 번역하려는 문자 외의 문자가 감지되면 다시 돌리거나 하는건데 일단은 구현 안해놨음. 호출 한번 더 해야 하는 거기도 하고..
캬
보안 조심해라. 이 게시자가 그렇다는 건 아니지만 카드 연결된 api 잘못 도용되면 탈탈 털릴수 있음.
api잠깐 넣어서 번역하고 파기하고 재발급하면 되지 한도정하고 돌렸다뺏다하면 별것두아님
그렇게까지 간절히 저걸쓰고 싶냐 ㅋㅋㅋ
난 또 배포한다길래 소스를 공개하는 줄 알았네. 보안은 신경 안쓴 것 같은데 사용하기 전 잘 생각해보시길
댓글창 왤케 심술났냐
반고닉 한명 상주중이네 ㅋㅋ 할짓없나봄
2시간 걸려서 끝났는데 FAILED라고 뜸 대실망