4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

皆さん開発にChatGPTなどのAIを用いていますか?今の時代LLMを用いて開発することが主流だと思うが,なかなかやり方が分からず手を出せない人もいるだろう.そこで本記事ではOpenAIのAPIキーを取得して,実際にpythonの入力値に対してGPTが答えてくれるコードを説明する.

OpenAIのAPIキーを取得する

OpenAIのホームページにアクセスし,Products-API loginを選択する.
スクリーンショット 2024-06-30 22.58.15.png
その後,OpenAIのアカウントでログインする.ここではAPIを選択する.
スクリーンショット 2024-06-30 22.59.33.png

API Keyを選択する.
スクリーンショット 2024-06-30 23.00.09.png

+ Create new secret keyを選択する.すると,作成するAPIキーの名前が聞かれるので答えたらキーが出てくる.

キーは1回しか表示されないので注意

スクリーンショット 2024-06-30 23.01.26.png

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のコードに組み込めばトークンをケチることができる.

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?