반응형
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 모델의 응답이 얼마나 창의적이거나 예측 가능한지, 그리고 특정 단어나 구절의 반복을 얼마나 허용할지를 조정하는 데 도움을 줍니다.
반응형
댓글