初めてのLLMプログラミング入門 〜LangChainを使ったAIとの対話〜
はじめに
リーディング・エッジ社で、エンジニアをしている和泉と申します。
生成AI(LLM: Large Language Model)を使ったプログラムを書いてみたいけれど、
「どうやって始めたらいいのかわからない」と感じている方も多いと思いますので、記事を書きました。
本記事では、初めてLLMを使ったプログラムを書く方向けに、実行環境の構築から実際のコードの動作までを詳しく解説します。
環境構築
まずは、プログラムを実行するための環境を構築しましょう。
1. Pythonのインストール
このプログラムはPython 3.8以上で動作します。以下のコマンドでPythonのバージョンを確認してください。
python --version
バージョンが3.8以上でない場合は、公式サイトから最新版をインストールしてください。
2. 必要なライブラリのインストール
次に、必要なライブラリをインストールします。
このプログラムでは langchain
を利用してLLMと対話を行います。
以下のコマンドを実行して langchain
をインストールしてください。
pip install langchain openai
また、OpenAIのAPIを利用するために、APIキーを取得して環境変数に設定する必要があります。
OpenAIの公式サイトでAPIキーを取得し、以下のように環境変数を設定してください。
export OPENAI_API_KEY="your-api-key-here"
コードの解説
では、実際のコードを見ていきましょう。
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage
# OpenAIのGPTモデルを使用
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.7)
# システムメッセージ:AIに役割を指示
prompt_for_system = "あなたはWEBアプリエンジニアです。"
# ユーザーからのプロンプト(指示)
prompt_for_user = """
### 指示:
以下の関数のユニットテストを書いて下さい。
### 制約:
必ず動作することを確認してください。
利用するライブラリは、pytestのみとします。
### ソースコード
def add(a: int, b: int) -> int:
return a + b
"""
# AIに渡すメッセージのリストを作成
messages = [
SystemMessage(content=prompt_for_system),
HumanMessage(content=prompt_for_user),
]
# AIにメッセージを送信して応答を取得
response = llm.invoke(messages)
# 応答を表示
print(response.content)
実行結果
このプログラムを実行すると、AIが pytest
を使ったユニットテストのコードを生成し、
コンソールに出力してくれます。
例えば、次のような結果が得られるかもしれません。
import pytest
from my_module import add
def test_add():
assert add(1, 2) == 3
assert add(-1, 1) == 0
assert add(0, 0) == 0
このように、LangChainを使えば簡単にAIと対話しながらコードを作成できます。
まとめ
本記事では、LangChainを使ってAIと対話するプログラムの作成方法を紹介しました。
- Python環境のセットアップ
- LangChainのインストール
- OpenAI APIキーの設定
- AIを使ったユニットテスト生成の実装
LLMを使った開発の第一歩として、ぜひ試してみてください!
今後は、生成されたコードを実際に実行する方法や、より高度なプロンプトエンジニアリングのテクニックについても紹介していきます。
Discussion