主流模型调用

一、openAI

使用文档:Developer quickstart - OpenAI API

复制代码
接口文档: https://platform.openai.com/docs/api-reference

1、获取 OpenAI API Key(即Token)

(1)访问:https://platform.openai.com/account/api-keys

(2)登录你的 OpenAI 账号(或注册一个新的)。

(3)点击 "Create new secret key"

复制生成的 Key(这个 Key 只显示一次,请妥善保存)

付费完成

2、访问api

url:

复制代码
https://api.openai.com/v1/chat/completions

header:

复制代码
Authorization: Bearer {YOUR_API_KEY}
Content-Type: application/json

curl示例:

复制代码
curl https://api.openai.com/v1/chat/completions 
-H "Authorization: Bearer sk-xxx" 
-H "Content-Type: application/json" 
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "今天上海的天气怎么样?"}]
}'

二、Ollama

还有的大模型注册送一定免费 tokens,还有的大模型不需要token。下面推荐几个LangChain4j支持的且免费的大模型:

模型类型 LangChain4j 模块 特点 是否免费
Ollama langchain4j-ollama 本地推理、内置多模型(Llama3、Phi3、Mistral等)
Local4j langchain4j-local 简单内存模型(仅测试)
HuggingFace Transformers langchain4j-huggingface 调用本地或远程的 HF 模型 ✅(离线模型)
LM Studio 通过 HTTP 调用本地服务 支持任何加载的 GGUF 模型

1、官网下载并安装 Ollama

2、启动

安装后打开即为启动,如果没有启动,可以手动启动

复制代码
ollama serve

默认端口是 11434,提供 REST API。Ollama 的本地 HTTP API 大致如下:

方法 路径 说明
POST /api/chat 发送聊天消息,返回模型回复
GET /api/models 查看本地可用模型

启动后发现是没有模型的:

提问也不会有响应

3、安装模型

建议安装轻量模型

(1)mistral

复制代码
ollama pull mistral

安装成功:

但是响应不了,电脑内存不足

(2)

复制代码
ollama run phi3:mini

4、调用

复制代码
curl -X POST http://localhost:11434/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama3",
    "messages": [{"role":"user","content":"讲个笑话"}]
  }'

Java 调用示例(普通 HttpClient)

复制代码
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class OllamaDemo {
    public static void main(String[] args) throws Exception {
        String requestBody = """
        {
          "model": "llama3",
          "messages": [{"role":"user","content":"用中文解释LangChain4j"}]
        }
        """;

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("http://localhost:11434/api/chat"))
                .header("Content-Type", "application/json")
                .POST(HttpRequest.BodyPublishers.ofString(requestBody))
                .build();

        HttpClient client = HttpClient.newHttpClient();
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

LangChain4j 提供 OllamaChatModel 直接封装本地 HTTP 调用:

复制代码
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.ollama.OllamaChatModel;

public class LangChainOllamaDemo {
    public static void main(String[] args) {
        ChatLanguageModel model = OllamaChatModel.builder()
                .baseUrl("http://localhost:11434") // 本地 Ollama 服务
                .modelName("llama3")
                .build();

        String result = model.generate("用中文介绍LangChain4j的核心接口");
        System.out.println(result);
    }
}
相关推荐
码兄科技20 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
折哥的程序人生 · 物流技术专研21 小时前
第8篇:六大设计原则在工厂模式中的体现
java·设计模式·设计原则·工厂模式·编程进阶·扩充系列
小明bishe1821 小时前
计算机毕业设计之基于JAVA的植物科普网站
java·spring boot·spring·架构·课程设计
r_oo_ki_e_1 天前
Java Map 集合学习笔记
java·笔记·学习
SL-staff1 天前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
咖啡八杯1 天前
GoF设计模式——模板方法模式
java·后端·spring·设计模式
爱笑的源码基地1 天前
一款全开源的信创云PACS影像云平台解决方案,支持多模态医学影像处理(CT/MR/DR/超声/病理等)
java·源码·国产化·pacs·云影像·区域pacs
我命由我123451 天前
Android 开发问题:ClickableSpan 的点击事件没有生效
java·java-ee·android studio·android jetpack·android-studio·android runtime
万亿少女的梦1681 天前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue