はじめに
公式が、以下のポストに書いていた内容を試したものです。API でのファイル入力に PDF を使う場合に、URL指定で渡すことができる、という話です。
過去にも OpenAI の API は様々試してきましたが、その時にもよく使っている Node.js の以下のパッケージで今回の内容を試します。
●openai - npm
https://www.npmjs.com/package/openai
ちなみに、直近では以下の v5.9.0 がリリースされたばかり、となっているようです。
実際に試していく
公式のコードサンプル
公式のコードサンプルが掲載されているページは以下になります。
●File inputs - OpenAI API
https://platform.openai.com/docs/guides/pdf-files?api-mode=responses#file-urls
このページでは「curl・JavaScript・Python」の 3種類のサンプルを確認できます。
その中の JavaScript のサンプルだと、以下の内容です。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
input: [
{
role: "user",
content: [
{
type: "input_file",
file_url: "https://www.berkshirehathaway.com/letters/2024ltr.pdf",
},
{
type: "input_text",
text: "Analyze the letter and provide a summary of the key points.",
},
],
},
],
});
console.log(response.output_text);
API としては Responses API が使われています。
下準備
Node.js で API を使う下準備を行います。以下の「パッケージのインストール」と「環境変数への APIキーの設定」を行いました。
パッケージのインストール
パッケージのインストールに使ったコマンドは、以下のとおりです。
npm i openai
環境変数への APIキーの設定
それと、環境変数 OPENAI_API_KEY に、OpenAI の APIキーを設定しました。
試したコード
API にわたす PDF は、以下にある情報通信白書令和7年版 概要の PDF を使ってみました。
●関係情報:情報通信関連:情報通信白書
https://www.soumu.go.jp/johotsusintokei/whitepaper/
API を使うためのコードは、以下のようにしました。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
input: [
{
role: "user",
content: [
{
type: "input_file",
file_url:
"https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r07/summary/summary01.pdf",
},
{
type: "input_text",
text: "このPDFの内容を要約して、箇条書きで出力してください",
},
],
},
],
});
console.log(response.output_text);
出力結果
出力結果は、以下のとおりです。
細かく読み込むことまではできてないですが、PDF の各ページをざっと見つつ上記の文章・箇条書きを見たところでは、冒頭の概要ページとその後の内容をまぜて作った感じの要約や、後ろのほうのページの個々の内容をそれぞれ要約したようなものが提示されている感じでした。
以下にテキストにした内容を、折りたたみで掲載しておきます。
出力結果のテキスト版(折りたたみ)
## 令和7年版情報通信白書(概要) 要約
### 第Ⅰ部:特集 広がりゆく「社会基盤」としてのデジタル
- **デジタル技術(SNS、クラウド等)は21世紀半ばにおいて社会基盤化**
- スマートフォンやSNS、クラウドサービスが社会生活や企業活動へ不可欠に。
- 高齢者層を含めてスマホ利用が進み、企業のクラウド利用も大幅拡大。
- **インターネットとソーシャルメディアの情報基盤化**
- YouTubeやX(旧Twitter)等の利用が広く浸透し、全体的な利用率向上。
- ニュース収集手段としてインターネットが重要視され、若年層中心に利用増加。
- 一方で、インターネットの信頼性はテレビや新聞より低い傾向。
- **AIの爆発的進展・日本の動向**
- 世界的にLLM(大規模言語モデル)を中心としたAI開発が過熱。
- 日本国内でも独自LLMの開発が進展、政府も支援を強化。
- 個人・企業での生成AI利用は増加しているが、海外と比べると導入率は低い。
- **海外プラットフォームの台頭と国内企業の存在感**
- GoogleやAmazon等海外企業がデジタル分野で圧倒的シェア。
- 日本のデジタル関連サービス・財は貿易赤字傾向が続く。
- **社会・環境・国際情勢変化の影響**
- 地政学リスクや自然災害リスク、少子高齢化の進展。
- 社会基盤としてのデジタルの重要性拡大と同時に新たな課題も増大。
### デジタルがもたらす主な課題
- **信頼性あるデジタル基盤の確保**
- 通信・計算資源・電力需要の増大、過度な海外依存への懸念。
- **AI進展による課題**
- イノベーション推進とリスク対応の両立、世界に後れを取らない技術・産業・利用推進。
- **インターネット上の偽・誤情報の拡大**
- 制度・技術・リテラシー向上による総合的な対策が必要。
- **サイバーセキュリティ**
- サイバー攻撃の高度化に対し政府・民間・国際連携等を含めた対応が不可欠。
### デジタルによる社会課題解決の展望
- **経済活性化・国際競争力の向上**
- デジタル技術を活用した生産性向上や競争力強化推進。
- **地方創生**
- デジタル活用により地方の社会インフラ・生活環境を維持・改善。
- **激甚化する災害対応**
- 通信・放送ネットワークの更なる強靱化が求められる。
### 第Ⅱ部:情報通信分野の現状と課題
- ICT市場の動向、電気通信・放送・AI・サイバーセキュリティ等各分野の最新状況整理。
- 総務省が推進する政策、今後の方向性・取組状況の整理。
---
ご入り用に応じ、さらに細かい分野別要約や特定ポイントの掘り下げもできますので、必要に応じてご指示ください。
公開済みのファイルで利活用可能なものを、さっと渡すことができるので、便利に使えそうです。