2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ビジネスエンジニアリング株式会社Advent Calendar 2024

Day 5

iOSショートカットとChatGPTアプリの連携によるJSONデータ処理の方法

Last updated at Posted at 2024-12-04

概要

本記事では、iOSのショートカット機能を利用して、iPhoneにインストールされたChatGPTアプリと連携し、ChatGPTからの回答をJSON形式で適切に後処理する方法を詳しく解説します。
レスポンスをJSON形式にしたい場合、OpenAI が提供する ChatGPT にはレスポンスを JSON にする JSON モードがあります。しかし、ChatGPTアプリ自身にはJSONモードが存在しないため、プロンプト調整によってレスポンスをJSON形式に誘導する必要があります。

具体的な設定手順やサンプルコードを交えながら、実践的な実装方法を紹介します。

iOSショートカットとは

iOSショートカットは、iPhoneやiPad上で様々なタスクを自動化するためのツールです。ユーザーは「アクション」と呼ばれる個別のステップを組み合わせて、複雑な処理を一度に実行できるショートカットを作成できます。これにより、日常の作業を効率化したり、特定の操作をワンタップで実行することが可能になります。

今回作成したサンプル

解決したい課題

iOSショートカットを利用してChatGPTから受信したJSONデータが、実装上の制約により、以下のようなコードブロック('''json~''')形式で返されてしまうことがあります。このままでは後続の処理においてJSONとして正しく認識されず、エラーが発生してしまいます。


    ```json  ★ここの部分が不要
    {
      "ager": 77,
      "Description": "ドナルド・トランプは1946年6月14日生まれのアメリカ合衆国の実業家。"
    }
    ```  ★ここの部分が不要

これを下記のようにコードブロックではない状態で帰ってくるようにプロンプトを調整したい

    {
      "ager": 77,
      "Description": "ドナルド・トランプは1946年6月14日生まれのアメリカ合衆国の実業家。"
    }

試したプロンプト

JSON形式で正しくデータを取得するため、以下のようなプロンプトを設定しました:
・出力形式を明示的に指定する: 「JSON形式で提供してください。コードブロックを含まないでください。」

・具体的なフィールド名を示す:

その結果、取得したい形式でJSONを取得することができるようになりました。

#出力形式
JSON形式で提供してください。json以外の情報は不要。
コードブロックも不要。

{
    “AnsN” : 99, //年齢
    “AnsT” : “ジョンは実業家”, //人物概要
}

留意点、デメリット

  • 出力保証の不確実性: プロンプトによってJSON形式を指示したとしても、必ずしもその形式で返される保証はありません。時には余計な行が含まれたり、再びコードブロック形式になることがあります。実際にプロンプトを少し変えただけで形式が崩れてしまいました。もし確実にJSON形式でデータを取得したいのであれば、”ChatGPTアプリ”は使用せずに、APIを使用したほうが確実です。

まとめ

iOSショートカットとインストールされたChatGPTアプリの連携によって、JSONデータを効率的に取得・後処理する方法を解説しました。技術的な限界を認識しつつ、プロンプト調整によって可能な範囲での制御を行うことで、日常のタスクを自動化し作業効率を向上させることができます。この記事を参考に、ぜひ自分自身のカスタマイズショートカットを作成し、iOSの可能性を最大限に引き出してください。

参考リンク:

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?