본문 바로가기

TIL

(90)
[bash] shebang이란? shebang이란? sharp(#) + bang (!) 합성어이며 Unix 계열 OS에서 스크립트 코드 최상단에서 해당 파일을 해석해줄 인터프리터의 절대경로를 지정해주는 기능을 갖는다. * 근데 왜 'sha'rp 인데 'she'bang으로 된거지... 일반적으로 사용하는 shebang #!/usr/bin/env bash #!/usr/bin/env python #!/bin/bash ... 사용방법 bash같은경우에는 shebang없이 bash script를 작성하고 실행하기 위해서는 다음과같은 명령어로 진행된다. bash test.sh 하지만 test.sh에 shebang을 추가하고 실행권한을 부여한다면 아래와같이 실행을 할수있다. # test.sh에는 "#!/usr/bin/env bash" 라는 sheb..
[Slack] ChatGPT Slack 챗봇 만들기 (3편) 앞 포스팅에서 ChatGPT 기본환경 세팅, FastAPI기본환경 세팅에 대해서 정리했고. 이번 포스팅에서는 마지막으로 Slack에서의 세팅을 진행한다. 일단 내가 원하는 Slack에서의 ChatGPT활용방식은 /chatgpt "메세지" 를 입력하면 메세지에 대한 내용을 ChatGPT가 어떻게 대답하는지 보여주고싶었다. 그래서 Slack앱 옵션 화면을 가보면 왼쪽 카테고리에 "Slash Commands"라는 카테고리가 보일것이다. 위와같은 화면에서는 이미 내가 만들어놓은 명령어가 있지만 새로 만들어본다. "Create New Command"를 선택한다. 그리고 다음과같은 내용을 기입한다. Command - 말그대로 slack에서 어떤 명령어를 쳐야지 내가 만든 챗봇이 불리는지에 대한 정의이다. Reque..
[Slack] ChatGPT Slack 챗봇 만들기 (2편) 앞선 페이지에서 ChatGPT에 대한 기본적인 설정을 하였다. 이번 포스팅에서는 FastAPI를 사용하기 위한 환경을 구축해본다. 자세히는 설명하기가 너무 길어질것같고. 최대한 요약해서 설명을 해보려고한다. 필자는 AWS EC2환경에서 Docker 로 FastAPI를 띄우는 컨테이너를 만들었다. 먼저 app이라는 디렉토리를 생성한다. mkdir app 그리고 해당 디렉토리 아래에 다음과같은 파일들을 옮겨놓는다. 먼저, 앞 포스팅에서 작업했던 chatgpt.py파일을 옮겨놓는다. 그다음 fastapi에서 사용하기 위한 main.py를 아래와같이 작성한다. from fastapi import FastAPI, Request from chatgpt import ChatGPT from slack_sdk impor..
[Slack] ChatGPT Slack 챗봇 만들기 (1편) 해당 포스팅은 제가 작업한 내용을 기록하기 위한 목적입니다. 설명이 많이 부족할수있는점 참고 부탁드리겠습니다. 주말에 개발을 한번 해보고자 요즘 핫한 ChatGPT를 활용하여 Slack 챗봇을 만들어보기로했다. 일단 해당 챗봇을 만들기 위한 요소들을 나열해보자면 Python slack_sdk FastAPI AWS EC2 (또는 개인 컴퓨터) Docker 등이 될것같다. 먼저 ChatGPT를 사용하기 위해서 OpenAI에 회원가입을 진행한다. https://openai.com/api/ OpenAI API OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence ben..
[Python] whl파일 생성시 setup.py install_requires 특정 파일로 install되게끔 설정하는 방법 업무중에 패키징화(whl파일생성)를 하는 작업이있는데, install_requires부분에 특정파일을 이용하여 설치가 필요한 패키지가있었다. 사실 패키징화만 아니라면 간단하게 아래 명령어로 설치할수있다. pip install {PACKAGE_NAME} -f {PACKAGE_URL or PACKAGE_FILE_LOCATION} 하지만 setup.py의 install_requires에는 위와같은 -f 옵션을 별도로 넣어줄수가없는 상태여서 설치가 어렵다. 여러 사이트를 조사해본결과 아래와같이 해결할수있다. install_requires=[ "{PACKAGE_NAME}@{PACKAGE_URL}" ], 패키지 이름과 패키지 위치 또는 URL정보 사이에 골뱅이(@)를 넣어주면 해결된다! 아래는 torchvision..
[Shell Script] 인자값 이쁘게(?) 받기 Shell Script관련 작업이 생겨서, 작업을하다 문득 인자값을 넣어주는부분이 생각보다 어려워서 기억하고자 해당 글을 작성합니다. 제일 먼저 사용방법에 대한 출력이 필요할때는 아래와같이 shell script함수를 선언하는게 좋을것같다. usage(){ cat
[Conda] CondaEnvironmentError 해결방법 Docker 안에서 conda activate/conda env remove 명령어를 사용하려고하니 아래와 같은 에러문이 발생했다 CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again 해결방법은 위 명령어를 실행하기전에 아래와 같은 명령어를 추가해주면 해결된다(간단...) source activate
[Conda] conda package 설치시 SafetyError 또는 ClobberError발생 해결법 conda에서 새로운 python가상환경을 만들고, 새로운 패키지를 설치할때 발생했는데. 일단 위와같은 에러문이 발생하는건 두가지 이유인데, 모종의 이유로 패키지삭제가 완벽하게 안됐다거나, 이미 존재하는 패키지와 충돌하는 경우로 나뉠것같다. 결론부터 얘기하자면, 지우는걸 깔끔하게 지워줘야한다. 아래명령어를 실행하면된다. conda clean은 conda에 남아있는 불필요한 파일,캐시등을 자동으로 삭제해주는 명령어이다. #삭제하려는 python 가상환경 이름입력 conda env remove -n [VIRTUAL_ENV_NAME] # 자동으로 yes를 입력하고싶다면 뒤에 -y 옵션 추가 conda clean -a -y 참고로, 가상환경이 깔끔하게 삭제가 안됐음에도 불구하고 conda env list 명령어..