在 Docker 上安装向量模型教程
尝试了很多次,发现现在的大厂的模型体验中向量模型的体验权限,均不支持纯文本的请求,都需要图文形式传输。无奈之下只能在自己电脑上安装一个向量模型,满足简单的ai应用开发。
一、环境准备
在开始之前,确保你已经安装了 Docker。如果还未安装,可以参考 Docker 官方文档进行安装:Docker 安装指南
二、拉取 Docker 镜像
我们将使用 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/huggingface/text-embeddings-inference:cpu-1.6 镜像。在终端中执行以下命令拉取镜像:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/huggingface/text-embeddings-inference:cpu-1.6
|
三、克隆模型
我们要使用 BAAI/bge-small-zh-v1.5 模型,通过以下命令克隆模型:
git clone https://www.modelscope.cn/BAAI/bge-small-zh-v1.5.git
|
四、运行 Docker 容器
拉取完镜像并克隆好模型后,我们可以运行 Docker 容器。假设模型克隆到了当前目录下的 bge-small-zh-v1.5 文件夹,执行以下命令启动容器:
docker run -p 8080:80 -v $(pwd)/bge-small-zh-v1.5:/data swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/huggingface/text-embeddings-inference:cpu-1.6 --model-id /data
|
解释:
-p 8080:80:将容器的 80 端口映射到主机的 8080 端口。
-v $(pwd)/bge-small-zh-v1.5:/data:将本地的 bge-small-zh-v1.5 文件夹挂载到容器的 /data 目录。
--model-id /data:指定模型的路径为容器内的 /data 目录。
五、LangChain4j 配置文件
1. 添加依赖
如果你使用的是 Maven 项目,在 pom.xml 中添加以下依赖:
<dependencies> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j</artifactId> <version>0.23.0</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> </dependencies>
|
2. Java 代码示例
import dev.langchain4j.embeddings.EmbeddingModel; import dev.langchain4j.embeddings.InProcessEmbeddingModel; import dev.langchain4j.model.huggingface.HuggingFaceEmbeddingModel; import dev.langchain4j.model.huggingface.HuggingFaceEmbeddingModelOptions;
import java.util.List;
public class LangChain4jExample { public static void main(String[] args) { HuggingFaceEmbeddingModelOptions options = HuggingFaceEmbeddingModelOptions.builder() .baseUrl("http://localhost:8080") .build();
EmbeddingModel embeddingModel = HuggingFaceEmbeddingModel.withOptions(options);
String text = "这是一个示例文本。"; List<Double> embedding = embeddingModel.embed(text); System.out.println("Embedding: " + embedding); } }
|
六、Spring AI 配置文件
1. 添加依赖
如果你使用的是 Spring Boot 项目,在 pom.xml 中添加以下依赖:
<dependencies> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-core</artifactId> <version>0.7.0</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> </dependencies>
|
2. Java 配置类
import org.springframework.ai.client.AiClient; import org.springframework.ai.client.embedding.EmbeddingClient; import org.springframework.ai.huggingface.HuggingFaceAiClient; import org.springframework.ai.huggingface.HuggingFaceEmbeddingClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
@Configuration public class SpringAIConfig { @Bean public EmbeddingClient embeddingClient() { return new HuggingFaceEmbeddingClient("http://localhost:8080"); } }
|
3. 使用示例
import org.springframework.ai.client.embedding.EmbeddingClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;
import java.util.List;
@Component public class SpringAIExample {
@Autowired private EmbeddingClient embeddingClient;
public void generateEmbedding() { String text = "这是一个示例文本。"; List<Double> embedding = embeddingClient.embed(text); System.out.println("Embedding: " + embedding); } }
|
以上就是在 Docker 上安装向量模型,并配置 LangChain4j 和 Spring AI 的详细教程。