銀河鉄道

生成AI|Pythonでリクエストしてみよう[OpenAI APIとLangChain]

サムネイル
[LangChain]PythonでChatを実装する

生成AIを
学んでみよう

APIキー取得と
クレジットカード登録をしたら
Pythonで使える

OpenAI SDKで実行してみる

OpenAI SDKとは

Software Development Kit(ソフトウェア開発キット)

OpenAIのAPIをPythonから簡単に叩けるようにするための道具セット

OpenAIをインストールする

!pip install openai==1.58.1
なぜ 1.58.1 か?
  • 2024年5月時点での安定バージョン だから
    • サンプルとしてよく使われる

シンプルなリクエストをしてみる

学習用には
GPT-3.5 Turbo を指定する
(一番安いから)

from openai import OpenAI

client = OpenAI(api_key="---") # apiキーを記述する ※ただし本番は直書きしない!

chat_completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role":"user", 
            "content":"OpenAI APIとは?"
        }
    ]
)

print(chat_completion.choices[0].message.content)
注意)APIキーは絶対に直書きしない
  • コードは練習用
  • 流出したら勝手に使われてしまうので、注意が必要

注意:バージョンによって書き方は変わる

バージョン使い方の例
0.x.x旧スタイル:import openaiopenai.ChatCompletion.create(...)
1.x.x新スタイル:from openai import OpenAIclient.chat.completions.create(...)

返答結果

返ってきた答え

OpenAI APIは、人工知能開発企業であるOpenAIが提供するAPI(Application Programming Interface)のことです。OpenAI APIは、機械学習モデルに基づいて自然言語処理や画像生成などのタスクを行うためのインターフェースを提供しており、開発者が簡単にAIモデルを利用することができます。このAPIを利用することで、様々なAI応用の開発が可能になります。

LangChainで実行してみる

LangChainとは

OpenAI SDKを使って、便利な道具を積み重ねた“建築キット”

(より開発しやすい)

シンプルなリクエストをしてみる

from langchain_openai import ChatOpenAI
import config # apiキーを格納したファイル

llm = ChatOpenAI(
    api_key=config.OPENAI_API_KEY,
    model="gpt-4o-mini",
)

messages = [
    (
        "system",
        "あなたは日本人です", # 役割
    ),
    ("human", "日本一高い山は?"), # 質問
]
ai_msg = llm.invoke(messages)
print(ai_msg)

返答結果

返ってきた答え

日本一高い山は富士山です。標高は3,776メートルで、静岡県と山梨県の境に位置しています。富士山は日本の象徴ともされ、多くの観光客や登山者に親しまれています。

参考にしたUdemy講座

ざっくりOpenAI SDKとLangChainの違い

項目OpenAI SDK(素のコード)LangChain
📦 ライブラリの本質「API呼び出し」だけやる「構造設計フレームワーク」やる
🎯 用途自分で全て制御したいとき思考パターンやChainを構築したいとき
🧠 思考設計手動で考えるパターン(Chain)として再利用可能
🚀 実行形式1発リクエスト(基本)Chain実行、Memory保持、Tool呼び出しなど多様
💬 メッセージ形式自分で辞書書く(例:{"role": "user", ...}クラスベース(HumanMessageなど)で抽象化済み

それにしても
なぜPython?

実は
たまたまだったらしいの

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