Ollama + DeepSeek + 芋道框架 + SearXNG 本地联网搜索完整教程
1. 环境准备与检查在开始之前,请确保你的环境满足以下条件:1.1 硬件要求内存:建议至少8GB可用内存(运行7B模型需要约4-6GB)硬盘:DeepSeek模型文件约4-5GB空间CPU/GPU:如有NVIDIA GPU可加速推理(可选)1.2 软件要求操作系统:Windows 10/11、macOS、Linux均可芋道框架:已部署芋道框架,且使用JDK 17/21版本(Spring AI基于Spring Boot 3.X,最低要求JDK 17)Docker:已安装Docker Desktop(用于SearXNG)1.3 确认芋道AI模块芋道框架的AI功能由yudao-module-ai模块实现 。确保你的芋道项目:使用的是master-jdk17分支已导入AI模块的SQL脚本(如有需要)已启动AiServerApplication服务2. 安装Ollama并部署DeepSeek模型2.1 下载安装Ollama根据你的操作系统,选择对应的安装方式:🪟 Windows用户访问 Ollama官网:https://ollama.com/download下载Windows版本安装包(.exe文件)双击运行安装程序,按提示完成安装安装完成后,Ollama会自动在后台运行,并在系统托盘显示图标🍏 macOS用户访问 Ollama官网下载 macOS 版本或使用Homebrew安装:brewinstallollama brew services start ollama🐧 Linux用户curl-fsSLhttps://ollama.com/install.sh|sh2.2 验证Ollama安装打开终端(Command Prompt、PowerShell或Terminal),输入:ollama--version如果显示版本号,说明安装成功。2.3 下载并运行DeepSeek模型Ollama支持多种模型,我们选择DeepSeek(根据你的硬件条件选择合适版本):选项A:DeepSeek-R1 7B(推荐,性能均衡)ollama run deepseek-r1:7b选项B:DeepSeek-R1 1.5B(轻量级,适合低配置机器)ollama run deepseek-r1:1.5b选项C:DeepSeek-Coder(适合代码场景)ollama run deepseek-coder:6.7b第一次运行会自动下载模型,下载时间取决于网络速度,模型文件约4GB左右。下载完成后会自动进入交互界面,你可以输入问题测试是否正常工作。测试示例: 你好,请简单介绍一下自己输入/bye退出交互界面。2.4 确认Ollama API服务Ollama安装后默认启动API服务,监听地址为:http://localhost:11434验证API是否正常:# 查看Ollama服务状态curlhttp://localhost:11434/api/tags应该返回类似下面的JSON,显示已安装的模型列表:{"models":[{"name":"deepseek-r1:7b","modified_at":"2024-...","size":3851234567}]}3. 芋道框架AI功能配置3.1 芋道AI功能开启前提根据芋道官方文档,使用AI功能需要 :后端使用master-jdk17分支已启动yudao-module-ai模块的AiServerApplication前端使用yudao-ui-admin-vue3的master分支3.2 配置Ollama API密钥你的理解完全正确!芋道框架通过在管理后台配置API密钥来接入Ollama 。操作步骤:登录芋道管理后台(默认地址:http://localhost:80或你的部署地址)进入AI配置菜单:导航到:AI大模型 → 控制台 → API密钥新增API密钥:点击「新增」按钮名称:填写Ollama-DeepSeek(可自定义)平台:选择Ollama(芋道已内置支持Ollama平台)密钥:可填写任意值(Ollama本地部署不需要真实API密钥,但字段不能为空,建议填ollama)自定义API地址:填写http://localhost:11434✅关键配置!状态:开启保存配置3.3 配置模型进入模型配置菜单:导航到:AI大模型 → 控制台 → 模型配置新增模型:点击「新增」按钮模型名字:填写DeepSeek-R1-7B(可自定义)API秘钥:选择上一步创建的Ollama-DeepSeek平台:自动带出Ollama模型标识:填写deepseek-r1:7b⚠️必须与Ollama中的模型名称完全一致!模型类型:选择CHAT(用于文本生成)温度参数:0.7(可调整,控制随机性)最大Tokens:2048(根据需求调整)上下文数量:10(保留最近10轮对话)状态:开启保存配置3.4 验证芋道与Ollama连接进入AI大模型 → AI对话菜单点击左上角「新建对话」在右上角模型选择中,找到并选中你刚配置的DeepSeek-R1-7B输入测试问题,例如:“你好,请做自我介绍”如果能收到回复,说明配置成功!🎉4. 整合SearXNG实现联网搜索安装部署SearXNG可参考另一篇文章:Docker Desktop 安装 SearXNG 部署完整教程SearXNG服务(http://localhost:30080),现在我们要让芋道框架能够通过SearXNG实现联网搜索。4.1 确认SearXNG服务状态确保你的SearXNG容器正在运行:# 查看容器状态dockerps|grepsearxng# 如果未运行,启动它dockerstart searxng# 测试访问curlhttp://localhost:300804.2 芋道框架联网搜索实现方案主方法public FluxCommonResultAiChatMessageSendRespVOsendChatMessageStream(AiChatMessageSendReqVO sendReqVO, Long userId){//1.1校验对话存在 AiChatConversationDO conversation=chatConversationService .validateChatConversationExists(sendReqVO.getConversationId());if(ObjUtil.notEqual(conversation.getUserId(), userId)){throw exception(CHAT_CONVERSATION_NOT_EXISTS);}ListAiChatMessageDOhistoryMessages=chatMessageMapper.selectListByConversationId(conversation.getId());//1.2校验模型 AiModelDO model=modalService.validateModel(conversation.getModelId());StreamingChatModel chatModel=modalService.getChatModel(model.getId());//2.1知识库找回 ListAiKnowledgeSegmentSearchRespBOknowledgeSegments=recallKnowledgeSegment(sendReqVO.getContent(), conversation);//2.2联网搜索(本地 SearXNG + DeepSeek) AiWebSearchResponse webSearchResponse=new AiWebSearchResponse();if(Boolean.TRUE.equals(sendReqVO.getUseSearch())){try{// 完整的 Cookie 内容 MapString, Stringcookies=new HashMap();cookies.put("categories","general");cookies.put("language","auto");cookies.put("locale","zh-Hans-
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2452390.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!