6037 字
30 分钟

🔍 搜索引擎查找Ollama公开API | DeepSeek免费使用教程+Fofa/Shodan实战指南 | AI模型远程调用技巧

大多数教程都集中在如何本地部署 DeepSeek 模型,但本教程将引导您探索另一种方法:通过搜索引擎(如 Fofa 和 Shodan)查找公开的 Ollama 模型 API 服务。

Ollama 是一个强大的支持本地部署的大型语言模型,允许用户通过 API 进行交互。借助 Fofa 和 Shodan 等搜索引擎,您可以定位那些暴露在互联网上的 Ollama 服务,并将其集成到自己的项目中,以便更加便捷地实现 AI 交互。

前言:探索与风险的平衡#

⚠️ 重要声明:

在开始本文之前,我们必须强调几个关键点:

  1. 法律风险:未经授权访问他人计算机系统可能违反《中华人民共和国网络安全法》、《计算机信息系统安全保护条例》等法律法规
  2. 道德考量:使用他人资源而不告知或补偿,不符合技术社区的共享精神
  3. 安全隐患:公开API可能存在安全风险,传输敏感信息可能导致隐私泄露
  4. 服务不稳定:公开服务随时可能关闭、限流或变更,不适合作为生产环境依赖

本文目的:

  • 📚 教育性质:帮助读者了解网络空间搜索引擎的工作原理
  • 🔒 安全意识:提高对API暴露风险的认识,促进更好的安全实践
  • 🛠️ 技术探索:展示如何发现和测试网络服务(仅限合法授权的场景)
  • 💡 替代方案:引导读者选择更安全、合法的AI使用方式

强烈建议:

  • ✅ 优先选择本地部署Ollama
  • ✅ 使用官方API服务(如DeepSeek官方API)
  • ✅ 仅在获得明确授权的情况下测试API
  • ✅ 发现开放API时,善意提醒所有者加固安全

什么是Ollama?#

Ollama简介#

Ollama 是一款开源的大语言模型本地部署工具,它让在个人电脑上运行大型语言模型变得前所未有的简单。

核心特点:

特性说明
🚀 简单易用一行命令即可启动模型服务
📦 模型丰富支持Llama 3、DeepSeek、Qwen等数百种模型
🔌 API友好提供标准的RESTful API接口
💻 跨平台支持macOS、Linux、Windows
🎯 性能优化自动量化、GPU加速、内存管理
🆓 完全免费开源软件,无使用限制

基本工作原理:

用户请求 → Ollama API (localhost:11434) → 加载模型 → 推理计算 → 返回结果

典型使用场景:

  • 本地AI助手开发
  • 离线文档分析
  • 代码生成和审查
  • 数据处理和转换
  • 学习和研究

为什么有人会暴露Ollama API?#

理解这一现象有助于我们更好地认识网络安全的重要性。

常见原因分析:

  1. 配置失误(最常见)

    Terminal window
    # 错误的启动方式 - 监听所有网络接口
    ollama serve --host 0.0.0.0
    # 正确的做法 - 仅监听本地
    ollama serve --host 127.0.0.1
  2. 测试需求

    • 开发者临时开放用于远程调试
    • 团队协作测试时忘记关闭
    • CI/CD管道中的临时实例
  3. 内网穿透误配置

    # frp配置示例 - 错误地将内部服务暴露到公网
    [ollama]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 11434
    remote_port = 11434 # 直接暴露,无认证
  4. 安全意识薄弱

    • 不了解默认端口的风险
    • 未配置防火墙规则
    • 缺乏API认证机制
  5. 故意共享(少数情况)

    • 技术爱好者自愿分享算力
    • 教育和演示目的
    • 社区实验项目

统计数据(仅供参考):

  • 根据Shodan数据,全球约有数千个公开的Ollama实例
  • 其中超过80%未启用任何认证机制
  • 大部分位于家庭宽带IP段
  • 平均在线时长不超过48小时

一、通过 Fofa 搜索 Ollama API#

Fofa 是一个强大的互联网设备和服务搜索引擎,可以帮助用户发现公开的 API 服务。通过在 Fofa 中输入特定的关键词,您可以精准地找到暴露在互联网上的 Ollama API 服务。

1.1 什么是Fofa?#

