概要
ChemCrow は、言語モデルインターフェースを通じて、集中的な推論を要する化学タスクを支援することを目的とした、ツールを利用する化学エージェントパッケージです。Langchain を基盤とし、RDKit、paper-qa、Pubchem、chem-space などの化学ソフトウェアや情報源を組み合わせています。そのワークフロー上の役割は、自然言語の質問を専門ツールに接続することであり、単独の予測モデルや化学データベースとして機能することではありません。
README では、ChemCrow インスタンスを作成し、その run メソッドを使って質問を送信する Python インターフェースが紹介されています。例には、分子量の検索と反応生成物の予測が含まれます。これらの例での入力は自然言語による化学の質問です。記載されたやり取りではエージェントの応答が返されますが、出典の抜粋には構造化出力のスキーマは指定されていません。設定項目には、言語モデルの選択、temperature、ストリーミング設定が含まれます。記載されたセットアップには OpenAI API キーが必要ですが、Serp API の設定は任意です。
逆合成計画と反応生成物予測には、ChemCrow はデフォルトで RXN4Chem を使用します。README には、このサービスは遅い場合があり、API キーが必要だと記されています。また、あらかじめ作成された Docker イメージを使ってこれらのツールをセルフホストし、local_rxn 設定でその方法を選ぶ代替手段も説明されています。これらの統合は外部依存であり、ChemCrow 内で開発されたデータベースや予測モデルではありません。
API の利用制限により、公開パッケージには ChemCrow 論文で説明されているすべてのツールが含まれていません。また README では、このリポジトリは論文と同じ結果を出さないと明示的に警告しています。提供されたパッケージング用ソースには Python 要件が記載されていますが、テスト済みの互換性を裏付けるものではなく、このリポジトリの性能結果も示されていません。
主な機能
- Langchain ベースのエージェントインターフェースにより、ChemCrow.run を通じて自然言語の化学質問を送信できます。
- RDKit と paper-qa に加え、Pubchem や chem-space などの化学情報源と連携します。
- RXN4Chem を利用した逆合成計画と反応生成物予測に対応します。
- README に記載された Docker イメージを使って、反応予測ツールと逆合成ツールを任意でセルフホストできます。
- 言語モデルの選択、temperature、ストリーミング、ローカル反応ツールへのルーティングを設定できます。
用途
- 評価案:README の例に沿ったワークフローで、分子量に関する質問への応答を、独立して確認した化学参照値と比較します。
- 評価案:既知の参照結果がある代表的なケースを用いて、反応生成物予測と逆合成計画を評価します。
- 評価案:paper-qa と化学データベースの連携が化学文献調査のワークフローを支援するかを調べ、返された情報を原資料と照合します。
使い方
- 公式 README を読み、エージェントインターフェースと、このパッケージのツールセットが論文のものと異なるという警告を確認します。
- setup.py に記載された Python 要件と依存関係を確認し、README のパッケージインストール手順に従います。これらの記載は要件として扱い、互換性がテスト済みである証拠とは見なさないでください。
- 必要な OpenAI API キーを環境内で設定し、共有ノートブックやリポジトリ内のファイルに認証情報を記載しないでください。Serp API は、その任意の連携を使う場合にのみ設定します。
- README の Python の例に従って ChemCrow インスタンスを作成し、分子量に関する質問を送信します。科学的な作業に応答を使用する前に、独立して検証してください。
- 反応ツールについては、デフォルトの RXN4Chem サービスと、ドキュメントに記載されたセルフホスト型 Docker の方法から選択します。API アクセス、コンテナのセットアップ、local_rxn 設定については README を参照してください。
- 評価の範囲を ChemCrow 論文およびリンク先の実験リポジトリと照らし合わせます。公開パッケージがこれらの実験を再現すると想定しないでください。