本周4个Github有趣项目

本周4个Github有趣项目:

1、HippoRAG HippoRAG 是一种新颖的检索增强生成 (RAG)框架,其灵感来自人类长期记忆的神经生物学,使 LLM 能够持续整合外部文档中的知识。我们的实验表明,HippoRAG 可以为 RAG 系统提供通常需要昂贵且高延迟的迭代 LLM 管道才能实现的功能,而计算成本仅为其中的一小部分。

使用 HippoRAG 设置您的数据 要设置您自己的检索语料库,请遵循所示的格式和命名约定data/sample_corpus.json(您的数据集名称后面应跟有_corpus.json)。如果使用预定义问题运行实验,请根据查询文件组织您的查询语料库data/sample.json,同时确保遵循我们的命名约定。

与 LangChain 集成 此代码库通过LangChain调用 LLM ,这使得 HippoRAG 可以更轻松地调用不同的在线 LLM API 或离线 LLM 部署。查看src/langchain_util.py我们如何为实验设置 OpenAI 和 TogetherAI。您还可以使用 LangChain 设置您的 LLM 选择,例如,Ollama支持本地Llama、Gemma 和 Mistral 模型。

索引 创建语料库后,将其添加到data目录下。现在,我们可以使用以下命令开始索引。

我们将使用论文中定义的最佳超参数,并假设您的数据集名称是sample。

  • 使用 ColBERTv2 对同义词边缘进行索引
  • 使用 HuggingFace 检索编码器对同义词边缘进行索引(即 Contriever)

检索 索引完成后,HippoRAG 即可用于在线检索。下面,我们提供了两种使用 HippoRAG 的策略:

  1. 对一组预定义查询运行检索。
  2. 直接与我们的 API 集成以接收来自用户的查询。
HippoRAG 集成 我们提供脚本来指导想要将 HippoRAG API 与其代码库直接集成的用户。

2、Spring Boot 3.3 和 GraphQL Java 22 DGS 框架(域图服务)是由 Netflix 开发的用于 Spring Boot 的 GraphQL 服务器框架。其特点包括:

  • 基于注解的 Spring Boot 编程模型
  • 用于将查询测试编写为单元测试的测试框架
  • Gradle 代码生成插件根据架构创建类型
  • 轻松与 GraphQL Federation 集成
  • 与 Spring Security 集成
  • GraphQL 订阅(WebSockets 和 SSE)
  • 文件上传
  • 错误处理
  • 许多扩展点
此版本基于Spring Boot 3.3Spring GraphQL 1.3GraphQL Java 22构建这是一个主要版本,因为升级到 Boot 3.3 和 GraphQL Java 22 意义重大,可能需要更改应用程序代码。

不过 DGS 本身没有重大变化。

3、instructor-go Instructor 是一个库,它可以轻松处理大型语言模型 (LLM) 的结构化输出。

它基于 Go 结构标签构建invopop/jsonschema并利用jsonschema该标签(因此无需更改代码逻辑),提供简单、透明且用户友好的 API 来管理验证、重试和流式响应。准备好增强您的 LLM 工作流程吧!示例

  • 使用 OpenAI 进行函数调用
  • 使用 Anthropic 进行文本分类
  • OpenAI 的图像
  • 带有 Anthropic 的图像
  • 使用 OpenAI 进行流式传输
  • 使用 Cohere 进行文档分割
  • 使用 Cohere 进行流式传输

4、springboot-on-minikube 在 Kubernetes 集群(minikube)上部署 Spring Boot 应用程序通过克隆此存储库来开始,请执行以下步骤:

  • 从终端 cd 进入你的项目目录并使用以下方式构建项目./gradlew clean build
  • 在系统上启动docker
  • 使用以下方式构建 docker 镜像: docker build -t springboot-on-minikube .
  • 运行docker容器:docker run -p 8080:8080 springboot-on-minikube并验证调用urllocalhost:8080/data
  • 现在停止容器服务
  • 使用以下方式启动 minikubeminikube start --driver=docker
  • 使用命令启用 docker env: eval $(minikube docker-env)  
  • 在 minikube 中构建 docker 镜像:docker build -t springboot-on-minikube .
  • 查看图片:minikube image ls
  • 要在 minikube 上启用 ingress,请运行以下命令: minikube addons enable ingress 
  • 验证入口控制器是否正在运行: kubectl get pods -n ingress-nginx
  • 接下来在集群上安装并部署 helm chart:helm install mychart ytkubechart
  • 使用以下方法验证入口服务:kubectl get ingress

/etc/hosts接下来在文件 中添加条目 运行 sudo vi /etc/hosts 输入密码 按下i键盘上的键 添加条目:127.0.0.1 ytlecture.com 按下Esc键盘上的键 按:wq

  • 使用验证更改cat /etc/hosts
  • 启用隧道运行命令:minikube tunnel
  • 然后在浏览器中调用 url:http://ytlecture.com/data
好极了 您已经在 Kubernetes 上成功部署了您的第一个 spring rest api。 使用以下方法停止 minikube:minikube stop