검색결과 리스트
AWS에 해당되는 글 2건
- 2024.01.22 AWS Lambda python 3.12 전환 111
- 2024.01.21 티스토리 API와 Open AI Model 만료에 따른 수정사항 정리 117
글
AWS Lambda python 3.12 전환
Lambda 에서 python 3.4 -> 3.12 전환하며 발생한 문제점
1. No Module named 'pydantic_core._pydantic_core' 발생
- 기존에 사용하지 않았던 pydantic 모듈 에러가 갑자기 발생(무슨 모듈인지도 모른다...)
- 기존에 labmda가 잘 돌아가고 있었고, 추가로 한 작업은 아래와 같다
1. 노트북 -> 데스크톱으로 작업환경을 변경했기에 신규 Python 3.12 버전 설치
2. 기존에 lambda에서 사용하던 site-packages를 다운로드
3. 사용하는 모델이 deprecated됨에 따라 openAI 사용 API 변경
- 모델 엔진 : text-davinci-003 -> gpt-3.5-turbo-1106
- 사용 함수 : openai.Completion -> chat.completions
4. openAI 신규 모듈 설치
5. 신규 openAI 모듈을 2번에서 받은 site-packages에 복사
6. zip으로 압축하여 신규 Layer 생성
7. gpt-3.5-turbo-1106 모델을 사용하는 python 코드 lambda에 deploy
8. 변경된 Layer로 labmda 수행
- 복잡한 작업은 없기에 당연히 수행이 완료될 줄 알았으나 pydantic 오류가 발생했다.
AWS lambda가 python 3.12를 지원하기 시작한게 2023.12월이기에 이제 막 한달이 지난 시점이다.
이 때문에 발생하는 오류인가???
> 응 아니야
열심히 구글링 한 결과 비슷한 오류를 겪는 사용자들이 있던 것을 발견!!
- https://github.com/pydantic/pydantic/issues/6557
문제의 원인은 pip로 설치한 모듈의 아키텍쳐가 lambda에서 설정한 아키텍쳐와 달라서 발생한 문제이다!!!
AWS Lambda에서 python 3.12는 arm64 버전으로 구동을 지원한다.
*로컬에서 pip install pydantic 으로 모듈 설치 시 arm64가 아닌 x86 아키텍처로 모듈이 설치되고 있었다.
내게 발생한 문제는 pydantic_core 문제이므로 관련된 pydantic* 패키지들을 arm64 아키텍처로 설치하면 된다.
가이드 문서에도 나와 있는 형태로 모듈을 설치하면 된다
#pydantic arm64 설치
pip install --platform manylinux2014_aarch64 --target=package --implementation cp --python-version 3.12 --only-binary=:all: --upgrade pydantic==2.5.3
#pydantic-core arm64 설치
pip install --platform manylinux2014_aarch64 --target=package --implementation cp --python-version 3.12 --only-binary=:all: --upgrade pydantic_core=2.14.6
*pydantic 모듈 설치 후 lambda에서 동작할 수 있도록 작업해주면 된다.
- site-packages를 zip으로 압축하면 된다. (.zip으로 계층을 생성하는 경우 python\python\모듈들.. 형태로 압축해야한다)
- lambda > 계층 > 본인 Lambda Function > 버전 생성 으로 신규 계층을 생성한다.
*참고) arm64 모듈 설치 AWS 가이드 https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/python-package.html#python-package-native-libraries
'Study Plan' 카테고리의 다른 글
티스토리 API와 Open AI Model 만료에 따른 수정사항 정리 (117) | 2024.01.21 |
---|---|
AI 이모저모 (11) | 2023.08.09 |
티스토리 자동화를 위한 Step2 고민 (14) | 2023.07.31 |
커리어 플랜 (0) | 2023.05.02 |
설정
트랙백
댓글
글
티스토리 API와 Open AI Model 만료에 따른 수정사항 정리
1. 티스토리 Open API 종료
- 2월 말까지 순차적으로 종료될 예정
https://notice.tistory.com/2664
- 왜 종료하는가에 대한 의문은 있다..
- 타 플랫폼은 지원하는데 티스토리만 api 지원을 중단하는게 참으로 안타깝다 (브런치 플랫폼을 활성화하고자 카카오에서 버리려는 것 일수도?)
- 여튼 현재 작성하고 있는 billboard 파헤치기는 api 지원 종료 시점부터 자동 글쓰기가 불가능하므로 다른 방법을 찾아봐야겠다.
2. Open AI 모델 deprecated
- 티스토리 API 가 종료되지 않았는데도 billboard 파헤치기 글이 작성되지 않고 있었다. 확인해보니 내가 사용중이던 모델이 더이상 지원되지 않는다고 한다. (현재 사용 중인 모델은 text-davinci-003 이다.)
- 2월에 종료될 예정이나.. python과 open AI api 공부나 할 겸 새로운 모델인 gpt-3.5-turbo-1106를 적용해 보도록 하자
- text-davinci-003 에서 gpt-3.5-turbo-1106 모델로 바뀜에 따라 API 사용방식에 많은 변화가 생겼으므로 고려할게 많아졌다.
# Asis openai api 사용법 (completion)
openai.api_key = "API Key" # Replace with your API key
# 모델 엔진 선택
model_engine = "text-davinci-003"
# 맥스 토큰
max_tokens = 2048
# 블로그 생성
completions = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=max_tokens,
temperature=0.3, # creativity
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
# Tobe openai api 사용법 (Chat)
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=[
{
"role": "user",
"content": ""
}
],
temperature=1,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
3. Todo List
- 데스크톱에 python 환경세팅
- open ai 의 chat api 사용법 확인
- 기능 구현 확인 및 테스트
- 현재 AWS의 lambda로 자동 글쓰기 스케쥴링을 걸어놓았으므로 업데이트
> 다만, asis 환경은 python 3.2 버전이고 신규 openai는 3.7 이상 필요하므로 lambda의 python 환경설정도 업데이트 해줘야함
- vue 공부도 더 해야함~
'Study Plan' 카테고리의 다른 글
AWS Lambda python 3.12 전환 (111) | 2024.01.22 |
---|---|
AI 이모저모 (11) | 2023.08.09 |
티스토리 자동화를 위한 Step2 고민 (14) | 2023.07.31 |
커리어 플랜 (0) | 2023.05.02 |