免费的大语言模型API接口

前言

最近在搞公司的一个论坛网站,但是想要用AI审核评论和贴子的内容,原本是想使用Chat GPT,但是发现用起来还挺麻烦,不仅是技术上的问题,冲个会员也麻烦,国内的visa和master card信用卡不支持,我用我汇丰银行的master card也不信,真是服了,索性找点免费的用用,

其实这种资源还蛮多的,比如https://github.com/popjane/free_chatgpt_api传送门,不过我用了一段时间,这个老是出现各种请求不到的问题。又找了一下,发现ollama也给了好几个模型可以免费调用API,如图(也可访问https://ollama.com/v1/models):

使用方法

注册

直接点击https://ollama.com/settings/keys注册一个账号,这个步骤过于简单,有手就行,就不必赘述了。

创建API KEY

然后点击页面左侧的Keys(没找到这个页面的话就再点一下上面的链接),然后点击Add a API Key,然后输入一个名称(可选)就完了,是的,就这么简单。把api key复制出来,等会要用。

调用

这里以Java代码为例,其他语言和应用也是类似的操作方法,我这里导入了hutool和相关的库,不用这些库也是可以实现的,根据你的实际情况来就行了。

java 复制代码
package club.beiyou.wordpress.utils;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;

public class ChatGPTClient {

    private static final String API_KEY = "你的api key";

    private static final String API_URL = "https://ollama.com/v1/chat/completions";

    private static final String MODEL = "gpt-oss:120b";//这个模型就是上面模型列表中的id,复制过来就行

    public static void main(String[] args) {
        System.out.println(chatWithGPT("请帮我写一个Java的快速排序的代码,谢谢。"));
    }

    public static String chatWithGPT(String prompt) {
        JSONObject message = new JSONObject()
                .set("role", "user")
                .set("content", prompt);

        JSONObject body = new JSONObject()
                .set("model", MODEL)
                .set("messages", JSONUtil.createArray().set(message));

        HttpResponse response = HttpRequest.post(API_URL)
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + API_KEY)
                .body(body.toString())
                .timeout(30_000)
                .execute();

        if (response.isOk()) {
            try {
                JSONObject resJson = JSONUtil.parseObj(response.body());
                return resJson.getJSONArray("choices")
                        .getJSONObject(0)
                        .getJSONObject("message")
                        .getStr("content");
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        } else {
            throw new RuntimeException("Request failed, HTTP status code: " + response.getStatus() + ", response body: " + response.body());
        }
    }

}

运行代码输出:

注意事项

这个服务并不是完全没有限制的,他还是有用量限制,具体根据什么来我也不太清楚,反正每个小时和每个礼拜都有限制,可以看一下这usage这个地方:

相关推荐
audyxiao00117 分钟前
让大语言模型先读懂外部事件:一种文本增强与正则扩散对齐的多模态时序预测框架
人工智能·语言模型·多模态·时间序列
小范的技术工坊20 分钟前
大模型蒸馏
人工智能·算法·数据挖掘·大模型
程序员清风26 分钟前
Java 智能体开发:从对话接口到任务执行
java·人工智能·python
ai小陈37 分钟前
GPU服务器租用容器实战:Docker数据卷持久化与安全重建
服务器·人工智能·安全·docker·ai·gpu算力
打工仔折腾 AI42 分钟前
从零写一个CAD 02:实体容器、Esc取消与键盘失灵的排查
人工智能·后端·python·性能优化
QYR-分析1 小时前
内燃机配套核心部件:汽车摇臂市场稳健增长,5.0% CAGR 背后的产业博弈
人工智能·汽车
千里码aicood1 小时前
基于CNN的陕西降雨量气象分析
人工智能·神经网络·cnn
码云之上1 小时前
从搜索框到 Agent:Chatbot 联网搜索的技术演进
人工智能·架构·前端框架
guslegend1 小时前
Vibe Coding 最后一公里:华为生产级 Coding Agent 效果调优实录
人工智能