使用阿里云试用Elasticsearch学习:sentence-transformers 包使用

环境:centos8,windows坑太多。

一、检查linux环境openssl哪个版本(如果是OpenSSL 1.1.1k+ 直接跳过)

bash 复制代码
[root@hecs-334217 python39]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

原因后续会出麻烦,遇到这种情况最好换一个系统,不然浪费时间:

bash 复制代码
# Ensure that Python is compiled with OpenSSL 1.1.1+
# If the 'ssl' module isn't available at all that's
# fine, we only care if the module is available.
try:
    import ssl
except ImportError:
    pass
else:
    if not ssl.OPENSSL_VERSION.startswith("OpenSSL "):  # Defensive:
        warnings.warn(
            "urllib3 v2 only supports OpenSSL 1.1.1+, currently "
            f"the 'ssl' module is compiled with {ssl.OPENSSL_VERSION!r}. "
            "See: https://github.com/urllib3/urllib3/issues/3020",
            exceptions.NotOpenSSLWarning,
        )
    elif ssl.OPENSSL_VERSION_INFO < (1, 1, 1):  # Defensive:
        raise ImportError(
            "urllib3 v2 only supports OpenSSL 1.1.1+, currently "
            f"the 'ssl' module is compiled with {ssl.OPENSSL_VERSION!r}. "
            "See: https://github.com/urllib3/urllib3/issues/2168"
        )

安装openssl11

bash 复制代码
sudo yum install openssl11

备份并删除原openssl

bash 复制代码
sudo mv /usr/bin/openssl /usr/bin/openssl_backup
sudo rm /usr/bin/openssl

软链

bash 复制代码
sudo ln -sf /usr/bin/openssl11 /usr/bin/openssl
sudo ln -sf /usr/lib64/libcrypto.so.1.1k /usr/lib64/libcrypto.so
sudo ln -sf /usr/lib64/libssl.so.1.1k /usr/lib/libssl.so

二、python3.9.9 安装

下载地址

linux选这个:Gzipped source tarball
安装包

将下载好的安装包放到指定服务器

bash 复制代码
# 不建议速度太慢
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz

下面这个依赖一定要安装,不然后面会出现乱七八糟缺少以来的问题,比如:_ctypes 模块不存在

bash 复制代码
sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
  1. 解压缩源代码
    将下载的压缩包解压缩到你希望安装 Python 的目录。你可以选择在 /usr/local 目录下创建一个新目录,例如 python39,并将源代码解压缩到该目录中。
bash 复制代码
sudo tar -zxvf Python-3.9.9.tgz
sudo mv Python-3.9.9 /usr/local/python39/
  1. 配置和编译: 进入解压后的 Python 源代码目录,并执行以下命令来配置 Python 的编译选项和编译源代码:
bash 复制代码
cd /usr/local/python39
./configure --enable-optimizations
make -j$(nproc)

--enable-optimizations 参数会在编译时应用一些优化,这可能会增加编译时间。

  1. 安装: 编译完成后,执行以下命令来安装 Python:
bash 复制代码
sudo make altinstall

使用 altinstall 而不是 install 选项可以防止覆盖系统默认的 Python 版本。

  1. 验证安装: 安装完成后,你可以使用以下命令来验证 Python 的安装:
bash 复制代码
python3.9 --version

三、验证

下载对应的包

bash 复制代码
pip-tools
flask
python-dotenv
elasticsearch
sentence-transformers

启动python3:

bash 复制代码
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
embedding = model.encode('The quick brown fox jumps over the lazy dog')
print(embedding )

四、远程解释器出错

generator3/main.py

五、连接不到 https://huggingface.co

参考:https://blog.csdn.net/m0_65609016/article/details/134020029

原因:外网访问不到

解决:直接去官网把模型下载下来,all-MiniLM-L6-v2

将参数替换为模型的本地路径

成功:

相关推荐
那起舞的日子1 天前
ElasticSearch系列-3-java端整合CURD
elasticsearch
历程里程碑1 天前
普通数组----最大子数组和
大数据·算法·elasticsearch·搜索引擎·排序算法·哈希算法·散列表
星辰_mya1 天前
Elasticsearch之下
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客1 天前
Elasticsearch:使用 Base64 编码字符串加速向量摄取
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客1 天前
介绍 Elastic Workflows:用于 Elasticsearch 的原生自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
Cx330❀1 天前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
岱宗夫up1 天前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode
星辰_mya2 天前
Elasticsearch——待补充
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客2 天前
Elasticsearch:使用 Elastic Workflows 构建自动化
大数据·数据库·人工智能·elasticsearch·搜索引擎·自动化·全文检索