Fofa(FOFA Pro) 是由白帽汇公司开发的网络空间资产搜索引擎,类似于国外的Shodan和Censys。

主要功能:

  • 🔍 全网资产测绘
  • 🌐 协议识别和指纹匹配
  • 📊 数据统计和分析
  • ⚠️ 安全漏洞发现
  • 🛡️ 企业资产管理

适用人群:

  • 安全研究人员
  • 渗透测试工程师
  • 企业安全团队
  • 网络管理员
  • 技术爱好者(学习用途)

访问方式:

  • 官网:https://fofa.info/
  • 免费注册:可获得基础搜索功能
  • 付费会员:解锁高级搜索和历史数据

1.2 Fofa 搜索步骤#

  1. 打开 Fofa 官网,在搜索框中输入以下查询语句:

    app="Ollama" && is_domain=false
    • app=“Ollama”:用于筛选与 Ollama 相关的在线服务。
    • is_domain=false:排除域名服务,仅显示直接暴露的 API 端点,减少干扰信息。
  2. 点击搜索后,您将看到所有公开的 Ollama API 服务列表,并可以根据需要进行进一步筛选和分析。

更多搜索语法示例:

Terminal window
# 基础搜索 - 查找所有Ollama服务
app="Ollama"
# 排除域名,只看IP地址
app="Ollama" && is_domain=false
# 指定端口(Ollama默认端口11434)
app="Ollama" && port="11434"
# 限定地区(例如中国)
app="Ollama" && country="CN"
# 限定操作系统
app="Ollama" && os="Linux"
# 组合搜索 - 中国的Linux服务器
app="Ollama" && country="CN" && os="Linux"
# 排除特定端口
app="Ollama" && port!="11434"
# 查找最近上线的服务
app="Ollama" && after="2025-01-01"

高级搜索技巧:

语法说明示例
&&逻辑与app="Ollama" && port="11434"
||逻辑或port="11434" || port="8080"
!=不等于country!="US"
=等于os="Linux"
after时间之后after="2025-01-01"
before时间之前before="2025-12-31"
cert证书信息cert="example.com"
headerHTTP头header="Ollama"

1.3 结果分析与筛选#

如果搜索结果显示相关的 IP 地址和端口号,您可以尝试访问这些服务,以检查是否开放了 Ollama API。

结果字段解读:

{
"ip": "123.45.67.89", // IP地址
"port": 11434, // 端口号
"protocol": "http", // 协议类型
"country": "CN", // 国家代码
"region": "Beijing", // 地区
"city": "Beijing", // 城市
"isp": "China Telecom", // ISP运营商
"last_update": "2025-02-10", // 最后更新时间
"banner": "Ollama/0.1.29" // 服务横幅信息
}

筛选策略:

  1. 按地理位置筛选

    • 选择距离较近的服务器,延迟更低
    • 考虑法律管辖区域
  2. 按ISP筛选

    • 数据中心IP通常更稳定
    • 家庭宽带IP可能随时下线
  3. 按更新时间筛选

    • 最近更新的服务更可能在线
    • 老旧记录可能已失效
  4. 按端口筛选

    • 优先选择标准端口11434
    • 非标准端口可能是自定义配置

请注意,访问时务必遵守相关法律法规,确保您连接到合法且授权的 API,避免未经许可的操作,防止违反法律。

Ollama 本地部署的 DeepSeek


二、Shodan 搜索 Ollama API#

Shodan 是另一个强大的搜索引擎,专门用于查找互联网上的各种设备和服务。通过 Shodan,您可以发现运行中的 Ollama 服务实例。

2.1 什么是Shodan?#

Shodan 被称为”黑客的搜索引擎”,是全球最著名的网络空间搜索引擎之一。

核心功能:

  • 🌍 全球设备索引
  • 🔬 深度协议分析
  • 📈 趋势统计和报告
  • 🔔 实时监控和告警
  • 📱 API接口支持

与Fofa对比:

特性ShodanFofa
覆盖范围全球全球(中国数据更全)
更新频率实时每日更新
免费额度有限较多
中文支持一般完善
价格$59/月起¥3000/年起
API限制严格相对宽松

访问方式:

  • 官网:https://shodan.io/
  • 免费注册:每月100次查询
  • 会员计划:解锁无限查询和API

