皆さん開発にChatGPTなどのAIを用いていますか?今の時代LLMを用いて開発することが主流だと思うが,なかなかやり方が分からず手を出せない人もいるだろう.そこで本記事ではOpenAIのAPIキーを取得して,実際にpythonの入力値に対してGPTが答えてくれるコードを説明する.
OpenAIのAPIキーを取得する
OpenAIのホームページにアクセスし,Products
-API login
を選択する.
その後,OpenAIのアカウントでログインする.ここではAPI
を選択する.
+ Create new secret key
を選択する.すると,作成するAPIキーの名前が聞かれるので答えたらキーが出てくる.
キーは1回しか表示されないので注意
PythonでChatGPTに聞けるコードを書く
from openai import OpenAI
text = input("テキストを入力してください\n")
client = OpenAI(api_key='OpenAIのAPIキー')
prompt = f"以下の単語を説明して:\n\n{text}"
response = client.chat.completions.create(
model="モデル",
messages=[
{"role": "system", "content": "前提条件"},
{"role": "user", "content": prompt}
],
max_tokens=300
)
print(response.choices[0].message.content.strip())
ここに先ほど取得したキーを記述.
api_key='OpenAIのAPIキー'
ここにLLMモデルを記載
model="モデル",
ここに使えるモデル一覧がある(料金も)
ここにはじめに入力する前提条件を書いても良い.(別になくても良い)
例えば,日本語で説明して,など
{"role": "system", "content": "前提条件"},
入出力する最大トークン数を指定.
max_tokens=300
なんとこれだけでGPTを使えちゃうのだ.
おまけ
トークンをケチる方法
実は日本語のトークン数は英語の3倍らしい.これは大損である.そこで無料で使える量には限界があるが,Google翻訳のAPIを用いて日本語を英語に直してその後出力結果を英語に再翻訳するとトークンが少なく済む.
Google翻訳は5000字/日まで無料みたいです.
import googletrans
translator = googletrans.Translator()
# 翻訳したい言語を指定
target_lang = 'en' # 英語に翻訳
# 翻訳したい文字列を入力
input_text = "翻訳したい日本語の文字列"
# 翻訳結果を取得
translated_text = translator.translate(input_text, dest=target_lang).text
# 翻訳結果を出力
print(f"翻訳結果: {translated_text}")
これを先ほどのpythonのコードに組み込めばトークンをケチることができる.