>

2024/09 12

DB 두 개 사용할 때..

# createdb.py# 데이터 업데이트 시 파일 변경 필요.# 그때마다 csv형식의 데이터를 json형식으로 변환시켜줘야 함.# 이를 위한 코드.import csvimport sqlite3# 파일 읽기fileName = r"C:\SceneTrip\한국문화정보원_미디어콘텐츠 영상 촬영지 데이터_20221125.csv"file = open(fileName, "r", encoding="cp949")reader = csv.DictReader(file)# DB연결 및 커서 객체 생성dbConn = sqlite3.connect(r"C:\SceneTrip\locationdata.sqlite3")cs = dbConn.cursor()# 테이블 생성cs.execute( """CREATE TABLE IF NOT E..

TIL 2024.09.30

DRF프로젝트에서 CSV 파일 사용하기

📑 csv파일 사용하기데이터 조회 기능이 있는 오픈 API를 이용하는 것보다 효율성 측면에서 파일을 직접 다운받아서 사용하는 것이 낫겠다는 판단을 내렸다. 오픈 API를 이용하면 데이터가 업데이트될 때 우리 쪽에서 따로 업데이트 내용을 반영할 필요가 없다는 장점이 있지만 오픈 API에서 지원하지 않는 검색, 정렬 기능을 구현하는 부분에 있어서 오픈 API를 통해 데이터를 전부 받아오고 그걸 다시 정렬해야하다보니 너무 비효율적이었다. 그래서 그냥 처음부터 다시 구현을 시작하기로 했다... 그래도 오픈 API를 한번 사용해보았다는 것에 의의를 가지자..!! 이제 어떻게 쓰는지 알았으니 다른 부분에서 다른 오픈API를 사용하면 될 것 같다. 기본적인 구현이 끝나면 팀원분들에게 건의해봐야겠다  데이터를 그냥 ..

TIL 2024.09.27

오픈 API 이용하기

📑Open API 이용하기문화 공공데이터 광장에서 제공하는 오픈 API를 이용해보자. 🔗1. 오픈API 선택2. 활용신청3. 오픈API 키 발급(활용신청 후 즉시 이메일로 받을 수 있음)4. URL+오픈 API 키를 이용한 API 호출  Open API URL 조합 예시요청URL + Service Key + 검색조건 값(파라미터)예)http://api.kcisa.kr/openapi/service/rest/meta16/getkopis01?serviceKey={서비스 키}&numOfRows=10&pageNo=1  views.pyfrom django.shortcuts import renderfrom django.conf import settingsfrom rest_framework import status..

TIL 2024.09.26

12주차 Day 1. Django DRF로 계정 기능, 상품 기능 구현하기

트러블 슈팅 - auth_user 테이블이 없다고 에러가 발생했다.OperationalError at /api/accounts/usernameno such table: auth_user from django.contrib.auth import get_user_modelUser = get_user_model() 을 추가해야 해결되는 문제였는데 get_user_model()이 뭘까? ▹장고에 내장되어있는 User 모델을 사용하는 경우에는 django.contrib.auth.get_user_model() 함수를 호출하여 django.contrib.auth.models.User 클래스를 반환하고, 사용자 정의 User 모델을 구현하여 쓰는 경우에는, settings.py 파일에 AUTH_USER_MODEL 설정..

TIL 2024.09.09

11주차 Day 5. LangChain

LLMLangChain대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 위한 프레임워크.Ai모델의 능력을 극대화하고, 개발 과정을 간소화하여 강력하고 유연한 AI 애플리케이션을 만들 수 있게 해준다.python, javascript (python이 더 주언어) - 모듈성: 다양한 컴포넌트를 제공하여 개발자가 필요에 따라 조합하고 커스터마이즈할 수 있다.- 통합성: 다양한 AI 모델, 데이터 소스, 외부 도구들과의 쉬운 통합을 지원한다.- 효율성: 복잡한 AI로직을 간단한 체인으로 구현할 수 있어 개발 시간과 비용을 절감할 수 있다.- 확장성: 소규모 프로젝트부터 엔터프라이즈 솔루션까지 다양한 규모의 애플리케이션 개발에 적합하다.  사용해보기언어모델 사용하기.프롬프트 템플릿과 출력 파서 사용하기.랭체..

TIL 2024.09.06

11주차 Day 4. RAG

📑 LLM일반적인 LLM의 문제점- 할루시네이션: 실제로 존재하지 않는 정보를 지어냄. 요즘은 프롬프트 처리(ex. 모르면 대답하지 않기 등)가 잘 되어있어서 덜하다.- 학습된 지식이 아니면 답변이 어려움. 정확한 답변을 얻으려면 맥락을 제공해야 함.    RAGRetrival-Augmented Generation. 검색증강생성.답이 있을만한 문서를 검색해서 정보가 들어있는 문서들을 잘게 쪼개서 임베드.그리고 그 임베딩들을 DB에 저장.질문과 연관되어 보이는 것을 잘게 쪼갠 것들 중에서 골라 가져오고(Retrieve) 그것들이 맥락이 됨.그것들을 프롬프트에 추가하고, LLM이 그것을 읽고 답변을 준다.   컴퓨터가 비슷한 문서를 찾는 방법컴퓨터에서 유사도를 비교할 때 (두 점 사이의 거리를 계산하는 것..

TIL 2024.09.05