免费的大语言模型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和相关的库,不用这些库也是可以实现的,根据你的实际情况来就行了。
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这个地方: