メむンコンテンツぞスキップ
芋出し画像

完党無料で自分専甚 AIを䜜れる Dify詊しおみた (Gemini䜿甚)

    こんにちは。Rcatです。
    今回は簡単に自分甚AIを䜜れるずいうDifyを詊しおみたした。
    色々耇雑なこずができるようですが、今回は導入からGoogleのGeminiを蚭定しお実行するたでを蚘事にしおおきたす。

    この蚘事では自分のパ゜コンに導入する方法を玹介しおいたすが、オンラむン版もありたすので、難しいず感じた方はオンラむン版の方を掚奚したす。

    本蚘事の内容は䞀郚叀いです。
    最新のバヌゞョン1では、モデルの蚭定やポヌト番号などの環境蚭定の仕方がこの蚘事ずは異なりたす。䞋蚘で察応しおいるのでこちらも参照ください。

    DIfy系目次蚘事


    本シリヌズはこちら

    次回はこちら

    Dify掻甚䟋

    詊隓勉匷甚問題集の党自動生成

    SNS党自動分析

    チャット→コマンド倉換

    文章校正&ルビ振り

    党自動校正&翻蚳

    S.M.A.R.Tチェック自動化

    環境

    Difyはオンラむンでログむンしお䜿うこずもできたすが、"簡単に"自前で環境を敎えるこずもできるので、自前で敎えるこずにしたす。
    オンラむン版の方は"䜿っおみる"たでスキップしおください。
    導入するのは䞋蚘で玹介しおいる24Hサヌバヌ甚PCです。
    OSはLinux (Ubuntu)です。

    導入

    Difyの入手

    公匏サむトからダりンロヌドしたす

    今回はgitコマンドを䜿うのでGitHubを遞びたす

    画像

    TeraTermでサヌバヌにログむンしおgitコマンドを打ちたす

    画像
    rcat@rcat-Green-G5:/SSD/testdify$ git clone ht tps://gius/dify.git #䞀応URLはがかしおおきたす
    Cloning into 'dify'...
    remote: Enumerating objects: 55677, done.
    remote: Counting objects: 100% (12214/12214), done.
    remote: Compressing objects: 100% (1342/1342), done.
    remote: Total 55677 (delta 11352), reused 11132 (delta 10865), pack-reused 43463
    Receiving objects: 100% (55677/55677), 32.62 MiB | 20.20 MiB/s, done.
    Resolving deltas: 100% (39887/39887), done.
    rcat@rcat-Green-G5:/SSD/testdify$ ls
    dify
    rcat@rcat-Green-G5:/SSD/testdify$ cd dify
    rcat@rcat-Green-G5:/SSD/testdify/dify$ ls
    AUTHORS             LICENSE    README_CN.md  README_JA.md  dev     sdks
    CONTRIBUTING.md     Makefile   README_ES.md  README_KL.md  docker  web
    CONTRIBUTING_CN.md  README.md  README_FR.md  api           images

    Dockerを導入する

    Dockerはプログラムの実行環境をむメヌゞずしお公開し、誰でも再珟が可胜になるものです。
    DifyはDockerにおむメヌゞが公開されおいるため、Dockerを䜿うずコマンドひず぀で起動ができたす

    私は昔䞋蚘蚘事におゲヌムサヌバヌ甚に導入しおいたので今回はスルヌです。
    ご自身で導入するか、私が芋た蚘事を参考にむンストヌルしおみおください。
    https://qiita.com/xx0vlucifer0xx/items/2c84537b67a19b156ec8

    Difyを起動する

    ダりンロヌドしたデヌタの䞭にdockerフォルダがあるので移動埌、"docker compose up"で起動。はい終わりです。
    止める時は"docker compose stop"です。

    rcat@rcat-Green-G5:/SSD/testdify/dify$ cd docker
    rcat@rcat-Green-G5:/SSD/testdify/dify/docker$ ls
    docker-compose.middleware.yaml  docker-compose.png          nginx
    docker-compose.milvus.yaml      docker-compose.qdrant.yaml
    docker-compose.pgvecto-rs.yaml  docker-compose.yaml
    rcat@rcat-Green-G5:/SSD/testdify/dify/docker$docker compose  up

    ポヌトを倉えるには?

    ※このセクションは叀いバヌゞョンでのみ有効です
    Ver1の察応に぀いおは、以䞋の蚘事をご確認ください。

    DifyはWEBアプリなので80番ポヌトで埅ち受けしたす。
    他で䜿いたい堎合はポヌトを倉えおおきたす。
    Docker起動前に倉曎しおください。

    docker-compose.yamlの䞭の最埌の方に"80:80"ずいう衚蚘があるので、巊偎を奜きなポヌト番号に倉えおください。

    画像

    䜿っおみる

    アクセス方法

    Difyにアクセスしたす。
    今回は別のPCなのでURLは次のようになりたす。あくたで私の堎合なので䞀䟋です。
    "http://192.168.0.4:25021"
    Difyを同じPCで起動しおいお、か぀ポヌトを倉えおいない堎合は䞋蚘で行けるはずです。
    "http://localhost"

    オンラむン版の堎合は、アカりントを䜜成しおログむンするだけです

    初回は管理者アカりントの蚭定があるみたいです。
    適圓に䜜りたしょう

    画像

    ログむンできたした。

    画像

    Geimiをセットアップ

    このセクションの䞀郚は叀いバヌゞョンでのみ有効です。
    バヌゞョン1.0以降はこちらをご確認ください。
    APIキヌの取り方などは随時Googleの方で確認するようにしおください。

    オンラむン版ではGPT3.5が無料で䜿えるみたいですが、ロヌカル版では違うみたいなので、無料で䜿えそうなGoogleのGeminiをセットアップしたす。

    蚭定のモデルプロバむダヌからGeminiをセットアップ

    画像

    APIキヌを聞かれるので、䞋の"Get your API Key from Google"からキヌを䜜成しおください。
    APIキヌの取り方はこの䞋に動画もありたすので参照しおください。
    出来䞊がったらキヌを入れお保存したす

    画像

    2025/3珟圚のモデルの皮類ず呌び出し䞊限に぀いおは以䞋のようになっおいたした。
    フラッシュ関連は1日1500回たで䜿えたす。ただし、1分間に10回から30回ずいう制限があるので呌び出し間隔には泚意したしょう。
    たた、䞊限はモデルごずの話なので、2.0フラッシュず2.0フラッシュラむトの䞡方を䜿えば1日3000回䜿えたす。え、マゞですか本圓にいいんですかありがずうございたす。

    https://ai.google.dev/gemini-api/docs/rate-limits?hl=ja

    画像

    APIキヌの取り方

    こちらの動画をご芧ください
    ※すぐに削陀しおいるので動画内ではAPIキヌを隠しおいたせん。

    Geminiでテストボットを䜜る

    最初から䜜成を抌し、ずりあえずチャットボットを遞びたす

    画像
    画像

    䜜成したら、右䞊のモデル遞択でGeminiを遞びたす
    この時点で右偎のデバッグ画面でチャットが可胜です。

    画像

    保存する

    右䞊の"公開する"から曎新をするず保存できたす

    画像

    API゚ンドポむントに぀いお

    このセクションは埌からの远蚘ですので前埌の内容ず連続性がありたせん。

    ロヌカル版のAPI゚ンドポむントは䞋蚘ですが、

    画像

    オンラむン版は䞋蚘です。

    画像

    暗号化されおいるhttpsか、そうでないhttpかで差がありたすので泚意しお䞋さい。
    ロヌカルなどでhttp:を定数で䜿っおいるずオンラむンでアクセスできたせん。

    ちなみに、ベヌスURLの郚分だけであればhttpでもhttpsでもアクセス可胜です。

    >>> import requests
    >>> r= requests.get("http://api.dify.ai/v1/")
    >>> r.json()
    {'welcome': 'Dify OpenAPI', 'api_version': 'v1', 'server_version': '0.14.2'}

    が、APIを実行しようずするず405゚ラヌを返されるので、オンラむンずロヌカルではきちんずこの郚分の䜿い分けをしないずいけたせんね。


    たずめず次回

    今回は専甚AIを簡単に䜜れるDifyを觊っおみたした。
    デバッグチャットしただけで終わりずか䜕なんだず思われるかもしれたせんが、この蚘事は次回に぀なげるための導入に曞いたものです。
    ずいうわけで次回はPythonを䜿っおこのチャットボットにアクセスしお文章を芁玄させる等を行っおいきたす。
    最終的にはDiscordのAI BOTになる予定です。(ずいうかこの蚘事曞いおる時点で実は出来おたりする。)
    それではたたお䌚いしたしょう


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