생성 

  • command + n : 파일 생성 
  • pvsm : public static void main

 

출력

  • sout :  System.out.println 

 

실행

  • control + shift + r : 현재 파일 실행
  • control + r : 직전에 실행한 파일 실행

 

라인 편집

  • command + d : 라인 복사
  • command + delete : 라인 삭제
  •  control + shift + j : 현재 위치를 기준으로 아래 라인을 합침
  • option + shift + 위/아래 : 라인 위치 이동 
  • command + shift + 위/아래 : 구문 안에서만 라인 이동
  • command + option + shift 좌/우 : element 이동

 

코드 보기

  • command + p : 생성자/메소드 파라미터 보기
  • option + space : 코드 전체 보기 
    • 클래스 : 클래스 구현 전체 코드  
    • 메소드 : 메소드 구현 코드
    • 인스턴스 : 인스턴스 생성 코드
  • F1 : java 메소드 docs 

 

포커스(커서) edit

  • option + 위 : 현재 범위로 부터 관련있는 범위로 확장
  • option + 아래 : 현재 범위로 부터 관련있는 범위로 축소
  • command + [ : 이전 포커스로 이동 (command + z를 포커스에 적용)
  • command + ] : 원래 포커스로 이동 (command + y를 포커스에 적용)
  • option x 2 + 위/아래 : 멀티 포커스
  • F2 : 오류로 이동

 

검색

  • command + r : 문자열 변경
    • replace : 하나씩
    • replace : 전체
  • command + shift + r : 전체 파일 문자열 변경
  • command + shift + o : 파일 검색
    • 파일이 많을 경우 패키지명/파일명으로 검색가능
  • command + option + o : 메소드 검색 
  • command + shift + a : action 검색
    • IntelliJ내에 각종 설정 검색
  • command + e : 최근 열었던 파일 목록
  • command + shift + e : 최근 수정한 파일 목록

 

자동완성

  • control + shift + space : 스마트 자동완성
  • control + space x 2 : statoc 메소드 자동완성 
  • command + n : getter/setter/생성자 자동완성
  • control + i : overide 메소드 자동완성
  • option + enter : 에러 해결 

 

Live Template 

  • command + j : 모든 축약어 보여줌

 

리팩토링 Extract 

  • option + command + v : 변수 추출 
    • replace this : 선택한 부분만 변수로 추출 
    • replace all : 같은 값을 모두 변수로 추출 
  • option + command + p : 파라미터 추출
    • replace all : 같은 값을 모두 파라미터로 추출
    • delegate : overide 메소드를 만들어서 추출 
  • 마우스 drag + option + command + m  :  메소드 추출
  • F6 : inner 클래스 추출
    • 외부에 생성하고 기존 코드는 제거
    •  패키지가 달라질 경우 자동으로 import도 해줌

 

리팩토링 기타

  • shift + F6 + 작성 : 이름 일괄 변경
    • command + r과 같은 것으로 보임. 
  • command + shift + F6 : 타입 일괄 변경
    • return 값의 경우 직접 바꾸긴해야함.
  • control + option + o : 사용하지 않는 import 제거 
    • 자동으로 정리 : "optimize import on" action을 on으로 변경
  • command + option + l : 정렬 

 

 

 

  • docker 실행
docker run <이미지 이름>
  • docker 실행중인 컨테이너 출력 
     
    • CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값
    • IMAGE : 컨테이너 생성 시 사용한 도커
    • COMMAND : 컨테어니 시작 시 실행한 명령어
    • CREATED : 컨테이너 생성 시간
    • STATUS : 컨테이너 상태 (실행 : up, 종료 : Exited, 일시정지 Pause)
    • PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트 
    • NAMES : 컨테이너 고유한 이름 
docker ps
  • docker create and start
    • create + staet = run
    • create가 따로 필요한 이유 추가 예정 
docker create <이미지 이름>
docker start <컨테이너 이름/id>
  • docker stop and stop(중지)
    • stop : 그동안 하던 작업들을 완료하고 중지
    • kill : 작업을 기다리지 않고 중지 
docker stop <컨테이너 이름/id>
docker kill <컨테이너 이름/id>
  • docker rm(삭제)
docker rm <컨테이너 이름/id> #컨테이너 삭제
docker rm `docker ps -a -q` #모든 컨테이너 삭제
docker rmi <이미지 id> #이미지 삭제
  • docker exec
    • 실헹증인 컨테이너에 명형어 전달
docker exec <컨테이너 이름/id>
  • -it
    • i : interactive
    • t : terninal
    • 실행 후 명령어를 계속 적을 수 있음
