从UDF引用暂存zip文件的语法是什么?具体来说,我在Snowpark中创建了UDF,它需要加载s-bert sentence_transformers预训练的模型(我下载了模型,压缩了它,并将其上传到内部阶段(。
";句子转换器;方法(见下面的代码行(采用一个参数,该参数可以是模型的名称——在这种情况下,预先训练的模型将从web上下载;或者它可以采用一个目录路径,指向包含已经下载的预训练模型文件的文件夹。
在Snowflake中,使用UDF从Web下载文件不是一个选项
那么,内部暂存文件的目录路径是什么?我可以将其用作PenceTransformer方法的参数,以便它可以访问已经下载的zip模型"stagename/filename.zip";不起作用。
@udf(....)
def create_embedding()..:
....
model = SentenceTransformer('all-MiniLM-L6-v2') #THIS IS THE LINE IN THE QUESTION
....
....
UDF在创建特定文件时需要指定特定文件(目前(:
- https://docs.snowflake.com/en/developer-guide/udf/python/udf-python-creating.html#loading-从舞台到蟒蛇的文件
检查文档中的示例,该示例使用imports
、snowflake_import_directory
到open(import_dir + 'file.txt')
:
create or replace function my_udf()
returns string
language python
runtime_version=3.8
imports=('@my_stage/file.txt')
handler='compute'
as
$$
import sys
IMPORT_DIRECTORY_NAME = "snowflake_import_directory"
import_dir = sys._xoptions[IMPORT_DIRECTORY_NAME]
def compute():
with open(import_dir + 'file.txt', 'r') as file:
return file.read()
$$;