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

Langchain4j 整合向量数据库(10)

Langchain4j 整合向量数据库

上传知识库到pinecone

@SpringBootTest
public class PineconeTest {@Resourceprivate EmbeddingStore embeddingStore;@Resourceprivate EmbeddingModel embeddingModel;@Testpublic void testUploadKnowledgeLibrary() {//使用ClassPathDocumentLoader读取指定目录下的知识库文档//并使用默认的文档解析器对文档进行解析Document document1 = ClassPathDocumentLoader.loadDocument("knowledge/医院信息.md");Document document2 = ClassPathDocumentLoader.loadDocument("knowledge/科室信息.md");Document document3 = ClassPathDocumentLoader.loadDocument("knowledge/神经内科.md");List<Document> documents = Arrays.asList(document1, document2, document3);//文本向量化并存入向量数据库:将每个片段进行向量化,得到一个嵌入向量EmbeddingStoreIngestor.builder().embeddingStore(embeddingStore) //向量数据库,pinecone.embeddingModel(embeddingModel).build().ingest(documents);}
}

image-20250606104352363

修改XiaozhiAgentConfig

    @Resourceprivate EmbeddingStore embeddingStore;@Resourceprivate EmbeddingModel embeddingModel;@BeanContentRetriever contentRetrieverXiaozhiPinecone() {// 创建一个 EmbeddingStoreContentRetriever 对象,用于从嵌入存储中检索内容return EmbeddingStoreContentRetriever.builder()// 设置用于生成嵌入向量的嵌入模型.embeddingModel(embeddingModel)// 指定要使用的嵌入存储.embeddingStore(embeddingStore)// 设置最大检索结果数量,这里表示最多返回 1 条匹配结果.maxResults(1)// 设置最小得分阈值,只有得分大于等于 0.8 的结果才会被返回.minScore(0.8)// 构建最终的 EmbeddingStoreContentRetriever 实例.build();}

修改XiaozhiAgent

@AiService(wiringMode = AiServiceWiringMode.EXPLICIT,streamingChatModel = "qwenStreamingChatModel",chatMemory = "chatMemory",chatMemoryProvider = "chatMemoryProviderXiaozhi",tools = "appointmentTools",
//        contentRetriever = "contentRetriever" ,// 使用内存存储向量数据contentRetriever = "contentRetrieverXiaozhiPinecone" // 使用pinecone存储向量数据
) // 添加内容检索工具
public interface XiaozhiAgent {@SystemMessage(fromResource = "xiaozhi-prompt-template.txt")Flux<String> chat(@MemoryId Long memoryId, @UserMessage String userMessage);}

相关文章:

  • 字符串 金额转换
  • 【MATLAB去噪算法】基于ICEEMDAN联合小波阈值去噪算法
  • 第21讲、Odoo 18 配置机制详解
  • 进行用户VMware官网注重中一直无法登录,该怎么处理
  • ai流式文字返回前端和php的处理办法
  • 【python深度学习】Day 46 通道注意力(SE注意力)
  • 【Redis】分布式锁的介绍与演进之路
  • Guava LoadingCache 使用指南
  • C++11新增标准讲解(上)
  • 阿里开源千问3向量模型 超越Google与OpenAI
  • Bootstrap 3.5 框架文件结构与 API 使用指南
  • 【Linux】Linux 进程间通讯-管道
  • 新闻速递|Altair 与佐治亚理工学院签署合作备忘录,携手推动航空航天领域创新
  • 制作电子相册
  • 职业生涯思考
  • 【AI】传统导航地图和智驾地图的区别
  • 智能心理医疗助手开发实践:从技术架构到人文关怀——CangjieMagic情感医疗应用技术实践
  • Webpack的基本使用 - babel
  • 【应用】Ghost Dance:利用惯性动捕构建虚拟舞伴
  • javascript中Cookie、BOM、DOM的使用
  • 做网站卖什么发财/北京互联网公司
  • 现在做网站怎么赚钱/百度平台客服电话
  • mibt wordpress/滕州seo
  • 子目录创建网站/2023近期舆情热点事件
  • 嵊州门户网站/杭州网站排名提升
  • 量化交易网站开发/兰州seo公司