[Dify] カスタムツールにchemRxivのAPIを登録してみた。


## chemRxivのOpenAPI仕様書を手にいれる
まずは以下のサイトからSwaggerのスキーマをダウンロードしてください。
https://chemrxiv.org/engage/chemrxiv/public-api/documentation

![スクリーンショット 2024-06-12 16.28.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/c60c8e62-2ef5-68b8-0a57-22e4bb0c98a1.png)

ダウンロードしたスキーマはSwagger2.0です。しかしDifyのカスタムツールはOpenAPI3.0を前提としています。
なので変換する必要があります。変換ツールがあるのでinstallしましょう。

```
npm install -g swagger2openapi 
```

そしてダウンロードしたスキーマファイルを以下のコマンドで変換してください。

```
swagger2openapi --outfile chemRxiv.json docs.json
```

これで完成です。これでも使えるのですが、使いたいAPIのパラメータがなぜかrequiredになってしまっていたので一部書き換えて使用しています。


## カスタムツールを作成する

1. ツールタブからカスタムを選択し、カスタムツールを作成するボタンを押してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/cebe8b0b-028f-8562-0dc6-99f8368d674d.png)



2. 選択できたら、名前と先ほど作成したスキーマを入力して下さい。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/827c2009-2bc3-be0c-13b7-091bf2e434bf.png)

3. 保存して作成完了です！


## ワークフローを作成する。

では最後にワークフローを作成して終わりにしましょう。特に説明はせず画面のようにノードを並べて作成してください。
パラメータなどはこの後記載します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/71059650-8f92-c844-eab4-6f12bd610fff.png)

### 開始ノード

入力はkeywordです。これでchemRxivに検索しにいきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/f9efa1ac-0fab-fc11-bdf6-c3040874cfc5.png)

### chemRxivノード

termにkeywordを入れるようにしましょう。
※ この入力変数はスキーマを書き換えているので皆さんと違うので気をつけて下さい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/376115/7b22f7e4-0fe5-022e-e520-afbdd71a31f7.png)



## 出力結果
最後に出力結果を載せます。いいかんじ。


```
ここでは、最近の化学分野の研究論文を簡単に紹介します。

1. **オンデマンドでのポリマー逆設計 (PolyTAO)**  
   大規模データセットが不足しているため、ポリマーの発見は困難です。しかし、科学者たちは小規模データセットを使用してポリマーの性質予測モデルを開発しています。今回の研究では、約100万のポリマー構造-物性ペアを含むデータセットを構築し、Transformer-Assisted Oriented (PolyTAO)モデルを提案しました。このモデルは99.27%の化学的妥当性を持つポリマーを生成し、特定の物性を持つポリマーの生成に成功しています。

2. **LSM1-MS2: タンデム質量分析のための基盤モデル**  
   タンデム質量分析を目的としたLSM1-MS2モデルは、高精度で化合物の特性予測やスペクトルマッチング、新規分子生成を行います。少量のラベル付きデータで高い精度を達成し、大規模なアプリケーションへの適用が期待されます。このモデルは質量分析の予測能力を大幅に向上させ、メタボロミクスや薬物発見に役立ちます。

3. **抗体の脱アミド化予測**  
   抗体の脱アミド化はその効果や安全性に影響を与えるため、早期の予測が重要です。この研究では、高スループットペプチドマッピングと機械学習を組み合わせて、抗体の脱アミド化傾向を予測します。これにより、抗体の設計と開発のプロセスが効率化されます。

4. **オープン化学知識ベースの実装**  
   化学研究結果を統合し、共同で使用可能なプラットフォームを開発しました。Semantic MediaWikiを強化し、化学構造の機械可読フォーマットでのキャプチャやデータ入力ツールを作成しました。これにより、研究結果の効果的な比較と文脈的な分析が可能となり、特に「同質光触媒系におけるCO2削減」の研究に応用されました。

5. **薬のような分子のモンテカルロ探索による生成 (DrugSynthMC)**  
   新薬設計のためのDeep Learning（DL）と統計ベースの事前情報を組み合わせたDrugSynthMCアルゴリズムを開発しました。このアルゴリズムは、SMILES表記を使用して薬のような分子を生成し、Lipinskiの「5つのルール」に従った合成可能な化合物を効率的に生成します。

6. **大規模プロパティモデル: 分子生成の新しいパラダイム**  
   特定の特性を持つ分子の逆設計において、大規模プロパティモデル（LPMs）を導入しました。多様な特性データを用いて訓練することで、データが乏しい場合でも高い予測精度を実現します。このモデルは、化学プロパティを補完することで、特性から構造への逆マッピングを実現します。

7. **言語-分子翻訳のためのフィードバック整合型混合LLM**  
   化学とAIの交差点において、言語モデルと分子モデルを融合し、効率的なトレーニングと分布外問題の解決を目指しました。少量のデータを用いて高精度の分子生成を実現し、非線形融合を提案して性能を向上させました。

8. **分子設計エンジンとしての大規模言語モデル**  
   Claude 3 Opus LLMを用いて、分子の読み書きや編集を自然言語で行う能力を評価しました。97%の有効かつユニークな分子を生成し、特性に基づいた分子生成を実現しました。

9. **ポリアミック酸粒子の自動合成実験とデータ生成**  
   カメラと大規模言語モデルを統合した自動システムを提案し、合成実験の連続監視と記録を行います。これにより、実験の客観性が向上し、未来の研究における自動化の可能性が広がります。

10. **デジタル化学: 計算と実験の融合**  
   デジタルツールやアルゴリズムを用いて化学プロセスをシミュレート、予測、分析するデジタル化学の現状と将来展望を論じました。高スループットスクリーニングや機械学習モデル、量子化学、ラボの自動化が進展し、新しい分子や材料の発見が加速しています。

各研究は、化学分野において新たな手法や技術を提案し、実験と計算の融合を通じて効率的な研究開発を目指しています。


```


## 最後に

今回はchemRxivをカスタムツールに登録する方法を解説することがメインだったのですが、これをさらにプロンプトチューニングするともっといい感じになるのでやってみてください！