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

大模型之项目搭建

一.本地ollama 方式接入

  1.环境  JDK 17    spring boot 3.4.0

  2.引入依赖

<dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId>
</dependency>

  3.配置application.yml

spring:ai:ollama:base-url: http://localhost:11434   //参考上一章服务器部署 localhost改成对应IP即可
chat:
model: qwen3.5

4.建造控制器提供调用大模型接口

  4.1 简单问答模式

@RestController
public class ChatController {private final ChatClient chatClient;public ChatController(ChatClient.Builder builder) {this.chatClient = builder//.defaultSystem("你是一个各种数据库sql优化大师")  //提示词.build();}@GetMapping("/chat")public String chat(@RequestParam(value = "input") String input) {return this.chatClient.prompt().user(input).call().content();}
}

 api调用结果

480b04ab-fe42-44f1-b847-c1da323a1c09

4.2 增加限制提示词模式

     在构造器中  builder后面增加.defaultSystem("你是一个各种数据库sql优化大师") //增加提示词操作

api再次调用结果   根据提示词直接给出对应的专业优化建议和调整
d64a24e4-0086-42f9-83cc-c344817e9acc

4.3 增加RAG检索模式

      当你问道一些大模型没有的知识体系数据的时候,比如你今天都做了什么  大模型是不知道的 这个时候就需要知识库 让大模型读取知识库知识 从而知道你做了什么 然后大模型整理数据返回出来

22f69f50-de1e-4910-a1ef-104561926f1c

加入知识库后 上代码

 增加配置文件

package com.example.springai.config;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.ollama.OllamaEmbeddingModel;
import org.springframework.ai.ollama.api.OllamaApi;
import org.springframework.ai.ollama.api.OllamaOptions;
import org.springframework.ai.vectorstore.SimpleVectorStore;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.io.File;
import java.io.IOException;@Configuration
public class AiConfig {@Value("${spring.ai.ollama.base-url}")private String ollamaBaseUrl;@Value("${spring.ai.ollama.chat.model}")private String ollamaModel;
// 默认提示词
    @Beanpublic ChatClient chatClient(OllamaChatModel chatModel) {return ChatClient.builder(chatModel).defaultSystem("你是一个智能助手,回答简洁准确,不编造内容").build();}// 本地持久化向量库(重启不丢数据)
    @Beanpublic VectorStore vectorStore(EmbeddingModel embeddingModel) throws IOException {SimpleVectorStore vectorStore = SimpleVectorStore.builder(embeddingModel).build();// 数据持久化到项目目录的 vector-store.json 文件File persistFile = new File("vector-store.json");if (persistFile.exists()) {// 启动时加载已有数据
            vectorStore.load(persistFile);} else {// 首次启动创建空文件
            persistFile.createNewFile();}// 注册关闭钩子,项目停止时自动保存数据Runtime.getRuntime().addShutdownHook(new Thread(() -> {vectorStore.save(persistFile);}));return vectorStore;}
}

增加 文档读取(支持文件上传)

  <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-tika-document-reader</artifactId><version>0.8.1</version></dependency>

输入命令:ollama pull mxbai-embed-large           //拉取向量存储模型

上传数据到向量数据库(使用的是本地向量存储,正式环境可以改成其他向量库)

2c327a14-8099-4573-b751-cb20986b5171

开始调用基于知识库回答接口

0f1e5e60-712f-476c-bc3f-9f4da8ecb725

ps:因为是4月1问的 知识库里只有昨天的数据  接口问法改了下问昨天吃了什么 

项目搭建就先到这了,后面再进阶演示下function calling 和mcp服务 

  未完待续。。。。

 

 

 

http://www.jsqmd.com/news/570565/

相关文章:

  • 2026有资质的厂房管道安装工程公司哪家强?江苏宏创口碑靠谱 - 品牌2026
  • 代码生成新范式:圣女司幼幽-造相Z-Turbo辅助AI编程实战
  • 告别虚拟机!用WSL2+GPU直通为Genesis物理引擎加速(Win11/Ubuntu24.04实战)
  • Qwen3-Embedding 模型融合实战:Slerp 技术如何提升向量插值效果
  • OpenSSL实战:从零构建私有CA体系及多级证书签发指南
  • WRF-CHEM模拟中,除了MEIC人为源,你的生物排放(Megan)处理对了吗?
  • 5分钟搭建专属微信AI助手:告别手动回复的烦恼
  • 2026年国内电子配套行业五大排行:电源线/电解电容生产厂家深度盘点,布局广州广东等地区 - 十大品牌榜
  • 2026生物医药厂房暖通工程总承包选哪家?江苏宏创巨建设值得信赖 - 品牌2026
  • FPGA实战:手把手教你用Verilog实现一个AXI4-Full Master模块(含完整代码与仿真)
  • 2026香港移民机构口碑哪家好?机构综合实力对比 - 品牌排行榜
  • DAMO-YOLO在Vue前端项目中的实时检测应用
  • 别再乱用Patch Embedding了!从EfficientFormer代码看如何优化ViT在移动端的第一个瓶颈
  • 2026全国厂房洁净室工程设计施工一体化承包?江苏宏创是优选服务商 - 品牌2026
  • 铁钴钒软磁合金全链条生产 陕西新精特公司核心工艺与产品优势详解 - 深度智识库
  • 2026年权威香港移民中介服务解析与选择参考 - 品牌排行榜
  • 如何在英雄联盟对局中一键获取最佳出装符文?ChampR实战指南
  • 学习日记|学习软件测试的N+1天
  • 中文语义向量终极指南:用text2vec-base-chinese构建智能文本匹配系统
  • STM32F4步进电机无PID闭环补偿:基于编码器反馈的丢步校正实践
  • 惊艳展示:MedGemma医学影像分析系统,自然语言提问生成专业报告
  • Pixel Aurora Engine效果展示:像素极光系统生成的赛博忍者角色系列
  • AI算力网络抉择:深度剖析RoCE与InfiniBand的实战选型指南
  • 高性能偶极子阵列天线与单层天线罩一体化设计及仿真优化
  • 想学UG编程又怕和工厂需求脱节江苏机构费用多少钱 - 工业品网
  • 突破登录限制:AugmentCode无限续杯插件的创新解决方案
  • 2026年适合零基础的UG编程培训机构,能满足在职业余学习还能真机实操的推荐 - 工业品牌热点
  • 总结2026年新中式家具,能细节优化有经验还让老人省心的靠谱公司 - mypinpai
  • ARM Cortex-M0 SoC实战:如何用SystemVerilog和C语言实现软硬件高效握手通信
  • G-Helper终极指南:如何用开源工具全面掌控华硕笔记本性能与电池健康