ollama list模型列表获取 接口代码
curl http://localhost:11434/v1/models
coding
package hcx.ollama;/*** @ClassName DockerOllamaList* @Description TODO* @Author dell* @Date 2025/5/26 11:31* @Version 1.0**/import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class DockerOllamaListApi {public static List<String> getOllamaModelNames(String host, int port) {List<String> modelNames = new ArrayList<>();try {URL url = new URL(String.format("http://%s:%d/v1/models", host, port));HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));StringBuilder response = new StringBuilder();String line;while ((line = reader.readLine()) != null) {response.append(line);}reader.close();// 使用正则表达式提取模型IDPattern pattern = Pattern.compile("\"id\":\"([^\"]+)\".*?\"object\":\"model\"");Matcher matcher = pattern.matcher(response.toString());while (matcher.find()) {modelNames.add(matcher.group(1));}} catch (Exception e) {throw new RuntimeException("获取Ollama模型列表失败", e);}return modelNames;}public static void main(String[] args) {try {// 使用Ollama API获取模型列表List<String> modelNames = getOllamaModelNames("127.0.0.1", 11434);System.out.println("模型列表:");for (String modelName : modelNames) {System.out.println(modelName);}} catch (Exception e) {e.printStackTrace();}}
}