什么是openai-java

OpenAI-Java 是一个为 Java 开发者设计的开源库,用于简化与 OpenAI 模型(如 GPT-3、ChatGPT、GPT-4 等)的交互。从使用上来说跟python库还是挺像的, 不过更方便了java程序员来是用

引入依赖

<dependency>
    <groupId>com.openai</groupId>
    <artifactId>openai-java</artifactId>
    <version>1.6.1</version>
</dependency>

实现一个简单对话

创建一个OpenAIClient

注意: 每个client都会维护一个连接池, 因此最好是全局使用一个client即可, 为了节省资源无需每次调用都创建一个client
这里我使用的LMStudio本地部署的模型, 因此我的baseUrl是本地的服务,即便本地没有apikey需要设置为空白字符串

OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey("")
                .baseUrl("http://127.0.0.1:1234/v1")
                .build();

创响应参数

addUserMessage即是提示词, 可以添加多个提示词, 这里我是用了qwen3-8b模型, "/no_think"是为了关闭模型的推理功能, 这里大家可以根据自己的模型来自行设置

ChatCompletionCreateParams params = ChatCompletionCreateParams .builder()
                .addUserMessage("简单介绍一下自己")
                .addUserMessage("/no_think")
                .model("qwen3-8b")
                .build();

完整代码

public class AIMain {
    public static void main(String[] args) throws Exception {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey("")
                .baseUrl("http://127.0.0.1:1234/v1")
                .build();
        // 创建响应参数
        ChatCompletionCreateParams params = ChatCompletionCreateParams .builder()
                .addUserMessage("简单介绍一下自己")
                .addUserMessage("/no_think")
                .model("qwen3-8b")
                .build();

        // 发送请求并接收响应
        ChatCompletion chatCompletion = client.chat().completions().create(params);
        String json = MapperUtils.obj2json(chatCompletion);
        System.out.println(json);
    }
}

测试结果

{
  "id": "chatcmpl-u129ppf7md9q27hrul5prs",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "<think>\n\n</think>\n\n你好!我是一个大型语言模型,由阿里巴巴集团旗下的通义实验室研发。我的名字是通义千问,你可以叫我Qwen。我能够进行多轮对话,回答各种问题,创作文字,比如写故事、写邮件、写剧本等,还能进行逻辑推理、数学计算和代码生成。我支持多种语言,包括中文、英文、日文、韩文、西班牙文等。\n\n我的目标是成为你身边的智能助手,帮助你更高效地获取信息、解决问题和创造内容。无论你是想学习新知识,还是需要一些灵感和创意,我都会尽力提供帮助。如果你有任何问题或需要 assistance,随时告诉我!",
        "role": "assistant",
        "valid": true
      },
      "valid": true
    }
  ],
  "created": 1748869524,
  "model": "qwen3-8b",
  "object": "chat.completion",
  "system_fingerprint": "qwen3-8b",
  "usage": {
    "completion_tokens": 142,
    "prompt_tokens": 15,
    "total_tokens": 157,
    "valid": true
  },
  "valid": true,
  "stats": {
    
  }
}
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