主流模型调用

一、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);
    }
}
相关推荐
SimonKing3 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean3 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven974 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55113 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河14 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程17 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅18 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者19 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺19 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端