안녕하세요. 여러분들께 영수증 OCR을 하는 워크플로우를 공개합니다!
AI Agent나 Chat Model 노드에서 Gemini로 이미지 분석을 하는 노드가 없어서 직접 몇가지 방안을 사용해서 OpenAI 모델이 아닌 Gemini로 OCR을 하는 워크플로우를 만들어 봤습니다.
먼저 저도 사전에 만들어져 있던 GPT 4o mini 모델 기반의 image analyzer를 사용했지만 GPT 4o로 모델을 올려도 모델 성능이 높아지지 않아 한번 https://ai.google.dev/ 에서 이미지를 넣고 playground로 돌린 결과 너무 추출을 잘 해주는 것을 보고 여기서 욕심이 생겨서 'Gemini 2.0 flash lite도 가능할까?' 라는 호기심에 시도를 했던 정말 잘 해내주는 것을 보고 감동을 받아 이렇게 끝까지 완료 할 수 있었습니다.
한가지 만들면서 어려웠던 점은 업로드한 이미지를 gemini에서 어떻게 넣겨줄 수 있는지를 알아내는 과정이 살짝 몇분 딜레이가 생겼습니다.
개발을 해보신 분들은 아시겠지만 파일 형태로 업로드 된 이미지는 실제로는 base64 방식의 텍스트로 된 문자열 규칙에 의해 조합되어 있다는 것을 알고 있을 겁니다.
해당 원리를 적용하여 gemini에게 http 노드로 이미지를 base64 형식의 텍스트로 전송을 하는 것을 알게 되었습니다. 참고 링크 좋은 사례를 찾게 되었고 소개할 수 있어서 너무 기쁩니다!
제 이번 워크플로우에서는 Code 노드가 많은 것을 볼 수 있습니다.
대부분 다 문자열 처리를 하기 위한 작업이라고 보시면 됩니다.
그리고 Trigger 노드가 두가지로 되어 있습니다.
맨 위에 있는 form 트리거 노드는 아이폰 유저가 아닌 분들을 위해 사용해보시라고 만들어둔 내용입니다.
그런데 Basic Auth 라고 보안처리가 되어 있습니다.
관련해서는 해당 폼에 아무나 접근하지 못하게 하기 위함으로 만들어진 방식입니다.
테스트를 위해서는 Authentication 을 None으로 설정 변경을 해주시면 됩니다.
WebHook 트리거 역시 Authentication을 해둔 상태입니다. 마찬가지로 테스트를 위해서 None 바꿔주시면 됩니다.
Gemini 2.0 lite API Call 노드에서는 api key를 query auth 방식을 사용했습니다.
나머지는 스티키 노트상에 있는 내용을 참고하여 열심히 만들어보세요.
아참 당연히 세상엔 공짜는 없습니다 ㅎㅎ
설문을 진행해주신 분들께만 워크플로우 json을 공유해드립니다.
이것 역시 ai가 제대로 설문 이행을 했는지 평가를 하고 설문 이행을 성실히 하지 않은 분께는 워크플로우 파일을 전달해드리니 않고 있으니 이점 참고 바랍니다.
감사합니다.