2.2 Shodan 搜索步骤#

  1. 打开 Shodan 官网,在搜索框中输入以下查询语句:

    Ollama is running

    这个查询用于查找运行中的 Ollama 服务。

  2. 搜索结果将返回包含 Ollama API 实例的 IP 地址和端口号。

更多Shodan搜索语法:

Terminal window
# 基础搜索
"Ollama"
# 精确匹配横幅
http.title:"Ollama"
# 指定端口
port:11434
# 组合搜索
"Ollama" port:11434
# 限定国家
"Ollama" country:CN
# 限定组织
"Ollama" org:"China Telecom"
# 使用产品指纹
product:"Ollama"
# 查找特定版本
"Ollama/0.1.29"
# 排除某些结果
"Ollama" -country:US

Shodan过滤器详解:

过滤器说明示例
country:国家代码country:CN
city:城市名称city:Beijing
org:组织名称org:"Alibaba"
isp:ISP运营商isp:"China Mobile"
port:端口号port:11434
hostname:主机名hostname:"example.com"
os:操作系统os:"Linux"
product:产品名称product:"Ollama"
version:版本号version:"0.1.29"
vuln:漏洞编号vuln:CVE-2024-1234

2.3 结果分析#

Shodan 会提供关于公开服务的详细信息,如 IP 地址、端口号和可能的 API 路径等。同样,确保这些服务是合法的,并且您有权访问。

Shodan结果示例:

IP: 123.45.67.89
Port: 11434
Protocol: HTTP
Product: Ollama
Version: 0.1.29
Country: China
City: Shanghai
ISP: China Unicom
Last Update: 2025-02-10
Tags: ai, llm, api

关键信息解读:

  1. 服务版本

    • 了解运行的Ollama版本
    • 判断是否存在已知漏洞
  2. 地理位置

    • 评估网络延迟
    • 考虑数据主权问题
  3. 运营商信息

    • 数据中心IP更稳定
    • 家庭宽带可能动态IP
  4. 更新时间

    • 判断服务活跃度
    • 过滤失效记录

Ollama 本地部署的 DeepSeek


三、如何访问找到的 Ollama API#

3.1 验证API可用性#

在正式使用之前,先验证找到的API是否真的可用。

方法1:使用curl命令

Terminal window
# 检查Ollama版本
curl http://IP:11434/api/version
# 预期返回:
# {"version":"0.1.29"}
# 查看可用模型列表
curl http://IP:11434/api/tags
# 预期返回:
# {"models":[{"name":"deepseek-r1:7b","size":4371389952,...}]}

方法2:使用Python脚本

import requests
import json
def check_ollama_api(base_url):
"""检查Ollama API是否可用"""
try:
# 检查版本
version_resp = requests.get(f"{base_url}/api/version", timeout=5)
if version_resp.status_code == 200:
version = version_resp.json()
print(f"✅ Ollama版本: {version['version']}")
else:
print(f"❌ 版本查询失败: {version_resp.status_code}")
return False
# 检查模型列表
tags_resp = requests.get(f"{base_url}/api/tags", timeout=5)
if tags_resp.status_code == 200:
models = tags_resp.json().get('models', [])
print(f"✅ 可用模型数量: {len(models)}")
for model in models:
print(f" - {model['name']}")
return True
else:
print(f"❌ 模型查询失败: {tags_resp.status_code}")
return False
except requests.exceptions.RequestException as e:
print(f"❌ 连接失败: {str(e)}")
return False
# 使用示例
if __name__ == "__main__":
base_url = "http://123.45.67.89:11434"
check_ollama_api(base_url)

方法3:使用浏览器

直接在浏览器中访问:

http://IP:11434
http://IP:11434/api/version
http://IP:11434/api/tags

3.2 使用 Chatbox 连接到远程 Ollama 服务#

  1. 下载并安装 Chatbox AI

Chatbox简介:

Chatbox是一款美观易用的AI客户端,支持多种大语言模型提供商。

主要特点:

  • 🎨 现代化界面设计
  • 🌍 多模型支持(OpenAI、Ollama、Claude等)
  • 💾 本地数据存储
  • 📱 跨平台(Windows、macOS、Linux)
  • 🔌 插件扩展
  • 🆓 免费使用
  1. 打开 Chatbox 设置,在模型提供方中选择 “Ollama”。

Ollama 本地部署的 DeepSeek

  1. 配置Ollama连接:

配置步骤详解:

Step 1: 打开Chatbox
Step 2: 点击左下角"设置"图标
Step 3: 选择"模型提供商"
Step 4: 点击"添加提供商"
Step 5: 选择"Ollama"
Step 6: 填写配置:
- Base URL: http://IP:11434
- Model: deepseek-r1:7b(或其他可用模型)
Step 7: 点击"测试连接"
Step 8: 保存配置

配置示例:

{
"provider": "Ollama",
"baseUrl": "http://123.45.67.89:11434",
"apiKey": "", // Ollama不需要API Key
"model": "deepseek-r1:7b",
"temperature": 0.7,
"maxTokens": 2048
}
  1. 在模型下拉框中选择您运行的本地模型。

Ollama 本地部署的 DeepSeek

模型选择建议:

模型名称参数量适用场景性能要求
deepseek-r1:1.5b1.5B简单对话、快速响应
deepseek-r1:7b7B通用对话、代码生成
deepseek-r1:14b14B复杂任务、专业领域
llama3:8b8B英文任务、通用对话
qwen2.5:7b7B中文优化、多语言
  1. 点击保存后,您便可以通过 Chatbox 与远程 Ollama 服务进行交互。

Ollama 本地部署的 DeepSeek

3.3 直接使用API调用#

对于开发者,可以直接通过HTTP请求调用Ollama API。

Python示例:

import requests
import json
def chat_with_ollama(base_url, model, prompt):
"""与Ollama模型对话"""
url = f"{base_url}/api/generate"
payload = {
"model": model,
"prompt": prompt,
"stream": False,
"options": {
"temperature": 0.7,
"top_p": 0.9,
"num_predict": 512
}
}
try:
response = requests.post(url, json=payload, timeout=30)
response.raise_for_status()
result = response.json()
return result.get('response', '')
except Exception as e:
return f"Error: {str(e)}"
# 使用示例
if __name__ == "__main__":
base_url = "http://123.45.67.89:11434"
model = "deepseek-r1:7b"
prompt = "请介绍一下你自己"
response = chat_with_ollama(base_url, model, prompt)
print(response)

JavaScript示例:

async function chatWithOllama(baseUrl, model, prompt) {
const url = `${baseUrl}/api/generate`;
const payload = {
model: model,
prompt: prompt,
stream: false,
options: {
temperature: 0.7,
top_p: 0.9,
num_predict: 512
}
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
return data.response;
} catch (error) {
console.error('Error:', error);
return null;
}
}
// 使用示例
const response = await chatWithOllama(
'http://123.45.67.89:11434',
'deepseek-r1:7b',
'请介绍一下你自己'
);
console.log(response);

cURL示例:

Terminal window
curl -X POST http://123.45.67.89:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-r1:7b",
"prompt": "请介绍一下你自己",
"stream": false,
"options": {
"temperature": 0.7,
"num_predict": 512
}
}'

3.4 性能测试与对比#

测试指标:

指标说明理想值
响应时间从发送到接收完整响应的时间<5秒
Token速度每秒生成的token数>20 tokens/s
成功率成功完成请求的比例>95%
并发能力同时处理的请求数视服务器而定

性能测试脚本:

import requests
import time
import statistics
def benchmark_ollama(base_url, model, num_requests=10):
"""性能基准测试"""
prompt = "请用一句话介绍人工智能"
times = []
success_count = 0
print(f"开始性能测试 ({num_requests} 次请求)...")
for i in range(num_requests):
start_time = time.time()
try:
response = requests.post(
f"{base_url}/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
},
timeout=30
)
if response.status_code == 200:
success_count += 1
elapsed = time.time() - start_time
times.append(elapsed)
print(f"请求 {i+1}: {elapsed:.2f}s ✅")
else:
print(f"请求 {i+1}: 失败 ({response.status_code}) ❌")
except Exception as e:
print(f"请求 {i+1}: 异常 ({str(e)}) ❌")
# 统计结果
if times:
print("\n=== 测试结果 ===")
print(f"成功率: {success_count}/{num_requests} ({success_count/num_requests*100:.1f}%)")
print(f"平均响应时间: {statistics.mean(times):.2f}s")
print(f"中位数响应时间: {statistics.median(times):.2f}s")
print(f"最快响应: {min(times):.2f}s")
print(f"最慢响应: {max(times):.2f}s")
print(f"标准差: {statistics.stdev(times):.2f}s")
# 运行测试
benchmark_ollama("http://123.45.67.89:11434", "deepseek-r1:7b")

四、安全性和合规性#

在访问和使用这些 API 时,请务必考虑以下几点:

4.1 法律风险分析#

中国大陆相关法律:

  1. 《中华人民共和国网络安全法》

    • 第二十七条:禁止从事非法侵入他人网络等活动
    • 第四十四条:禁止窃取或以其他非法方式获取个人信息
    • 违者可能面临罚款、拘留甚至刑事责任
  2. 《计算机信息系统安全保护条例》

    • 第七条:禁止未经允许进入计算机信息系统
    • 第二十三条:违规者可被警告、罚款或拘留
  3. 《刑法》第二百八十五条

    • 非法侵入计算机信息系统罪
    • 情节严重的,处三年以下有期徒刑或拘役

国际法律:

  • 美国:Computer Fraud and Abuse Act (CFAA)
  • 欧盟:GDPR(数据保护)、NIS Directive(网络安全)
  • 其他国家:大多有类似的计算机犯罪法律

⚖️ 法律建议:

  • 仅在获得明确授权的情况下访问API
  • 不要尝试绕过安全措施
  • 不要收集、存储或传播敏感数据
  • 发现漏洞时,负责任地披露给所有者

4.2 安全性考量#

  1. 合法性:确保您访问的 API 是公开且经过授权的,避免任何未经许可的访问行为。

如何判断是否授权?

可能授权的情况:

  • 服务所有者明确声明公开可用
  • 有文档说明如何使用
  • 提供了API密钥申请流程
  • 在社区论坛中主动分享

未授权的情况:

  • 无任何公开说明
  • 需要认证但未提供凭据
  • 位于私有网络段
  • 明显是配置失误
  1. 安全性:如果您计划公开暴露自己的 Ollama API,确保使用 HTTPS 加密,并采取身份验证措施,防止恶意访问。

保护自己API的最佳实践:

