Skip to content

wtxadmin-oss/DeepSeekClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

SpringAi_Demo / DeepSeek Java 示例

一个可独立运行的 Java 示例,演示如何通过 HttpClient 调用 DeepSeek 的 OpenAI 兼容聊天接口,并在控制台输出原始 JSON 与提取的回复。

前置条件

  • 安装 Java 11 或更高版本(需要 java.net.http.HttpClient)。
  • 可访问 https://api.deepseek.com/v1/chat/completions 的网络环境。
  • 已获取 DeepSeek API Key。

快速开始(Windows PowerShell)

  1. 进入项目目录:
    • cd d:\git\SpringAi_Demo
  2. 设置 API Key(任选其一):
    • 使用环境变量 Api_Key
      • $env:Api_Key = "你的密钥"
    • 或使用环境变量 DEEPSEEK_API_KEY
      • $env:DEEPSEEK_API_KEY = "你的密钥"
    • 或运行时 JVM 参数:
      • java -DDEEPSEEK_API_KEY=你的密钥 DeepSeekClient "你的提示词"
  3. 编译(确保 UTF-8 编码):
    • javac -encoding UTF-8 DeepSeekClient.java
  4. 运行:
    • java DeepSeekClient "你好,帮我写一首小诗"

运行示例

  • 基本示例:
    • java DeepSeekClient "讲个简短笑话"
  • 指定 JVM 参数传入密钥:
    • java -DDEEPSEEK_API_KEY=你的密钥 DeepSeekClient "给我一首七言绝句"

程序会打印:

  • [Raw JSON]:完整的接口返回 JSON 字符串。
  • [Assistant]:尝试从 choices[0].message.content 中提取的助手回复内容。

配置说明

  • API 端点:https://api.deepseek.com/v1/chat/completions
  • 模型常量:在 DeepSeekClient.java 顶部的 MODEL,默认 deepseek-chat,可根据需要调整。
  • API Key 获取顺序:
    • DEEPSEEK_API_KEY(环境变量)
    • DEEPSEEK_API_KEY(JVM 系统属性)
    • Api_Key(环境变量)
    • Api_Key(JVM 系统属性)

常见问题

  • 编译时中文注释或字符串报错(GBK 不可映射字符):
    • 请使用 javac -encoding UTF-8 DeepSeekClient.java
  • 运行时报错“未找到 API 密钥”:
    • 请确认已设置 Api_KeyDEEPSEEK_API_KEY,或在运行时通过 -DDEEPSEEK_API_KEY 传入。
  • 网络连接失败:
    • 请检查本机网络、代理、或防火墙是否放行到 api.deepseek.com

代码说明

  • 仅使用 JDK 自带的 HttpClient,无第三方依赖。
  • 为了简化示例,回复内容的提取使用了正则在 JSON 中查找 content 字段,生产环境建议引入如 Jackson/Gson 进行可靠的 JSON 解析。

下一步(可选扩展)

  • 封装为 Spring Bean(例如使用 WebClient 或集成 Spring AI)。
  • 增加更完善的错误处理与重试机制。
  • 添加日志输出到文件(目前仅控制台输出),并支持日志级别配置。

目录结构

d:\git\SpringAi_Demo\
├── DeepSeekClient.java   // 示例代码
├── DeepSeekClient.class  // 编译生成(运行前需编译)
└── README.md             // 使用说明

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages