본문 바로가기
카테고리 없음

openrouter AI 툴을 활용한 매개변수값 조정

by 퍼포먼스마케팅코더 2024. 3. 21.
반응형

openrouter AI 툴을 활용한 매개변수값 조정

 

import requests
import json

# openrouter.ai에서 무료 AI 모델을 찾아서 아래 "model" 내에 넣으면 된다.
response = requests.post(
  url="https://openrouter.ai/api/v1/chat/completions",
  headers={
    "Authorization": "<your_api_key>",
    # "HTTP-Referer": "{YOUR_SITE_URL}", # Optional, for including your app on openrouter.ai rankings.
    # "X-Title": "{YOUR_APP_NAME}", # Optional. Shows in rankings on openrouter.ai.
  },
  data=json.dumps({
    "model": "google/gemma-7b-it:free", # Optional
    "messages": [
      {"role": "user", "content": "인생은 뭐니? 한국말로 대답해봐."}
    ],
    "top_p": 1,
    "temperature": 0.7,
    "frequency_penalty": 0,
    "presence_penalty": 0,
    "repetition_penalty": 1,
    "top_k": 0,
  })
)

json_data = json.loads(response.text)
result_message = json_data['choices'][0]['message']['content']
print(result_message)

이 코드에서 사용된 매개변수들은 AI 모델의 생성된 텍스트의 다양성과 관련성을 조정하는 데 사용됩니다. 각 매개변수의 의미는 다음과 같습니다:

  • top_p: 소프트맥스의 출력에서 높은 확률을 가진 토큰들의 누적 확률이 이 값에 도달할 때까지만 고려. top_p=1은 모든 토큰을 고려한다는 것을 의미하며, 이는 모델이 가능한 모든 단어를 고려하여 응답을 생성한다는 것을 의미.
  • temperature: 값이 낮을수록 (예: 0에 가까울수록) 출력이 보수적이 되며, 높을수록 (예: 1에 가까울수록) 출력이 다양해짐. temperature=0.7은 적당한 수준의 창의성을 부여하면서도 일관된 텍스트를 생성하도록 함.
  • frequency_penalty: 생성된 텍스트에서 특정 단어의 반복을 억제. 값이 클수록 같은 단어가 반복되는 것을 더 많이 피하려고 합니다. frequency_penalty=0은 이 기능을 사용하지 않음.
  • presence_penalty: 이미 등장한 단어나 구절의 재등장을 억제합니다. 값이 클수록 이미 나온 내용을 피하려고 합니다. presence_penalty=0은 이 기능을 사용하지 않음을 의미.
  • repetition_penalty: 반복을 줄이기 위해 사용되며, 값이 1보다 크면 반복을 줄이려고 시도하고, 1보다 작으면 반복될 가능성이 높아짐. repetition_penalty=1은 기본값으로, 반복에 대한 특별한 처리를 하지 않음을 의미합니다.
  • top_k: 가장 가능성이 높은 k개의 토큰만을 고려하여 다음 토큰을 선택. top_k=0은 모든 토큰을 고려한다는 것을 의미합니다.

이러한 매개변수들은 AI 모델의 응답이 얼마나 창의적이거나 예측 가능한지, 그리고 특정 단어나 구절의 반복을 얼마나 허용할지를 조정하는 데 도움을 줍니다.

반응형

댓글