免费的大语言模型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这个地方:

相关推荐
Mr_凌宇2 分钟前
codex开启1M上下文
人工智能·程序员
AI英德西牛仔3 分钟前
豆包导出 pdf 颜色不一样怎么办,选用 AI 导出鸭优化文档导出,结合行业白皮书数据解析色彩失真成因
人工智能·ai·chatgpt·pdf·deepseek·ai导出鸭
神奇小汤圆4 分钟前
RAG检索优化实战:从67%到92%,我做了这4步
人工智能
老司机张师傅18 分钟前
让 AI 之间自动对话:基于 TRAE Solo 的多智能体团队协作系统设计与实现
人工智能·aiaitrae
一知半解仙33 分钟前
大国博弈与机器人纪元:我们正站在怎样的历史拐点?
大数据·人工智能·机器人
qpsj41 分钟前
DeepSeek 缓存命中涨价 12 倍:4 个改动,账单回到涨价前
人工智能·llm
哈尔ai42 分钟前
分布式锁没有失效:真正危险的是锁与事务的提交边界
人工智能
哈尔ai1 小时前
JavaScript 异步竞态治理:先定义谁能写,再谈取消请求
人工智能
jinggongszh1 小时前
MES\WMS软件前端开发工程师:与AI协同前行,解锁前端开发新范式
人工智能·前端开发·开发工程师·制造业转型
亚古数据1 小时前
亚古数据:新西兰公司工商报告Company Extract全解析
大数据·人工智能