Terminal window
# 1. 仅监听本地接口
ollama serve --host 127.0.0.1
# 2. 使用反向代理添加认证(Nginx示例)
server {
listen 443 ssl;
server_name ollama.example.com;
location / {
# 基本认证
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:11434;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 3. 配置防火墙
sudo ufw deny 11434/tcp # 拒绝外部访问
sudo ufw allow from 192.168.1.0/24 to any port 11434 # 仅允许内网
# 4. 使用VPN访问
# 通过WireGuard或OpenVPN建立安全隧道
  1. 防火墙配置:确保防火墙配置正确,允许合法请求访问您的 API,同时阻止不必要的外部访问。

防火墙配置示例:

Terminal window
# Ubuntu/Debian (UFW)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow from 192.168.1.0/24 to any port 11434
sudo ufw deny 11434 # 拒绝其他所有访问
# CentOS/RHEL (Firewalld)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="11434" protocol="tcp" accept'
sudo firewall-cmd --reload
# 查看规则
sudo ufw status verbose
sudo firewall-cmd --list-all

遵循这些安全措施,您可以在使用 Ollama API 时确保合法性与安全性。

4.3 隐私保护措施#

使用公开API时的隐私风险:

  1. 数据泄露

    • 对话内容可能被记录
    • 敏感信息可能被提取
    • API所有者可查看完整历史
  2. 中间人攻击

    • HTTP传输可被窃听
    • 数据可能被篡改
    • 会话可能被劫持
  3. 元数据收集

    • IP地址被记录
    • 使用时间模式可分析
    • 请求频率可追踪

隐私保护建议:

# 1. 使用HTTPS(如果支持)
base_url = "https://ollama.example.com" # 而非http
# 2. 脱敏敏感信息
def sanitize_prompt(prompt):
"""移除个人信息"""
import re
# 移除邮箱
prompt = re.sub(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', '[EMAIL]', prompt)
# 移除手机号
prompt = re.sub(r'\b1[3-9]\d{9}\b', '[PHONE]', prompt)
# 移除身份证号
prompt = re.sub(r'\b\d{17}[\dXx]\b', '[ID]', prompt)
return prompt
# 3. 使用代理
proxies = {
'http': 'http://proxy.example.com:8080',
'https': 'https://proxy.example.com:8080'
}
response = requests.post(url, json=payload, proxies=proxies)
# 4. 限制请求内容
# 避免发送:密码、密钥、个人身份信息、商业机密

4.4 道德考量#

技术社区的共识:

  1. 尊重他人资源

    • 不滥用免费服务
    • 限制使用频率
    • 考虑服务器成本
  2. 负责任披露

    • 发现开放API时,通知所有者
    • 提供加固建议
    • 不公开 exploit 细节
  3. 知识共享精神

    • 鼓励本地部署教程
    • 分享最佳实践
    • 建设性讨论

善意提醒模板:

主题:发现您的Ollama API暴露在公网
您好,
我在使用网络空间搜索引擎时,发现您的Ollama API服务(IP: xxx.xxx.xxx.xxx:11434)暴露在公网上,且未启用认证机制。
这可能导致:
1. 未经授权的访问和使用
2. 算力资源被滥用
3. 潜在的安全风险
建议您:
1. 配置防火墙,仅允许信任的IP访问
2. 使用反向代理添加身份验证
3. 或仅监听本地接口(127.0.0.1)
如需帮助,可参考:https://github.com/ollama/ollama/blob/main/docs/faq.md
祝好,
[您的名字]

五、替代方案推荐#

鉴于使用公开API的风险和不确定性,我们强烈推荐以下更安全、合法的替代方案。

5.1 本地部署Ollama(强烈推荐)#

优势:

  • ✅ 完全免费
  • ✅ 数据隐私有保障
  • ✅ 无网络延迟
  • ✅ 7×24小时可用
  • ✅ 完全控制权

最低配置要求:

组件最低配置推荐配置
CPU4核8核以上
内存8GB16GB以上
显卡集成显卡RTX 3060 12GB
存储20GB SSD100GB NVMe SSD
系统Windows 10/macOS 12/Ubuntu 20.04最新稳定版

快速开始:

Terminal window
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.ai/install.sh | sh
# Windows
# 下载安装包:https://ollama.ai/download
# 启动服务
ollama serve
# 运行DeepSeek模型
ollama run deepseek-r1:7b
# 查看可用模型
ollama list
# 下载其他模型
ollama pull llama3:8b
ollama pull qwen2.5:7b

性能优化:

Terminal window
# 使用GPU加速(如有NVIDIA显卡)
# 确保安装了CUDA和cuDNN
# 调整并发设置
export OLLAMA_MAX_LOADED_MODELS=2
export OLLAMA_NUM_PARALLEL=4
# 量化模型(节省内存)
ollama run deepseek-r1:7b-q4_K_M # 4bit量化

5.2 DeepSeek官方API#

优势:

  • ✅ 官方支持,稳定可靠
  • ✅ 最新模型版本
  • ✅ 完善的文档和社区
  • ✅ 新用户免费额度

注册步骤:

  1. 访问 https://platform.deepseek.com/
  2. 注册账号并完成实名认证
  3. 创建API Key
  4. 查看免费额度(通常为数百万tokens)
  5. 开始使用

Python SDK示例:

from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://api.deepseek.com/v1"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "你好"}
],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)

定价参考(2025年):

  • 输入:¥0.001/1K tokens
  • 输出:¥0.002/1K tokens
  • 新用户赠送:¥10-50不等

5.3 其他开源模型#

优秀替代品:

模型参数量特点许可证
Llama 38B/70BMeta出品,生态完善商业友好
Qwen 2.57B/72B阿里出品,中文优化Apache 2.0
ChatGLM 49B清华出品,中文强商业友好
Mistral7B欧洲出品,效率高Apache 2.0
Yi6B/34B零一万物,性能好Apache 2.0

一键部署脚本:

#!/bin/bash
# 一键部署多个模型
echo "正在下载模型..."
# DeepSeek
ollama pull deepseek-r1:7b
# Llama 3
ollama pull llama3:8b
# Qwen 2.5
ollama pull qwen2.5:7b
# ChatGLM
ollama pull chatglm4:9b
echo "下载完成!可用模型:"
ollama list

5.4 云平台免费额度#

推荐平台:

  1. Google Colab

    • 免费GPU(T4/V100)
    • Jupyter Notebook环境
    • 适合学习和实验
  2. Hugging Face Spaces

    • 免费托管Gradio应用
    • 丰富的模型库
    • 社区活跃
  3. Replicate

    • 按使用量付费
    • 新用户$5信用额度
    • API简单易用
  4. 阿里云/腾讯云

    • 学生优惠计划
    • 新用户免费试用
    • GPU实例可选

六、常见问题解答#

Q1: 找到的API突然无法访问怎么办?#

可能原因:

  • 服务所有者关闭了API
  • 防火墙规则变更
  • IP地址变化(动态IP)
  • 服务器故障

解决方法:

  • 重新搜索寻找其他实例
  • 切换到本地部署
  • 使用官方API服务

Q2: 如何提高API响应速度?#

优化建议:

  • 选择地理位置较近的服务器
  • 使用较小的模型(如1.5B而非7B)
  • 降低生成参数(num_predict、temperature)
  • 启用流式输出(stream: true)

Q3: 可以商用公开的Ollama API吗?#

答案:绝对不可以!

  • 未获得明确授权
  • 违反服务条款
  • 法律风险极高
  • 道德上不可接受

正确做法:

  • 使用官方商业API
  • 自建服务器
  • 购买云服务

Q4: 如何保护自己的Ollama服务?#

安全清单:

Terminal window
# 1. 仅监听本地
OLLAMA_HOST=127.0.0.1 ollama serve
# 2. 配置防火墙
ufw deny 11434
# 3. 使用反向代理+认证
# (见上文Nginx配置)
# 4. 定期更新
ollama update
# 5. 监控日志
tail -f ~/.ollama/logs/server.log

Q5: 发现开放的API应该怎么做?#

负责任的行动:

  1. ✅ 不要滥用或攻击
  2. ✅ 尝试联系所有者提醒
  3. ✅ 提供安全加固建议
  4. ❌ 不要公开具体IP和漏洞细节
  5. ❌ 不要进行压力测试

七、总结#

通过 Fofa 和 Shodan 等搜索引擎,您可以轻松找到暴露在互联网上的 Ollama 本地模型 API 服务。利用这些 API,您能够将 Ollama 模型集成到自己的项目中,进行各种自然语言处理任务。

核心要点回顾:

  1. 🔍 搜索技巧:掌握Fofa和Shodan的高级搜索语法
  2. ⚠️ 风险评估:充分认识法律、安全、道德风险
  3. 🛡️ 安全防护:保护自己和他人的API服务
  4. 🎯 合法替代:优先选择本地部署和官方API
  5. 🤝 社区责任:负责任地使用和分享技术

我们的建议:

虽然探索公开API在技术上很有趣,但我们强烈建议

  • 首选本地部署:安全、免费、可控
  • 使用官方API:稳定、合法、有支持
  • 学习网络安全:提升安全意识,保护自己和他人
  • 贡献社区:分享知识,帮助他人避免安全风险

未来展望:

随着AI技术的普及,我们期待看到:

  • 更多用户意识到本地部署的价值
  • 更好的安全工具和最佳实践
  • 更开放的开源模型生态
  • 更合理的商业化模式

但在使用这些服务时,请务必遵守相关法律法规并采取适当的安全措施,确保操作合法并且安全。

希望本教程能帮助您顺利上手,并有效地利用 Ollama 本地模型 API!更重要的是,希望您能成为一个负责任的技术使用者,为构建更安全的网络环境贡献力量。


八、相关链接#

延伸阅读:

  • 《网络安全法》解读
  • Ollama安全最佳实践
  • 大语言模型本地部署完全指南
  • 负责任漏洞披露流程
🔍 搜索引擎查找Ollama公开API | DeepSeek免费使用教程+Fofa/Shodan实战指南 | AI模型远程调用技巧
https://971918.xyz/posts/docs/free-deepseek/
作者
九所长
发布于
2025-02-12
许可协议
CC BY-NC-SA 4.0