[Python] Redis를 활용한 중복 추천 방지 로직 상세 분석
·
Python
이전 글: [Python] Redis를 활용한 중복 추천 방지 캐싱 서비스 개발이전 포스팅에서는 Redis를 활용한 장소 캐싱 시스템(SpotRedisService)을 설계한 이유와 개요를 설명했다.이번 글에서는 추천 시스템에서 Redis를 활용하는 구체적인 코드를 살펴보겠다.여기서는 create_recommendation_restaurant 함수를 중심으로 Redis와 DB를 활용한 중복 추천 방지 로직을 분석하고, 각 부분별로 어떤 역할을 하는지 설명하겠다. create_recommendation_restaurant 함수 개요이 함수는 에이전트가 사용자에게 추천할 식당 목록을 생성하는 핵심 로직을 담당한다. Redis 조회 흐름도 DB 조회 흐름도 주요 기능사용자 정보 및 기존 추천 데이터 확인..
[AI] CrewAI 에이전트를 활용한 키워드 기반 맛집 검색 개선
·
AI
처음에는 사용자가 원하는 지역을 입력하면 Google Maps API를 통해 주변 맛집을 찾아주고, 필터링을 거쳐 최적의 식당을 추천하면 될 줄 알았다. 하지만 직접 테스트해보니, 생각만큼 좋은 결과가 나오지 않았다. 단순히 지역을 기반으로 검색하는 방식만으로는 사용자의 구체적인 요구사항이 반영되지 않았고, 원하는 스타일의 맛집을 추천하기 어려웠다.  1. 기존 방식의 문제점기존에는 사용자가 입력한 여행 일정에서 지역(location) 정보만 추출하여 맛집을 검색하는 방식이었다. 하지만 이렇게 하면 단순히 지역 내 식당 목록만 가져올 뿐, 사용자가 원하는 조건(가족과 함께 갈 수 있는 곳, 반려견 동반 가능 등)이 반영되지 않는 문제가 발생했다.문제점 정리사용자 요구가 반영되지 않음지역 기반으로만 검색하..
[AI] LangChain 사용해보기3 (LLM과 네이버 검색 API를 활용한 맛집 데이터 수집 테스트)
·
AI
팀원들과 나는 API를 사용해서 데이터를 수집해야 하는데 여행이 워낙 데이터 수집 양이 방대해서 멘토님에게 질문을 했다. 멘토님은 LLM에게 질문을 하고 또 다시 질문해서 몇번 걸쳐서 추천 리스트를 뽑으라고 하셨다. 그래서 그렇게 테스트를 해보기로 했다. 멘토님의 조언1. LLM에게 질문을 하고 나온 결과를 다시 질문을해서 데이터 검증을 해라2. LangChain에 검색 엔진이 있으니 사용해봐라3. 프롬프트를 구체적으로 잘 짜야 한다.4. 프롬프트는 영어로 해야 더 답변을 잘해준다. 테스트 과정1번째 테스트1. 필요한 라이브러리를 import하고 .env에 넣어둔 API_KEY를 사용할 수 있게 연결원래 gpt-3.5-turbo 모델 사용했는데 이번엔 gpt-4o-mini를 사용해보았다.import os..
[AI] LangChain 사용해보기2
·
AI
이전에 처음 사용했던 LangChain 코드를 조금 더 예시 맛집 데이터를 넣고 테스트를 진행했다. 예시 데이터restaurants = [ { "name": "해운대 고기집", "type": "한식", "price": "중가", "region": "부산 해운대", "suitable_for": "가족", }, { "name": "광안리 초밥집", "type": "일식", "price": "고가", "region": "부산 광안리", "suitable_for": "친구", ..