🦜🔗使用Pydantic和Langchain构建稳健的机器学习后端
🦜🔗使用Pydantic和Langchain构建机器学习后端
学习如何防止用户和LLMs在您的代码中犯错误
介绍
众所周知,数据科学家通常不是最好的程序员。他们往往具有高级的理论技能,擅长数学和统计学,但他们不能独立开发全栈应用,甚至是简单的应用。
我是第一个写这类文章的人,为了提高自己的编程能力而写。今天我要告诉你关于Pydantic,这是一个现在在Python编程中被广泛使用的库,主要用于数据验证,以及如何使用它来使基于语言链的应用更加健壮。
开始使用Pydantic
让我们快速看一个Pydantic的用例,对于数据科学家来说它可以很有用。当我们构建一个机器学习或深度学习模型时,例如使用PyTorch或Tensorflow,我们知道模型的质量将取决于许多超参数,我们需要设置这些超参数。
假设你在一个大团队中,你想让某个人可以启动大量的实验并查看结果。为此,你可以创建一个简单的前端界面,让启动实验的人可以使用图形用户界面而不是编写Python代码。
显然,当你从用户那里接收输入参数时,你必须进行大量的检查,因为如果你的函数期望输入一个整数,但用户输入了1.0而不是1,你的代码很可能会出问题。
现在让我们通过一个具体的例子来说明。我们在这里创建一个非常简单的PyTorch模型,它期望初始化一些超参数。
import torchimport torch.nn as nnclass 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 =…