LLM 적용기
LLM 을 적용해야한다.
일단 위에 접은 글 처럼 프롬프팅을 해봤는데 계속 string 으로 나와서 해당 링크를 참고해서 json 파일로 변환해봤다.
https://platform.openai.com/docs/guides/structured-outputs/json-mode
여기서 확인하면
이런식으로 정하는게 가능하다고 적혀있다. 그래서 적용해보니 또 문제가 발생했다.
내가 원했던 건 저기서 애초에 json 파일로 온다고 생각했는데 살펴보니 string 으로 와서 계속 이런식으로 작동되었다.
"{\n "id": 69,\n "content": "광화문에서 친구 만나기",\n "start_date": "2024-08-07",\n "end_date": "2024-08-07",\n "category_id": 1,\n "order": "0|i000ac",\n "is_completed": false,\n "children": [\n {\n "content": "광화문 가는 길 확인하기",\n "date": "2024-08-07",\n "todo": 69,\n "order": null,\n "is_completed": false\n },\n {\n "content": "친구와 만날 장소 정하기",\n "date": "2024-08-07",\n "todo": 69,\n "order": null,\n "is_completed": false\n },\n {\n "content": "만날 시간 정하기",\n "date": "2024-08-07",\n "todo": 69,\n "order": null,\n "is_completed": false\n },\n {\n "content": "음료수 또는 간식 준비하기",\n "date": "2024-08-07",\n "todo": 69,\n "order": null,\n "is_completed": false\n }\n ]\n}"
이래서 들었던 고민은 일단 json 파일 형식은 맞긴한데.. 근데 또 뭔가 이상한데 라는 생각과 type 을 찍어보니 str 이라서 이대로 보내면 안되지 않나 싶은 생각이 들었다. str-> json 을 하기 위해 서치를 해봤다. 여러군데 둘러봤다.
https://ourcstory.tistory.com/106
[Python] json 모듈 사용하기 :: String을 Dict으로 변환
들어가며 HTTP 통신을 하면서 data를 주고 받을 경우에 json형태로 데이터를 주고 받을 때가 많습니다. 또한 python에서는 dict의 type을 자주 사용하기 때문에 String을 dict으로 변환할 줄 알아야 하는데
ourcstory.tistory.com
사실 가장 도움이 되었던 건 stack overflow 에 있었던 내용이었는데 홈페이지를 잃었다.
일단 여기에 있는 json.loads로 하니까 원래 원하던 대로 작성이 되서 완료했다.
근데 아직 test가 많이 부족해서 일단 오늘은 여기까지하고 내일 테스트를 해봐야할 것 같다.
Python ruff 적용기
Python Linter로 Ruff를 사용해보기(feat. pre-commit)
최신 Python Linter인 Ruff를 알아보자
velog.io
참고해봤다. 생각보다 간단해보여서 적용해 볼 예정이다
Ruff
Ruff Docs | Playground An extremely fast Python linter and code formatter, written in Rust. Linting the CPython codebase from scratch. ⚡️ 10-100x faster than existing linters (like Flake8) and formatters (like Black) 🐍 Installable via pip 🛠️ py
docs.astral.sh
사실 오후에 일정이 있어서.. 이건 내일해야 할 것 같다.
'소프트웨어 마에스트로 > BackEnd(Django)' 카테고리의 다른 글
| [백엔드] sentry django 적용기 (0) | 2024.08.12 |
|---|---|
| [백엔드] Django logfire -> sentry logging (0) | 2024.08.08 |
| [백엔드] logging 및 api 관련 기록 (0) | 2024.08.05 |
| [백엔드] fat model 적용기 2 + 테스트케이스(pytest) (5) | 2024.08.02 |
| [백엔드] manager 넣어보기! (0) | 2024.08.01 |