原文:【GitHub每日速递 250917】69k 星标!这个 MCP 服务器大集合,竟能解锁 AI 无限可能?
爆火!garak------大语言模型漏洞扫描神器全揭秘
garak 是一个用于检测大语言模型漏洞的扫描工具。简单讲,它能自动发现AI模型中的安全弱点和潜在风险。适用人群:AI安全研究人员、模型开发者和测试人员。
项目地址:https://github.com/NVIDIA/garak
主要语言:Python
stars: 5.5k
核心功能
garak
是一个用于扫描大语言模型(LLM)漏洞的免费工具,也被称为生成式人工智能红队与评估套件。它可以检测LLM是否会出现诸如幻觉、数据泄露、提示注入、错误信息、毒性生成、越狱等不期望的行为,类似于网络扫描工具 nmap
或 msf
/ Metasploit Framework 对网络的扫描,只不过 garak
针对的是LLM。该工具结合了静态、动态和自适应探测方法,来探索LLM或对话系统可能出现的失败情况。
优势
- 广泛的LLM支持:支持多种类型的LLM,包括Hugging Face Hub的生成模型、Replicate的文本模型、OpenAI API的聊天与续写模型、Litellm、通过REST访问的模型、gguf模型(如llama.cpp版本 >= 1046)等。
- 丰富的探测类型:提供了多种不同类型的探测方法,如空白探测、自动攻击生成、恶意内容签名探测、延续不期望词汇探测、DAN攻击探测等,能全面检测LLM的各种潜在漏洞。
- 详细的日志记录 :生成多种日志,包括调试信息日志
garak.log
、当前运行的详细JSONL报告以及记录漏洞探测命中情况的日志,方便后续分析。 - 易于扩展:代码结构清晰,各个功能模块(如探测、检测、评估、生成器、测试框架等)都有对应的基类,用户可以继承基类开发自己的插件,并且提供了测试新代码的方法。
安装方式
- 标准安装 :使用
pip
从PyPI安装,命令为python -m pip install -U garak
。 - 开发版本安装 :从GitHub获取最新版本,命令为
python -m pip install -U git+https://github.com/NVIDIA/garak.git@main
。 - 从源代码克隆安装 :可以在Conda环境中安装,具体步骤为创建并激活
garak
环境,克隆仓库,然后使用python -m pip install -e .
进行安装。
使用方法
- 基本语法 :
garak <options>
,需要指定要扫描的模型,默认会使用所有已知的探测方法对模型进行测试。 - 指定生成器 :使用
-model_type
和-model_name
选项指定模型类型和具体模型名称。例如,使用Hugging Face模型时,-model_type huggingface
,-model_name
为模型在Hub上的名称。 - 指定探测方法 :可以使用
-probes
选项指定具体的探测方法,如-probes promptinject
只使用PromptInject框架的方法,也可以指定具体的插件,如-probes lmrc.SlurUsage
。
示例
-
探测ChatGPT的基于编码的提示注入漏洞:
export OPENAI_API_KEY="sk-123XXXXXXXXXXXX"
python3 -m garak --model_type openai --model_name gpt-3.5-turbo --probes encoding -
检测Hugging Face版本的GPT2是否易受DAN 11.0攻击:
python3 -m garak --model_type huggingface --model_name gpt2 --probes dan.Dan_11_0
结果读取
- 每个探测过程会显示进度条,生成完成后会输出对每个探测器结果的评估。如果提示尝试导致了不期望的行为,响应将标记为FAIL,并给出失败率。
- 错误信息记录在
garak.log
中,运行详细信息记录在.jsonl
文件中,还提供了基本的分析脚本analyse/analyse_log.py
来输出导致最多命中的探测和提示。
代码结构
- 探测模块(
garak/probes/
):包含用于生成与LLM交互的类。 - 检测模块(
garak/detectors/
):用于检测LLM是否表现出特定的失败模式。 - 评估模块(
garak/evaluators/
):负责评估报告方案。 - 生成器模块(
garak/generators/
):包含要被探测的LLM的插件。 - 测试框架模块(
garak/harnesses/
):用于组织测试过程。 - 资源模块(
resources/
):包含插件所需的辅助项。
应用场景
- 模型安全评估 :在开发和部署LLM之前,使用
garak
对模型进行全面的安全检测,发现并修复潜在的漏洞,提高模型的安全性和可靠性。 - 研究和实验 :研究人员可以利用
garak
探索LLM的各种弱点,深入了解模型的行为和安全性,为改进模型提供依据。 - 教育和学习:作为教学工具,帮助学生和开发者了解LLM的安全问题和漏洞检测方法。
AI开发者必看!高性能向量数据库Milvus的全方位揭秘
milvus 是一个高性能、可扩展的云原生向量数据库。简单讲,它专门用来快速搜索和管理大量向量数据,适合处理AI模型中的相似性匹配任务。适用人群:AI开发者、机器学习工程师、需要处理大规模向量检索的技术团队。
项目地址:https://github.com/milvus-io/milvus
主要语言:Go
stars: 37.3k
项目简介
Milvus 是一个为大规模应用而构建的高性能向量数据库,可高效组织和搜索大量非结构化数据,如文本、图像和多模态信息,为 AI 应用提供支持。它采用 Go 和 C++ 编写,实现了 CPU/GPU 的硬件加速,以达到一流的向量搜索性能。
核心功能
- 高性能与高可用性:采用分布式架构,分离计算和存储,可水平扩展,适应不同流量模式。通过独立增加查询节点处理读密集型工作负载,增加数据节点处理写密集型工作负载来实现最佳性能。K8s 上的无状态微服务可快速从故障中恢复,支持副本机制,进一步增强容错能力和吞吐量。
- 支持多种向量索引类型和硬件加速:分离系统和核心向量搜索引擎,支持多种为不同场景优化的向量索引类型,如 HNSW、IVF、FLAT 等,以及基于量化的变体和 mmap。针对元数据过滤和范围搜索等高级功能优化向量搜索,实现硬件加速,支持 GPU 索引。
- 灵活的多租户和冷热存储:支持在数据库、集合、分区或分区键级别进行隔离的多租户策略,单个集群可处理大量租户,确保优化的搜索性能和灵活的访问控制。采用冷热存储机制,将频繁访问的热数据存储在内存或 SSD 中以提高性能,将访问较少的冷数据存储在成本较低的存储设备上,降低成本。
- 支持稀疏向量的全文搜索和混合搜索:除了通过密集向量进行语义搜索外,还原生支持使用 BM25 的全文搜索以及学习型稀疏嵌入,如 SPLADE 和 BGE - M3。用户可以在同一集合中存储稀疏向量和密集向量,并定义函数对多个搜索请求的结果进行重新排序。
- 数据安全和细粒度访问控制:通过强制用户认证、TLS 加密和基于角色的访问控制(RBAC)确保数据安全。用户认证确保只有具有有效凭证的授权用户才能访问数据库,TLS 加密保护网络内的所有通信,RBAC 允许根据用户角色分配特定权限,实现细粒度的访问控制。
快速开始
通过 pip install -U pymilvus
安装 Python SDK,然后使用 MilvusClient
创建客户端。可以创建本地向量数据库,也可以指定凭据连接到已部署的 Milvus 服务器或 Zilliz Cloud。使用客户端可以创建集合、摄入数据并执行向量搜索。
应用场景
受 AI 开发者信赖,可用于构建文本和图像搜索、检索增强生成(RAG)和推荐系统等应用,为众多初创企业和企业的关键业务提供支持。
生态系统和集成
与一系列 AI 开发工具集成,如 LangChain、LlamaIndex、OpenAI 和 HuggingFace,是生成式 AI 应用(如 RAG)的理想向量存储。还提供了方便的工具,如 pymilvus[model]
,用于将非结构化数据转换为向量嵌入并利用重排序模型优化搜索结果。其生态系统还包括用于 GUI 管理的 Attu、用于系统调试的 Birdwatcher、用于监控的 Prometheus/Grafana、用于数据同步的 Milvus CDC、用于数据迁移的 VTS 以及各种数据连接器。
构建要求
不同操作系统有不同的构建要求,如 Linux 系统需要 Go >= 1.21、CMake >= 3.26.4、GCC 9.5 和 Python > 3.8 且 <= 3.11 等。克隆仓库后,安装第三方依赖并编译即可完成构建。
炸裂!超全MCP服务器大集合,解锁AI无限可能
awesome-mcp-servers 是一个收集 MCP 服务器的资源列表。简单讲,它汇总了各种可用于 Minecraft: Bedrock Edition 的 MCP(Minecraft Compatible Proxy)服务器信息,帮助玩家或开发者快速找到可用服务。适用人群:Minecraft 玩家、服务器搭建者及游戏开发爱好者。
项目地址:https://github.com/punkpeye/awesome-mcp-servers
stars: 69.74k
仓库整体介绍
该仓库是一个精心整理的优秀Model Context Protocol (MCP) 服务器列表,MCP是一种开放协议,能让AI模型通过标准化的服务器实现与本地和远程资源进行安全交互。此列表聚焦于生产就绪和实验性的MCP服务器,这些服务器可通过文件访问、数据库连接、API集成等上下文服务扩展AI能力。
主要内容
- 客户端 :可查看 awesome-mcp-clients 和 glama.ai/mcp/clients,其中 Glama Chat 是支持MCP的多模态AI客户端及AI网关。
- 教程 :提供了 Model Context Protocol (MCP) Quickstart 和 Setup Claude Desktop App to Use a SQLite Database 两个教程。
- 社区 :有 r/mcp Reddit 和 Discord Server 两个社区供交流。
- 图例说明:对一些符号和标识进行了解释,如官方实现、编程语言、服务范围、操作系统等。
- 服务器实现:涵盖众多分类,如聚合器、艺术与文化、浏览器自动化、生物医学与生物信息学、云平台、代码执行、编码代理等。每个分类下包含多个MCP服务器项目,详细介绍了其功能、代码语言、适用范围等信息。
- 框架:有用于在Python和TypeScript中构建MCP服务器的FastMCP框架。
- 提示与技巧:提供了告知大语言模型如何使用MCP的官方提示,创建项目并添加指定文件后,Claude可回答有关编写MCP服务器及其工作原理的问题。
优势
- 全面性:涵盖了各种不同领域和用途的MCP服务器,为开发者和研究者提供了丰富的选择。
- 标准化:基于MCP协议,确保了服务器的标准化和兼容性,方便AI模型与各种资源进行交互。
- 社区支持:有专门的Reddit和Discord社区,便于交流和获取帮助。
- 更新及时:有web - based目录与仓库同步,保证信息的实时性。
应用场景
- AI开发:开发者可利用这些MCP服务器扩展AI模型的功能,使其能够与更多的本地和远程资源进行交互。
- 研究:研究人员可在实验性的MCP服务器上进行创新研究,探索AI与各种资源交互的新方式。
- 生产环境:生产就绪的MCP服务器可直接应用于实际生产中,提高AI系统的效率和功能。