プログラミング学習者向け:Pythonで生成AIアプリ作成ツール「Dify」 のAPIを利用する方法
生成AIを活用したアプリ開発が手軽に行える時代、DifyはAIアシスタントやエージェントを構築できるプラットフォームとして注目されています。この記事では、Dify APIをPythonで利用し、業務を効率化する方法を解説します。今回は「経費申請ってどうやるの?」という質問を例に、Dify APIの呼び出し手順とサンプルコードを紹介します。
Difyとは?
Difyは、AIアシスタントやエージェントを構築するための次世代プラットフォームです。大規模言語モデル(LLM)を活用し、企業や開発者が簡単にAIアプリケーションを作成・運用できる環境を提供します。APIを通じて、業務の自動化や効率化を支援する機能も備えています。詳細はDify公式サイトをご確認ください。
今回は下記の記事の社内業務を回答するチャットボットのアプリケーションを利用しています。
Dify APIキーの取得
まず、Difyの公式サイトからアカウントを作成し、APIキーを取得します。APIキーは、Difyの機能にアクセスするために必要な認証情報です。
Pythonのセットアップ
次に、Pythonをインストールしていない場合は、公式サイトからインストールします。requestsライブラリを使用するため、次のコマンドを実行してインストールしてください。
pip install requests
3. PythonプログラムでDify APIを呼び出す方法
Pythonのrequestsライブラリを使用して、Dify APIにリクエストを送ることができます。以下のサンプルコードは、Dify APIに質問を送り、その応答を取得します。
import requests
from typing import Dict
# Dify APIの認証キー
API_KEY = 'app-xxx' # 取得したAPIキーに置き換えてください
# Dify APIのベースURL
BASE_URL = 'https://api.dify.ai/v1/chat-messages'
def get_dify_response(query: str, user: str) -> str:
"""
Dify APIにリクエストを送信し、応答を取得する関数
:param query: ユーザーの質問
:param user: ユーザー識別子
:return: APIからの応答テキスト
"""
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
data: Dict[str, any] = {
"inputs": {},
"query": query,
"response_mode": "blocking",
"user": user,
}
response = requests.post(BASE_URL, headers=headers, json=data)
response.raise_for_status()
return response.json()['answer']
if __name__ == "__main__":
query = "経費申請ってどうやるの?"
user = "xx@xx" # アカウントのメールアドレス
try:
answer = get_dify_response(query, user)
print(answer)
except requests.RequestException as e:
print(f"エラーが発生しました: {e}")
上記のプログラムを実行すると、Dify APIから次のような応答が返ってきます。
経費申請の手順は以下の通りです:
1. **領収書の収集**: 経費発生時に領収書を必ず受け取る。
2. **経費精算システムへのログイン**: 経費精算システムにログインし、「経費申請」フォームを入力。
3. **必要事項の記入**: 日付、経費の詳細、金額を入力。必要であれば、関連メモを追加。
4. **領収書の添付**: スキャンした領収書をシステムにアップロード。
5. **上長の承認を依頼**: 経費申請を送信し、上長の承認を依頼。
【注意事項】
- 経費は発生から30日以内に申請。
- 紛失時は、上長に報告して対応。
まとめと応用
この記事では、Dify APIをPythonで呼び出し、質問に対する応答を取得する方法を紹介しました。この仕組みを応用することで、さまざまな業務プロセスを自動化することができます。次のステップとして、Dify APIを活用したより高度な自動化や、他のAIツールとの連携も検討してみてください。
この記事が気に入ったらサポートをしてみませんか?