当前位置: 首页 > news >正文

SQLServer RAG笔记5:为SQLServer 2025配置Ollama

环境准备

所需工具

工具用途下载地址
Ollama本地运行 LLM 和嵌入模型https://ollama.com/
nginx反向代理,提供 HTTPS 支持https://nginx.org/
mkcert生成自签名证书https://github.com/FiloSottile/mkcert

确保Ollama已安装并且下载基本嵌入模型

# 下载并运行嵌入模型 ollama run nomic-embed-text “Hello”

为OLLAMA配置HTTPS

证书创建

由于Ollama 默认只提供 HTTP 服务,而 SQL Server 2025 要求外部 REST 端点必须使用 HTTPS,所以需要通过 nginx 配置反向代理实现 HTTPS 支持。

首先从网站https://github.com/FiloSottile/mkcert 下载并安装mkcert工具。

根据自己的环境去下载就可以,不需要编译,并且提供了MacOs以及Windows的AMD和ARM版。

下载完成后建议保存到一个比较容易访问到的目录,比如我是放在 d:\Cert,这样我就可以打开PowerShell,很容易的cd到这个目录。

在PowerShell下cd到 d:\Cert 目录,然后执行以下命令安装 mkcert 工具:

.\mkcert-v1.4.4-windows-amd64.exe -install

Tip:默认下载的程序名很长,敲PowerShell命令的时候可以先敲一个mk然后按Tab键自动补全,或者也可以直接将下载的文件重命名成mkcert.exe。

然后再执行以下命令生成服务器证书,需留意需要把192.168.1.160替换为你自己的IP地址。

.\mkcert-v1.4.4-windows-amd64.exe 192.168.1.160 localhost 127.0.0.1 ::1

运行完成后会在 d:\Cert 目录下生成两个文件,分别是 <证书文件名>.pem 和 <证书文件名>-key.pem。

nginx 配置反响代理

首先需要再NGINX网站上下载并安装nginx。在Windows下的安装没什么特殊的说道,直接下载并解压即可。

比如我会在D盘目录下创建文件夹APPS然后再创建子文件夹NGINX,把解压的所有文件都复制到这下面。

在NGINX目录下创建一个文件夹,命名为 certs,然后将刚才生成的两个证书都复制到这里。

接下来是关键,找到NGINX的配置文件 nginx.conf,它在目录conf下,然后编辑它。

用以下http部分的配置覆盖默认的配置。

http { server { listen 443 ssl; server_name 192.168.1.160; # 替换为你的 IP ssl_certificate ../certs/<证书文件名>.pem; ssl_certificate_key ../certs/<证书文件名>-key.pem; location / { proxy_pass http://localhost:11434; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }

保存配置文件后,需要重启NGINX服务。

# 启动 nginx(前台运行) nginx # 停止 nginx(在另一个终端) nginx -s stop # 后台启动 nginx start nginx

最后一步验证 HTTPS 是否正常工作。

# 测试 HTTP 直接访问 Ollama curl http://localhost:11434 # 测试 HTTPS 通过 nginx 访问 curl https://localhost # 测试嵌入 API 通过 HTTPS Invoke-RestMethod -Uri https://localhost/api/embeddings ` -Method Post ` -Body '{"model": "nomic-embed-text:latest", "prompt": "博客园最帅的是谁"}' ` -ContentType 'application/json'

SQL Server 2025 配置

启用外部 REST 端点

USE VectorDB; GO -- 启用外部 REST 端点 sp_configure 'external rest endpoint enabled', 1 GO RECONFIGURE WITH OVERRIDE; GO

创建外部模型

USE VectorDB GO DROP EXTERNAL MODEL IF EXISTS ollama_nomic_embed_text GO CREATE EXTERNAL MODEL ollama_nomic_embed_text WITH ( LOCATION = 'https://192.168.1.160:443/api/embed', API_FORMAT = 'Ollama', MODEL_TYPE = EMBEDDINGS, MODEL = 'nomic-embed-text:latest' ); GO -- 验证模型创建 SELECT * FROM sys.external_models; GO

Tip:关于模型的名称,需要用Ollama list命令确认下名称,比如我的是nomic-embed-text:latest。但在我另一台机器里就是nomic-embed-text。

ollama list
http://www.jsqmd.com/news/1080570/

相关文章:

  • 电池寿命预测的AI革命:微软开源工具BatteryML深度解析
  • 日志管理化技术中的日志收集日志分析日志存储
  • 游戏网络同步:状态同步与帧同步的选择与实现
  • DarkHole2靶场渗透实战:从信息收集到权限提升的完整路径解析
  • 嵌入式处理器选型实战:从以太网与硬件加密需求到MCF5475应用解析
  • 流式计算架构设计
  • 绝地求生压枪宏:用Lua脚本实现罗技鼠标精准后坐力控制的完整指南
  • Java CompletableFuture 并发性能优化
  • LangChain链式提示工程实战:从Rap生成器解剖AI工作流
  • Java网络编程NIO与Netty框架
  • 中科蓝讯音频SoC开发实战:从芯片选型到量产问题排查
  • 什么是基于文件的应用
  • 南宁青秀区跑了几家店,这家体验最舒服
  • AI编排实战:MuleSoft+LangChain双引擎企业级集成指南
  • 空中交通终端区进场排序优化:FOFFS与CPS策略的实时性能对比分析
  • 虚拟机DNS解析失败:systemd-resolved与127.0.0.53:53错误深度解析
  • AI文本分块实战指南:16种生产级策略与避坑方法
  • Python 异步爬虫限速方案
  • 前端组件库设计实现指南
  • Spielman猜想:正则图成立与一般图反例的谱图论解析
  • 专业视频对比工具全面指南:高效分析视频质量差异的终极方案
  • Python量化交易数据获取终极指南:用efinance轻松搞定四大金融市场数据
  • 直击痛点型:PLM、ERP、MES买齐了,但你的智能制造真的100%落地了吗?
  • 基于Spdlog + Qt的日志显示框架设计与实现
  • 快速掌握Apache Spark:从入门到实战的完整指南
  • VMware与Hyper-V冲突排查手册(2024版):从设备管理器异常驱动到WDDM GPU虚拟化抢占,覆盖12类真实产线案例
  • 3分钟完成FF14国际服中文汉化:开源工具让语言不再是障碍
  • Windows/Linux双Guest系统音频失同步问题,20年VMware认证架构师首次公开vSphere 8.0音频时钟校准参数表
  • 为什么92.6%的VMware密码重置操作导致系统崩溃?——基于137例真实故障日志的根因分析与避坑清单
  • P89LPC980定时器/PWM与低功耗电源管理实战详解