「🦜🔗PydanticとLangchainを使用して堅牢なMLバックエンドを構築する」
Building Robust ML Backend with 🦜🔗Pydantic and Langchain
ユーザーとLLMsのミスをコード内で防止する方法を学ぶ
はじめに
データサイエンティストは通常、優れたプログラマーの中ではいまいちではないとよく知られています。彼らはしばしば高度な理論的なスキルを持っており、数学と統計ではうまくやることができますが、フルスタックのアプリケーション、さえも簡単なものを独自に開発することはできません。
私は自分自身のプログラミングスキル向上のための言い訳として、このような記事を書く最初の人です。今日は、主にデータの検証に使用されるPythonプログラミングの標準となっているライブラリであるPydanticについて説明し、これを使用してlangchainベースのアプリケーションをより堅牢にする方法について話します。
Pydanticの使い方
データサイエンティストにとってPydanticが有用なケースを簡単に見てみましょう。例えば、PyTorchやTensorflowを使って機械学習モデルやディープラーニングモデルを構築する場合、モデルの品質は設定する必要のある多くのハイパーパラメータに依存することがわかっています。
大規模なチームで作業している場合、誰かが多くの実験を実行し、その結果を見ることを許可したい場合があります。そのために、実験を実行する人がPythonコードを書く代わりに、グラフィカルユーザーインターフェースを使用できるようにするシンプルなフロントエンドを作成することができます。
明らかに、ユーザーからの入力パラメータを受け取るたびに、多くのチェックを行わなければなりません。なぜなら、関数が入力として整数を期待しているのに、ユーザーが1ではなく1.0と入力した場合、コードはおそらく壊れてしまうからです。
実際の例を見てみましょう。ここでは、非常にシンプルなPyTorchモデルを作成し、初期化されるいくつかのハイパーパラメータを期待しています。
import torch
import torch.nn as nn
class SimpleModel(nn.Module):
def __init__(self, input_size, hidden_size, output_size, activation):
super(SimpleModel, self).__init__()
self.input_size = input_size
self.hidden_size = hidden_size
self.output_size = output_size
self.activation = activation
# Define the layers
self.fc1 = nn.Linear(self.input_size, self.hidden_size)
self.activation_func =…
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles