本周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 的策略:
- 对一组预定义查询运行检索。
- 直接与我们的 API 集成以接收来自用户的查询。
2、Spring Boot 3.3 和 GraphQL Java 22 DGS 框架(域图服务)是由 Netflix 开发的用于 Spring Boot 的 GraphQL 服务器框架。其特点包括:
- 基于注解的 Spring Boot 编程模型
- 用于将查询测试编写为单元测试的测试框架
- Gradle 代码生成插件根据架构创建类型
- 轻松与 GraphQL Federation 集成
- 与 Spring Security 集成
- GraphQL 订阅(WebSockets 和 SSE)
- 文件上传
- 错误处理
- 许多扩展点
不过 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