docker run -it <이미지 이름>
docker exec it <컨테이너 이름/id>

api 발급

환경 세팅 

conda create -n gpt python=3.9
conda activate gpt
pip install openai

 

예제 코드

import openai
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("-m", "--model", default="turbo", type=str)
args = parser.parse_args()

openai.api_key = "" # 긱지 개인 키 입력


def davinci_model_run():
  print("text-davinci-003")
  prompt = input("질문의 내용을 입력하세요 : ")
  response = openai.Completion.create(
    model="text-davinci-003",
    prompt=prompt,
    temperature=0.9,
    max_tokens=2000,
    top_p=1,
    frequency_penalty=0.0,
    presence_penalty=0.6,
  )
  generated_text = response.choices[0].text
  print("답변 :", generated_text)


def turbo_model_run():
  # 모델 - GPT 3.5 Turbo 선택
  model = "gpt-3.5-turbo"
  print("gpt-3.5-turbo api")

  # 질문 작성하기
  query = input("질문의 내용을 입력하세요 : ")


  # 메시지 설정하기
  messages = [
          {"role": "system", "content": "You are a helpful assistant."}, # chatGPT에게 원하는
          {"role": "user", "content": query}
  ]
  # ChatGPT API 호출하기
  response = openai.ChatCompletion.create(
    model=model,
    messages=messages,
    temperature=1,
    top_p=1,
    n=1,
    stream=False,
    stop=None,
    presence_penalty=0,
    frequency_penalty=0,
  )
  answer = response['choices'][0]['message']['content']
  print("답변 : " + answer)


def main():
  if args.model == "turbo":
    turbo_model_run()
  else:
    davinci_model_run()

if __name__ == '__main__':
     main()

 

 

'ai > chatGPT' 카테고리의 다른 글

ChatGPT-api 정리  (0) 2023.03.22

model : gpt-3.5-turbo

https://openai.com/blog/introducing-chatgpt-and-whisper-apis

 

Introducing ChatGPT and Whisper APIs

Developers can now integrate ChatGPT and Whisper models into their apps and products through our API.

openai.com

 

파라미터 

messages = [
        {"role": "system, user, assistant 중 선택", "content": "role에 알맞게 메세지 작성"},
        {"role": "system, user, assistant 중 선택", "content": "role에 알맞게 메세지 작성"},
]
  • temperature
    • Optional
    • type : float(0.0 ~ 2.0) 
    • default : 1
    • 높을 수록 random, 낮을수록 deterministic 답변을 줌(테스트 해봐야 알 것 같음)
    • top_p과 같이 변경하는 것은 권장하지 않음
  • top_p 
    • Optional
    • type : float(0.0 ~ 1.0)
    • default : 1
    • model이 생성한 token 결과를 sampling 함(테스트 해봐야 알 것 같음)
    • temperature과 같이 변경하는 것은 권장하지 않음
  • n
    • Optional
    • type : float
    • default : 1
    • 유저 메세지에 대해 생성할 대화 개수 
  • stream
    • Optional
    • type : boolean
    • default : false
    • 보류
  • stop
    • Optional
    • type : string or array(최대 4개)
    • default : null
    • token을 생성을 종료하는 키워드 지정. 
  • max_tokens
    • Optional
    • type : integer
    • default : inf
    • 최대로 생성할 수 있는 token 길이로 보통 4096개이다.
  • presence_penalty
    • Optional
    • type : float(-2.0 ~ 2.0)
    • default : 0
    • token을 만들 때 sampling 한 결과를 기억해 페널티를 주는 방식. 양수는 새로운 주제를, 음수로 갈수록 기존의 주제를 반환할 확률이 올라감.
  • frequency_penalty
    • Optional
    • type : float(-2.0 ~ 2.0)
    • default : 0
    • token을 만들 때 sampling 한 결과를 기억해 페널티를 주는 방식. 한번의 답변에 대해 양수는 동일한 말을, 음수로 갈수록 새로운 말을 반환할 확률이 올라감. 
  • logit_bias
    • Optional
    • type : map
    • default : null
    • 보류
  • user
    • Optional
    • type : string
    • 최종 사용자를 나타내는 고유 식별자 

 

참조 

https://platform.openai.com/docs/api-reference/chat/create

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

https://wooiljeong.github.io/python/chatgpt-api/

 

ChatGPT API Python 사용법 (feat.DALL-E, Karlo)

ChatGPT API Python 사용법 (feat.DALL-E, Karlo)

wooiljeong.github.io

 

'ai > chatGPT' 카테고리의 다른 글

chatGPT-api 예제 코드  (0) 2023.03.26

+ Recent posts