| 对话 | OCR | 单页A4 OCR | 显存占用 | |
| V100 2b-instruct | 218 | 180 | 5.71s | 7G |
| v100 4b-instruct | 103 | 90 | 3.76s | 11G |
| M4 2b-instruct | 83 | 19s | 4G | |
| M4 8b-instruct | 20 | 39s | 7G | |
| P104 2b-instruct | 91 | 11s | 7G |
OCR文件为A4 300dpi (分辨率 2480×3508)扫描图片 且加上 复杂的规则 输出json
| 对话 | OCR | 单页A4 OCR | 显存占用 | |
| V100 2b-instruct | 218 | 180 | 5.71s | 7G |
| v100 4b-instruct | 103 | 90 | 3.76s | 11G |
| M4 2b-instruct | 83 | 19s | 4G | |
| M4 8b-instruct | 20 | 39s | 7G | |
| P104 2b-instruct | 91 | 11s | 7G |
OCR文件为A4 300dpi (分辨率 2480×3508)扫描图片 且加上 复杂的规则 输出json
去github上下载
https://github.com/ollama/ollama/releases
选择最新的ollama-linux-amd64.tgz 下载
tar -xzvf ollama-linux-amd64.tgz
会在该文件下留下
./bin 和 ./lib
将上面的目录内的文件拷贝到 /usr/local/bin 和/usr/local/lib 上面 如果是更新的话就ok了 ,重启服务即可, 不行就reboot
如果是安装 需要将上面的加入进程
不行你就screen -S ollama 里面,运行./usr/local/bin/ollama
import fitz # PyMuPDF
from pathlib import Path
def pdf_to_jpg(pdf_path: str, output_folder: str, dpi: int = 300) -> list[str]:
"""
将 PDF 的每一页转换为 JPG 图片
参数:
pdf_path: PDF 文件路径
output_folder: 输出文件夹路径
dpi: 图像分辨率(默认 300,越高越清晰但文件越大)
返回:
生成的 JPG 文件路径列表
"""
# 打开 PDF 文件
pdf_document = fitz.open(pdf_path)
# 创建输出文件夹
output_dir = Path(output_folder)
output_dir.mkdir(parents=True, exist_ok=True)
# 获取 PDF 文件名(不含后缀)
pdf_name = Path(pdf_path).stem
output_files = []
print(f"开始转换: {pdf_path}")
print(f"共 {len(pdf_document)} 页")
# 遍历每一页
for page_num in range(len(pdf_document)):
page = pdf_document.load_page(page_num)
# 设置缩放比例 (DPI: 72 是 PDF 默认,300 是打印质量)
zoom = dpi / 72
matrix = fitz.Matrix(zoom, zoom)
# 渲染页面为图像
pix = page.get_pixmap(matrix=matrix, colorspace="RGB")
# 生成输出文件名,例如: document_001.jpg
output_path = output_dir / f"{pdf_name}_{page_num+1:03d}.jpg"
# 保存为 JPG
pix.save(str(output_path), "JPEG", jpg_quality=95)
output_files.append(str(output_path))
print(f"已保存: {output_path}")
pdf_document.close()
print(f"转换完成!共生成 {len(output_files)} 张图片")
return output_files
# 使用示例
if __name__ == "__main__":
pdf_path = "1.pdf"
output_folder = "output_images"
# 转换,使用 300 DPI
jpg_files = pdf_to_jpg(pdf_path, output_folder, dpi=300)
print("\n生成的文件:")
for file in jpg_files:
print(file)
# ollama_vl.py
import ollama
def qwen3_vl_chat(image_path: str, prompt: str) -> None:
"""
调用本地 Ollama 服务,使用 qwen3-vl:2b 做视觉问答。
参数:
image_path: 本地图片路径
prompt : 提问文本
打印:
模型回复字符串
"""
with open(image_path, "rb") as f:
img_bytes = f.read()
response = ollama.generate(
model="qwen3-vl:2b-instruct",
prompt=prompt,
format='json',
images=[img_bytes], # ollama 库直接支持 bytes 列表
stream=False,
options={
"temperature": 0, # 最 deterministic
"top_p": 0.5, # 可再收紧,也可保留默认
"top_k": 20, # 默认即可
"num_predict": 2048 # 按需限制最大 token 数,防瞎飘
}
)
print(response["response"])
# 简单自测
if __name__ == "__main__":
qwen3_vl_chat("a.png", "请描述这张图片里有什么")
包括需求分析、容量规划、云服务选择、虚拟化策略、安全性考虑、成本效益分析、持续监控和维护
包括存储类型选择、容量规划、数据备份和冗余、性能优化、数据安全和隔离、存储管理和调度
重点关注:建设背景、需求分析、项目预算、技术方向、网络拓扑结构设计、IP地址规划、网络安全设计、网管和运维功能设计、机房环境设计、综合布线设计