본문 바로가기

반응형

코딩

ShedAI 개발기 ep 7. Nextjs14. AISDK로 Chatgpt와 Gemini연동과 Stream응답 AISDK를 활용한 ChatGPT와 Gemini 연동 및 스트림 응답 처리 과정최근 인공지능(AI) 모델의 발전과 더불어 AI 서비스를 활용한 다양한 응용 사례가 증가하고 있다. 특히, OpenAI의 ChatGPT와 Google의 Gemini는 자연어 처리(NLP) 분야에서 주목받는 모델로, 각각 독자적인 강점을 가지고 있다. 이러한 AI 모델들을 효과적으로 연동하고 스트림 응답을 처리하는 방법은 실시간 데이터 제공 및 UX측면에서 중요하다.글쓴이도 LLM들을 쓸때 이 모델 저모델을 번갈아 써보면서 가장 성능이 좋은 모델이 뭔지, 어떠한 상황들에서 어떻게 해야 최대한의 효과를 낼수 있는지 이것저것 시도해보곤한다. 물론 chatgpt api, gemini api를 각각 연동하는것이 그렇게 어려운 작업까진 .. 더보기
파이썬으로 JavaScript 웹 크롤링하고 싶을 땐, Playwright 웹 페이지 크롤링은 정적 HTML 데이터를 다루는 requests나 BeautifulSoup만으로도 충분한 경우가 많습니다. 하지만 JavaScript로 동적으로 렌더링되는 콘텐츠를 스크래핑하려면 추가적인 도구가 필요합니다. 여기서 Playwright가 강력한 해결책으로 등장합니다.최근에 뉴스를 스크래핑할일이 있어서 파이썬으로 구현하려 하는데, request로 받아오니 이게뭐야! 암것도 못받아오더라고요?  급하게 print를 여기저기 찍어봤는데, requestbody가 아래처럼 javascript로 찍여있더라고요.이렇게 javascript로 가져와서 브라우저에서 렌더하는 Client Side Render형 페이지들은 requests + bs4 라이브러리 만으로 안될때가 많죠 보통 많은 분들이 셀레니움을 .. 더보기
SchedAI 개발기 ep 6. NextAuth v5 & GoogleAPI "Insufficient Permission"에러 저번까지 Google Calendar API를 완성한 이후에, TaskAPI도 만들어, googleClient에 추가했다.Calendar API 코드를 구현해보며 어느정도 구조를 파악해서 같은 방식으로 Task를 구현했는데, 요청을 날리자 아래와 같은 Insufficient Permission 오류가 떳다.처음 보는 오류라서 바로 챗피티에 물어봤는데, 스코프(SCOPE)가 누락된거 같다고 알려줬다. 처음에 스코프를 어디서 정의하는지 몰라서 엄청나게 해멨는데, 역시 AI로 코드를 짜다보니 이렇게 안읽고 놓치는 부분들이 많이 생기는것 같다. 그와 더불어서 전체 코드를 모두 기억하지 못하는 AI가 정확히 어디서 문제가 발생했는지 추론하는 것은 쉽지 않은 일이라는 것이다.scope어디서 많이 들어봤는데? 어딨지.. 더보기
Google ImageFx(Imagen3) 사용 후기 : 인물묘사 최강 이커머스 자동화 이메진3 이커머스를 위한 최고의 이미지 생성 AI: Google ImageFx = Imagen3 사용 후기  이커머스 사업을 하면서 정말 이미지 하나하나가 얼마나 중요한지 절실히 느끼고 있는데요, 원하는 이미지를 찾거나 제작하는 게 얼마나 어려운 일인지 공감하실 분들 많으실 거예요. 특히 저처럼 의류 사업을 하고 계신 분들이라면, 직접 제품을 만들지 않고 사입을 한다고 했을 때 이미지 문제가 얼마나 골치 아픈지 아실 겁니다. 그래서 이런 문제를 해결하기 위해 기존의 AI 서비스부터 최근에 나온 Google ImageFx까지 여러 가지 시도를 해봤는데요, 정말 만족스러운 결과를 얻어서 여러분께 공유드리려고 합니다.기존 AI 서비스와 VTO의 한계저는 이전에 다양한 이미지 생성 AI와 VTO(virtual try-o.. 더보기
SchedAI 개발기 ep 5. Nextjs14) GoogleCalendar에 Event 추가하기 저번까지 google calendar api와 auth5를 연동하는 것을 했었다. 그리고 openai api와도 연동해서 가장 기본적인 챗봇을 만드는 과정까지 했었다. 이번엔 구글 캘린더와 AI를 연동할 차례다.먼저 코드 흐름을 살펴보면 간단하게 아래와 같은 모양이다.클라이언트에서 인풋을 받아서 API request하면 API에서 서버 파일(lib/googleClient.ts)에 있는 함수를 호출한다. 그리고 거기까지 온 데이터를 가지고 googleCalendar api에 request를 날려 request.data를 리턴하는 형식이다.앞으로 나는 AI와 대화하면서 AI가 직접 request 요청을 날리는 로직을 구현할 것이다. 그전에 먼저, 일단 API를 테스트 해보기 위해 수동으로 API요청을 날릴수.. 더보기
SchedAI 개발기 ep 4. 오늘의 뻘짓 AccessToken, RefreshToken 오늘은 google oauth로 googlecalendar api 에 접속하는 로직을 구현하려고 auth 5에서 callback 가지고 삽질하다가 access token과 refresh token이 prisma account db 에 있다는 것을 방금알아냈다. ㅋㅋㅋ 왜 AI는 이런 핵심정보를 놓치고 계속 callback 가지고 장난친걸까?나는 멍청이~ 야야대신 삽질한 덕에 auth 5 구조에 대해서 더 알게되었고 타입이 어떻게 이루어져있는지, jwt와 database에 대해서도 알게 되었다. 당연히 account에 저장되기 때문에(왜 이걸 생각 못했지? 계속 schema.prisma도 많이 들여다 봤는데 항상 refreshtoken이 있었는데 말이다.)콜백함수에서 AccessToken과 RefreshT.. 더보기
SchedAI 개발기 ep 3. 시작되는 난관 역시 아직 AI로 코딩하는 것은 참 어렵다.저번에 만든 개발 기획을 참고해서 코드를 하나씩 생성해달라고 했다. 그런데 UI에서 원하는 결과가 안나왔다.자주쓰던 daisyUI를 버리고 글래스모피즘으로 커스텀 UI를 만들어보려고 했는데 AI는 그냥 단순하게 블러 몇개 넣고 끝이였다.컴포넌트 형식으로 만들어 달라고하자, 그제서야 glasscontainer나 button같은 컴포넌트를 만들기 시작했다. 하지만 ai가 예술적인 부분에서 많이 부족했다.몇번 삽질하다가 결국 대체제를 찾았다. nextui를 쓰기로 바꿨다.nextui를 쓰니 모든것이 편해졌다. 일단 backend먼저 구현하고 개발되어있는 nextui에 내가 간단하게 글래스 모피즘 느낌만 추가해주면 좋을것 같다.챗피티에게 글래스 모피즘 얘기를 많이 했으.. 더보기
SchedAI 개발기 ep 2. 개발 계획 하나하나수립 저번에는 요구사항 명세서를 작성했었고, 이번엔 요구사항 명세서를 기반으로 각각 파트마다 개발기획을 했다.옆에와 같이 요구사항명세서를 기반으로 하나하나씩 답변을 얻어가며 AI에게 개발기획을 맡겼다.아래는 구체화 개발기획에서 6.2만 발췌한 것이다.     6.2 사용자 인증 구현 (Prisma Adapter 및 Auth.js 기반)목표: Google OAuth와 Prisma Adapter를 사용하여 Auth.js 기반의 사용자 인증 시스템을 구현합니다. 이를 통해 데이터베이스와 통합된 인증, 세션 관리 기능을 제공합니다.1. Google OAuth 설정Google Cloud Console에서 설정:새 프로젝트 생성:Google Cloud에서 새 프로젝트 생성.OAuth 동의 화면 설정:애플리케이션 이름, .. 더보기

반응형