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();
// 使用正则表达式提取模型ID
Pattern 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();
}
}
}