贫瘠之地

华北无浪漫,死海扬起帆
多少个夜晚,独自望着天

0%

langchain4j-spring 学习

介绍

langchain4j-spring 是 LangChain4j 下支持 Spring Starter 机制的仓库

截止到当前版本 0.31.0 来看,仓库下的 module 主要分为两大类

  • 流行的集成的 Starter(popular integrations)
    • langchain4j-open-ai-spring-boot-starter:OpenAI LLM
    • langchain4j-azure-open-ai-spring-boot-starter:Azure OpenAI LLM
    • langchain4j-anthropic-spring-boot-starter:Anthropic LLM(Claude)
    • langchain4j-ollama-spring-boot-starter:Ollama LLM
  • AiService、RAG、Tools 等工具的 Starter
    • langchain4j-spring-boot-starter:核心能力
    • langchain4j-easy-rag-spring-boot-starter
阅读全文 »

背景

Ragas 是一个帮助评估 RAG(Retrieval Augmented Generation)管道的框架

Ragas is a framework that helps you evaluate your Retrieval Augmented Generation (RAG) pipelines. RAG denotes a class of LLM applications that use external data to augment the LLM’s context. There are existing tools and frameworks that help you build these pipelines but evaluating it and quantifying your pipeline performance can be hard. This is where Ragas (RAG Assessment) comes in.

提供最新研究的工具评估 LLM 生成的文本,深入理解 RAG 管道;并且可以和 CI  CD 集成,提供持续的检查机制保证效果

Github explodinggradients / Ragas

阅读全文 »

索引(Indexing)API 支持将任何来源的文档加载到向量存储中并保持同步,具体来说有助于:

  • 避免重复数据写入向量数据库
  • 避免重写未更改的数据
  • 避免在未更改的内容上重新计算 embeddings

这些目标可以帮助节省时间和金钱、改进矢量搜索结果

重要的是,即使原始文本经过了一些转换步骤(例如文本切分 chunking)索引依然可以生效

如何工作

阅读全文 »

当使用 Java 或任何其他基于 JVM 的编程语言时,其中一个核心功能是内存清理(垃圾回收)

和 C 和 C++ 等语言不同,使用者不需要关注内存相关的操作,例如 malloccallocreallocfree 等函数

释放内存的操作就是由 JVM 中名为 Garbage Collector 的角色完成的

垃圾回收器是如何工作的

JVM 在后台运行垃圾回收器来查找未使用的引用,这些引用占用的内存可以被释放并重新使用

阅读全文 »

背景

在 n 个数中,如何让抽到每一个数的概率相等

可以产生一个随机数,n 个数则在 [1,n] 中产生一个随机数即可

但如果涉及到外部数据,即一次并不能全部读取 n 个数(n 未知);例如一共 1000 个数据,一次只能加载 10 个,那么再每 10 个加载一次,总共加载 100 次的过程中如何保证最终取到的值满足 1/n

使用水塘抽样算法可以解决

阅读全文 »