news 2026/6/26 1:29:35

项目上线了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目上线了

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、项目地址
  • 二、简介
  • 总结

前言

之前据说很厉害的项目上线了,不过AI说像ETL,无所谓了,给大家看看


一、项目地址

添加链接描述

二、简介

基于springboot 3.5.7 springAI 1.1.0实现。

接口: ChatController用于用户输入和日志拉取两个流程复用返回精准匹配 自动异步落盘

searchController用于文本图片双模态多路召回top10,并对工具返回格式采取prompt注入和直接调用两种选项获取工具原值
工具:Fastmcp search_mcp.py利用网络接口补全相关信息

pika test_clip.py 分布式系统通过rabbitmq互相通信,多步补全图片向量
python代码: insert.py获取简介

insert2.py获取演员和导演 k_means.py聚出5个差异最大的数据 Farthest Point Sampling(k‑center greedy) move.py 数据清洗并向量化 test.py 入库

文档: links_updated.csv 根据tmdbID获取简介

links_updated2.csv获取演员和导演信息
第一步:数据清洗

https://files.grouplens.org/datasets/movielens/ml-32m.zip

因为下的是比较新的数据源(2023-10)所以多了一个links.csv,里面有imdbId和tmdbId,方便我们补全电影简介。简单看一下,里面有八万条电影,限制速度40次/10S,那就要六个小时。

第二步:写python+下载ollama+下载bge-m3

python要写FastAPI,原因是ollama图片向量模型本地没有,云端太贵,所以python提供接口直接调用

第三步:下载PostgreSQL + pgvector

第四步:使用python接口处理向量和文本,然后存储为向量

第五步:多路复用,文本0.7+图片0.3 如果没有图片就是文本*1.0

第六步:拉入近期搜索值,处理当天的nginx日志,提取有价值的指标

为了和java对接 引入rabbitmq

第七步:实时调整向量

应该要归一化 避免文本长度带来的影响

第八步:MCP搜索工具和agent智能体的引入

提示词写好 可以让他在用户提问后多次调用工具 不过感觉不算是真的agent

第九步 测验

建立对照实验,1.重新导入instruct向量,证明他有用2.下载bg25证明bge-m3多语言情况下与文本检索的bg25有同等性能 bg25 缩减版语句 HR@10 = 47 / 50 = 0.94 bge-m3 未加instruct的中文原文简介 HR@10 = 27 / 50 = 0.54 bge-m3 加instruct的中文原文简介 HR@10 = 24 / 50 = 0.48

补充:

要建索引

CREATE INDEX ON documents

USING hnsw (embedding_text vector_cosine_ops);

建表语句 CREATE TABLE movie ( movie_id INTEGER, title CHARACTER VARYING(200), introduction TEXT, genres CHARACTER VARYING(100), embedding_text VECTOR(1024), embedding_image VECTOR(512) );

title要有唯一标识 ALTER TABLE movie ADD CONSTRAINT uk_movie_title UNIQUE (title);

遇到的问题: @Autoweired后在别的地方new了它,交给spring管理后就不能new了 改为参数注入 没有规划好类 导致多个类循环依赖 改为lazy懒加载 AdvisorCall获取不到返回值 通过提示词要求返回原值 并再过一遍LLM回复用户偏好语言 或者通过手动调mcp工具获取原值 但是不能模糊匹配用户偏好

展望: 通过设置偏移值实现让LLM翻页搜索的功能 维护用户偏好标题链和用户向量 实现用户的持久化 (但是会增加写操作,所以要引入redis缓冲)


总结

总的来说就是工具调用吧,多轮对话也很有意思。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 1:27:16

推理部署框架llama.cpp与Ollama使用指北

文将对当前常见的LLM推理框架进行简要梳理,并聚焦于本地推理场景中极具代表性的llama.cpp与Ollama,介绍它们的核心原理及基础用法。另一广泛使用的生产级框架vLLM,作为面向高吞吐环境的推理方案,内容相对独立且较为丰富&#xff0…

作者头像 李华
网站建设 2026/6/26 1:25:23

PDFSlideshow使用教程,PDF转幻灯片演示工具绿色版下载

上周给客户汇报方案,200多页的PDF研报投到大屏幕上,只能一页页滚动翻页。客户表情肉眼可见地不耐烦了。当时想转成PPT吧,两百多页截图截到猴年马月,根本来不及。后来同事丢给我一个小工具,PDFSlideshow,才3…

作者头像 李华
网站建设 2026/6/26 1:25:01

正特征域上D-模的Bernstein–Sato理论:构造、根与Frobenius模

1. 项目概述:当D-模遇上正特征域如果你在代数几何或者表示论的圈子里待过一阵子,大概率会听说过D-模和Bernstein–Sato多项式(简称b-函数)的大名。在复数域上,这套理论堪称经典,它将微分算子、奇异点分析和…

作者头像 李华
网站建设 2026/6/26 1:23:53

无GPU工控机福音:YOLOv12 CPU推理优化技巧,速度提升40%

在工业边缘计算场景中,并非所有工位都配得起独立显卡。大量存量产线、低成本分拣单元或空间受限的移动机器人,只能依赖Intel Core i5/i7或AMD Ryzen等消费级/嵌入式CPU运行视觉模型。当YOLOv12以其更高的精度吸引目光时,许多工程师却发现&…

作者头像 李华