前提
Difyにログインできること
Dify側のワークフローを作る
LLMにSYSTEMプロンプトを入力
プロンプトの中に開始のin
変数を含める
APIキー取得方法
画面の赤矢印のように操作してください
Elixir側
ポイント Authorization:にAPIキーを設定
あとは、Difyの開始にin変数を作る
と同じ変数を
{"in": "#{str}"}
をjsonとして指定する
lib/data/lib.ex
defmodule Data.Lib do
def llm(str) do
headers = [
"Content-Type": "application/json",
Authorization: "Bearer app-xxxxxxxxxxxxxxxxxxxxxxxx"
]
json = """
{
"inputs": {"in": "#{str}"},
"response_mode": "blocking",
"user": "abc-123"
}
"""
"https://api.dify.ai/v1/workflows/run"
|> Req.post!(headers: headers, body: json)
|> Map.get(:body)
|> Map.get("data")
|> Map.get("outputs")
|> Map.get("text")
|> IO.puts()
end
end
reqをdepsに設定
mix.exs
# 省略
defp deps do
[
{:req, "~> 0.5.8"}
]
end
# 省略