오늘 해야 하는 일이다.
1. LLM 시간 줄이기
2. Lexorank 를 user_id + 속성 마다 줄 수 없는지 알아보기
일단 2번부터 해보자면..
여기에 적혀있었는데 order_with_respect_to 를 사용하면 될 것 같다.
일단 사용해보는 걸로 해보자
저 부분을 넣고 makemigration 을 작동해도 다른 점이 없다고 한다. 이유는 모르겠다.
일단 테스트를 돌려보는 걸로 해보자.
잘 진행이 되었다.
앞에는 category 의 rank, 뒤에는 todo의 rank 인데 일단 둘이 같은 값이여도 괜찮은게 확인되었고 추가적으로 다른 user_id를 주었을 때 같은 값이 나오는지 확인해본다.
아쉽게도 user_id 가 달라도 todo_id 는 모두 같은 순서를 적용하는 것 같다. 조금 슬픈일이 되지만 모델을 그대로 사용하지 못할 것 같다. update하거나 할당해 주는 방식을 바꿔줘야 할 듯 싶다. 근데 아직 그럴 정도는 아닌 것 같아서 대략 마무리하면 될 것 같다.
두번째로 해야하는일은 LLM 의 시간을 줄여볼 예정이다.
어제 해본 건 prompt 줄이기 였고 한 0.1초 정도 줄일 수 있었다.
두번째로 해볼 것은 max_token을 줘볼 예정이다.
https://akku-dev.tistory.com/32
포스트맨(Postman) API 반복 요청하기
테스트 데이터를 다량 생성해야 할 일이 생겼다. DB에 INSERT문으로 쭉 밀어넣기엔, 동시에 다른 테이블에도 데이터가 생성되야 했기 때문에 API 요청으로 처리하는게 쉬워보여서 평소에 API 요청과
akku-dev.tistory.com
일단 여기를 통해서 여러번 포스트맨 요청을 줄 수 있도록 수정해보았다.
이제 테스트할 때 편할 것 같다....
서버가 또 롤백되었다. 또롤백
팀장님과 함께해결해보니 내가 바꾼게 문제였다.
settings dev 파일인데 이게 문제였다. 저기서 원래 *이여서 모든 설정을 들고오는느낌인데 이걸 저렇게 사용하는 것만 받아오는 식으로만 하다보니 필요한게 없어서 나는 에러였다.
어쨋든 금방 해결할 수 있어서 다행이었다...
max_token을 부르도록 하고 싶었는데 계속 에러가 발생해서 왜 그런건지 파악해보니까 max_token은 사용하지 않는다는 것이었따이...
그래서 저 max_completion_tokens 를 진행해봤는데..
음.
asynccompletions 에 대해서 한번 봐야할듯싶다.
찾다보니 하나를 알게 되었는데
저번에 설정한 timeout 이 커넥션 풀링을 의미하는게 아니였다. 정말 말 그대로 timeout 을 말하는 것이었다.....
그래서 커넥션 풀링을 적용하면 또 뭔가 되지 않을 까 생각하고 있는 중이다. 럭키비키자나....!!
일단 커넥션 풀링을 나중에 해보고 max_token을 할 게 없는지 한번 찾아보는 중이다만 찾을 수 없었다..
안보인다...
커넥션 풀링을 다는 것이 더 우선일 듯 싶다.
다른 곳들 다들 보니까 openai-python 자체에서 connection pooling 을 주는 것 같진 않고
다들 httpx 를 사용해서 커넥션 풀링을 적용하는 것을 보였다.
그래서 httpx 를 통해서 connection pooling 을 적용하는 방법을 한번 찾아본다.
HTTPX
HTTPX A next-generation HTTP client for Python. HTTPX is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2. Install HTTPX using pip: Now, let's get started: >>> import httpx >>> r = http
www.python-httpx.org
주..줄였다...! 물론 저기 극단치가 있지만....!! 그래도 0.1 줄였다. 총 0.2나 줄였다...
더이상은 못 줄일 것 같다.... 일단 이정도에서 마무리하면 좋을 듯 싶다.
그래도... 3초 후반대니까 괜찮지 않을까.....?
추가적으로 header 를 받아올수 있는 방식이 있는 듯 하다.
그래서 한번 받아오도록 수정하면 Postman으로 요청을 보낼때 편할 것 같다.
'소프트웨어 마에스트로 > BackEnd(Django)' 카테고리의 다른 글
[django] 버그 해결기 + pycon + 넥토리얼 (1) | 2024.10.27 |
---|---|
[Django] postman 공부 + 프론트 (3) | 2024.10.25 |
[Django] openai 시간 줄이기 4회차 (3) | 2024.10.23 |
[Django] openAI connection pool적용기 3회차 (2) | 2024.10.23 |
[Django] polling 적용기 2회차 (2) | 2024.10.22 |