Java项目引入DeepSeek搭建私有AI
最近尝试将DeepSeek集成到我的项目中,搭建一个私有AI系统。以下是详细步骤和代码示例,希望能帮助到其他开发者。
·
最近尝试将DeepSeek集成到我的项目中,搭建一个私有AI系统。以下是详细步骤和代码示例,希望能帮助到其他开发者。
一、环境准备
-
Java环境:确保安装了JDK 17+。
-
构建工具:使用Maven作为项目管理工具。
-
DeepSeek API Key:访问DeepSeek API开放平台,按照页面提示申请API Key。
-
Spring Boot:使用Spring Boot 3.2+版本。
二、项目创建
1. 创建Spring Boot项目
使用Spring Initializr快速创建一个Spring Boot项目,添加以下依赖:
-
Spring Web
-
Spring AI(如果使用Spring AI集成)
2. 配置文件
在application.properties
中添加DeepSeek的API配置:
properties
spring.ai.openai.base-url=https://api.deepseek.com/
spring.ai.openai.api-key=你的API密钥
spring.ai.openai.chat.options.model=deepseek-r1:8b
logging.level.org.springframework.ai=DEBUG
3. 添加Maven依赖
在pom.xml
中添加必要的依赖:
xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
三、集成DeepSeek API
1. 创建AI服务客户端
创建一个DeepSeekClient
类,用于封装与DeepSeek API的交互:
java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class DeepSeekClient {
private static final String API_URL = "http://localhost:11434/api/generate"; // 私有化部署后的API地址
public String generateText(String prompt) {
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost post = new HttpPost(API_URL);
String json = "{"
+ "\"model\": \"deepseek-r1:8b\","
+ "\"prompt\": \"" + prompt + "\","
+ "\"max_tokens\": 50"
+ "}";
post.setEntity(new StringEntity(json));
post.setHeader("Content-Type", "application/json");
HttpResponse response = httpClient.execute(post);
String result = EntityUtils.toString(response.getEntity());
System.out.println("API Response:\n" + result);
JSONObject jsonObject = JSON.parseObject(result);
String responseStr = jsonObject.getString("response");
String cleanedResponse = responseStr.replaceAll("\\u003c/?.*?\\u003e", "").trim();
return cleanedResponse;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
2. 调用AI服务
在Main
类中调用DeepSeek的AI服务:
java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
DeepSeekClient client = new DeepSeekClient();
String prompt = "Write a short story about a futuristic world.";
String generatedText = client.generateText(prompt);
System.out.println("Generated Text: " + generatedText);
}
}
四、私有化部署DeepSeek
1. 部署DeepSeek
根据DeepSeek的私有化部署指南,在Linux服务器上部署DeepSeek服务。以下是部署步骤的简要概述:
-
安装Docker:确保服务器上安装了Docker。
-
拉取DeepSeek镜像:
bash
docker pull deepseek/ollama:latest
-
运行DeepSeek容器:
bash
docker run -d -p 11434:11434 deepseek/ollama:latest
2. 配置项目
将项目中的API地址指向私有化部署的DeepSeek服务地址。
五、运行与测试
启动Spring Boot项目,运行Main
类中的代码,即可调用DeepSeek的AI服务,生成文本内容。
更多推荐
所有评论(0)