主流模型调用

一、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);
    }
}
相关推荐
步步为营DotNet1 小时前
深度解析CancellationToken:.NET中的优雅取消机制
java·前端·.net
JH30739 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_10 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble10 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟11 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖11 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_124987075312 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_12 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.12 小时前
Day06——权限认证-项目集成
java
瑶山12 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard