MENU

Knowledge Oasisは主にAIとAWSの知識を共有するブログです。その他ITに関する知識やまれに生活に役立つ知識も共有するかもしれません。

KOふみ
名前はKOふみ(こふみ)。独立系SIerで20年のキャリアを持ち、新人研修の講師から請負開発まで幅広く経験。現在はAIを駆使したソリューション開発に従事。資格は応用情報技術者、データベーススペシャリスト、プロジェクトマネージャー、PMP、簿記2級。AWS学習中で、将来はAWSアンバサダーを目指す。

Nemo GuardrailsのHelloWorldをOpenAIで動かしてみた

Nemo GuardrailsのHelloWorldをOpenAIで動かしてみたNemo GuardrailsのHelloWorldをOpenAIで動かしてみた
  • URLをコピーしました!

Nemo Guardrailsを学習中です。NVIDIAのサイト(NeMo Guardrails により LLM の脆弱性を防ぐ: 導入編)だとNVIDIA AI Endpointsを使っているのですがNVIDIAのAPIキーを持っていないのでOpenAIで動かしてみました。

目次

インストール

nemoguardrailsとlangchain-openaiをインストールします。しかし、2024/11/8時点でそれぞれ最新版をインストールすると以下のエラーが出て動きません。

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

nemoguardrailsの後にlangchain-openaiをインストールすると以下のエラーが表示されます。依存関係が正しくないようです。

ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
langchain 0.2.17 requires langchain-core<0.3.0,>=0.2.43, but you have langchain-core 0.3.15 which is incompatible.
langchain-community 0.2.18 requires langchain-core<0.3.0,>=0.2.43, but you have langchain-core 0.3.15 which is incompatible.
langchain-text-splitters 0.2.4 requires langchain-core<0.3.0,>=0.2.38, but you have langchain-core 0.3.15 which is incompatible.
nemoguardrails 0.10.1 requires langchain-core!=0.1.26,<0.3.0,>=0.2.14, but you have langchain-core 0.3.15 which is incompatible.

2024/11/8時点で動くインストール

以下のようにlangchain-openaiのバージョンを落とすことでインストールできます。なぜか six というライブラリがインストールされないため追加でインストールしておきます。

pip install nemoguardrails
pip install "langchain-openai==0.1.25"
pip install six

OpenAI用のconfig.yml

config.ymlをOpenAI用に修正します。rails.coとPythonコードは修正せずに動きます。

models:
  - type: main
    engine: openai
    model: "gpt-4o"
    parameters:
      temperature: 0.7
      max_tokens: 2000

APIキーはOpenAIのAPIを動かすときと同様に環境変数に設定しておいてください。環境変数のキーはOPENAI_API_KEY です。

まとめ

Nemo GuardrailsをOpenAIで動かす方法を解説しました。最新版だと依存関係が合わず動かないのは落とし穴でした。OpenAI用のconfig.ymlも参考になれば幸いです。

  • URLをコピーしました!

コメント

コメントする

目次