[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-guardrails-ai--guardrails":3,"tool-guardrails-ai--guardrails":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":32,"env_os":99,"env_gpu":99,"env_ram":99,"env_deps":100,"category_tags":108,"github_topics":109,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":145},6274,"guardrails-ai\u002Fguardrails","guardrails","Adding guardrails to large language models.","Guardrails 是一个专为大语言模型（LLM）打造的 Python 框架，旨在帮助开发者构建更可靠、安全的 AI 应用。它主要解决两大核心痛点：一是有效识别并拦截输入与输出中的潜在风险（如幻觉、敏感信息泄露或格式错误），二是确保模型能够稳定地生成符合预期的结构化数据。\n\n通过引入“护栏”机制，Guardrails 能在数据进入模型前进行预检，并在模型回复后做二次验证，从而大幅降低不可控输出带来的隐患。其独特亮点在于拥有庞大的\"Guardrails Hub\"生态，提供了丰富的预构建验证器（Validators）。开发者可以像搭积木一样，灵活组合这些验证器来定制专属的输入\u002F输出防护策略，甚至支持正则匹配等细粒度控制。此外，项目近期推出的 Guardrails Index 还能帮助用户横向对比不同防护方案的性能与延迟表现。\n\n这款工具非常适合正在开发 AI 应用的软件工程师、需要确保数据合规性的研究人员，以及希望提升模型输出稳定性的技术团队使用。只需简单的几行代码配置，即可为现有的 LLM 流程加上坚实的安全锁，让 AI 交互更加可控且值得信赖。","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_fe69c2df4ae7.png\" alt=\"Guardrails AI Logo\" width=\"600px\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_f5b779218f73.png\" alt=\"Guardrails AI Logo\" width=\"600px\">\n\n\u003Chr>\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fguardrails-ai)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_1fd881bac4f6.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fguardrails-ai)\n[![CI](https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Factions\u002Fworkflows\u002Fci.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fguardrails-ai\u002Fguardrails\u002Fgraph\u002Fbadge.svg?token=CPkjw91Ngo)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fguardrails-ai\u002Fguardrails)\n[![Checked with pyright](https:\u002F\u002Fmicrosoft.github.io\u002Fpyright\u002Fimg\u002Fpyright_badge.svg)](https:\u002F\u002Fmicrosoft.github.io\u002Fpyright\u002F)\n[![X (formerly Twitter) Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fguardrails_ai)](https:\u002F\u002Fx.com\u002Fguardrails_ai)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1085077079697150023?logo=discord&label=support&link=https%3A%2F%2Fdiscord.gg%2Fgw4cR9QvYE)](https:\u002F\u002Fdiscord.gg\u002FU9RKkZSBgx)\n[![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocs-blue?link=https%3A%2F%2Fwww.guardrailsai.com%2Fdocs)](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs)\n[![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlog-blue?link=https%3A%2F%2Fwww.guardrailsai.com%2Fblog)](https:\u002F\u002Fwww.guardrailsai.com\u002Fblog)\n[![Gurubase](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGurubase-Ask%20Guardrails%20Guru-006BFF)](https:\u002F\u002Fgurubase.io\u002Fg\u002Fguardrails)\n\n\u003C\u002Fdiv>\n\n## News and Updates\n- **[Feb 12, 2025]** We just launched Guardrails Index -- the first of its kind benchmark comparing the performance and latency of 24 guardrails across 6 most common categories! Check out the index at index.guardrailsai.com\n\n## What is Guardrails?\n\nGuardrails is a Python framework that helps build reliable AI applications by performing two key functions:\n1. Guardrails runs Input\u002FOutput Guards in your application that detect, quantify and mitigate the presence of specific types of risks. To look at the full suite of risks, check out [Guardrails Hub](https:\u002F\u002Fguardrailsai.com\u002Fhub\u002F).\n2. Guardrails help you generate structured data from LLMs.\n\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fguardrails-ai\u002Fguardrails\u002Fmain\u002Fdocs\u002Fassets\u002Fwith_and_without_guardrails.svg\" alt=\"Guardrails in your application\" width=\"1500px\">\n\u003C\u002Fdiv>\n\n\n### Guardrails Hub\n\nGuardrails Hub is a collection of pre-built measures of specific types of risks (called 'validators'). Multiple validators can be combined together into Input and Output Guards that intercept the inputs and outputs of LLMs. Visit [Guardrails Hub](https:\u002F\u002Fguardrailsai.com\u002Fhub\u002F) to see the full list of validators and their documentation.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_7908b1e2b133.gif\" alt=\"Guardrails Hub gif\" width=\"600px\">\n\u003C\u002Fdiv>\n\n\n## Installation\n\n```python\npip install guardrails-ai\n```\n\n\n## Getting Started\n\n\n### Create Input and Output Guards for LLM Validation\n\n1. Download and configure the Guardrails Hub CLI.\n\n    ```bash\n    pip install guardrails-ai\n    guardrails configure\n    ```\n2. Install a guardrail from Guardrails Hub.\n\n    ```bash\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Fregex_match\n    ```\n3. Create a Guard from the installed guardrail.\n\n    ```python\n    from guardrails import Guard, OnFailAction\n    from guardrails.hub import RegexMatch\n\n    guard = Guard().use(\n        RegexMatch, regex=\"\\(?\\d{3}\\)?-? *\\d{3}-? *-?\\d{4}\", on_fail=OnFailAction.EXCEPTION\n    )\n\n    guard.validate(\"123-456-7890\")  # Guardrail passes\n\n    try:\n        guard.validate(\"1234-789-0000\")  # Guardrail fails\n    except Exception as e:\n        print(e)\n    ```\n    Output:\n    ```console\n    Validation failed for field with errors: Result must match \\(?\\d{3}\\)?-? *\\d{3}-? *-?\\d{4}\n    ```\n4. Run multiple guardrails within a Guard.\n    First, install the necessary guardrails from Guardrails Hub.\n\n    ```bash\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Fcompetitor_check\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Ftoxic_language\n    ```\n\n    Then, create a Guard from the installed guardrails.\n\n    ```python\n    from guardrails import Guard, OnFailAction\n    from guardrails.hub import CompetitorCheck, ToxicLanguage\n\n    guard = Guard().use(\n        CompetitorCheck([\"Apple\", \"Microsoft\", \"Google\"], on_fail=OnFailAction.EXCEPTION),\n        ToxicLanguage(threshold=0.5, validation_method=\"sentence\", on_fail=OnFailAction.EXCEPTION)\n    )\n\n    guard.validate(\n        \"\"\"An apple a day keeps a doctor away.\n        This is good advice for keeping your health.\"\"\"\n    )  # Both the guardrails pass\n\n    try:\n        guard.validate(\n            \"\"\"Shut the hell up! Apple just released a new iPhone.\"\"\"\n        )  # Both the guardrails fail\n    except Exception as e:\n        print(e)\n    ```\n    Output:\n    ```console\n    Validation failed for field with errors: Found the following competitors: [['Apple']]. Please avoid naming those competitors next time, The following sentences in your response were found to be toxic:\n\n    - Shut the hell up!\n    ```\n\n### Use Guardrails to generate structured data from LLMs\n\n\nLet's go through an example where we ask an LLM to generate fake pet names. To do this, we'll create a Pydantic [BaseModel](https:\u002F\u002Fdocs.pydantic.dev\u002Flatest\u002Fapi\u002Fbase_model\u002F) that represents the structure of the output we want.\n\n```py\nfrom pydantic import BaseModel, Field\n\nclass Pet(BaseModel):\n    pet_type: str = Field(description=\"Species of pet\")\n    name: str = Field(description=\"a unique pet name\")\n```\n\nNow, create a Guard from the `Pet` class. The Guard can be used to call the LLM in a manner so that the output is formatted to the `Pet` class. Under the hood, this is done by either of two methods:\n1. Function calling: For LLMs that support function calling, we generate structured data using the function call syntax.\n2. Prompt optimization: For LLMs that don't support function calling, we add the schema of the expected output to the prompt so that the LLM can generate structured data.\n\n```py\nfrom guardrails import Guard\nimport openai\n\nprompt = \"\"\"\n    What kind of pet should I get and what should I name it?\n\n    ${gr.complete_json_suffix_v2}\n\"\"\"\nguard = Guard.for_pydantic(output_class=Pet, prompt=prompt)\n\nraw_output, validated_output, *rest = guard(\n    llm_api=openai.completions.create,\n    engine=\"gpt-3.5-turbo-instruct\"\n)\n\nprint(validated_output)\n```\n\nThis prints:\n```\n{\n    \"pet_type\": \"dog\",\n    \"name\": \"Buddy\n}\n```\n\n### Guardrails Server\n\nGuardrails can be set up as a standalone service served by Flask with `guardrails start`, allowing you to interact with it via a REST API. This approach simplifies development and deployment of Guardrails-powered applications.\n\n1. Install: `pip install \"guardrails-ai\"`\n2. Configure: `guardrails configure`\n3. Create a config: `guardrails create --validators=hub:\u002F\u002Fguardrails\u002Ftwo_words --guard-name=two-word-guard`\n4. Start the dev server: `guardrails start --config=.\u002Fconfig.py`\n5. Interact with the dev server via the snippets below\n```\n# with the guardrails client\nimport guardrails as gr\n\ngr.settings.use_server = True\nguard = gr.Guard(name='two-word-guard')\nguard.validate('this is more than two words')\n\n# or with the openai sdk\nimport openai\nopenai.base_url = \"http:\u002F\u002Flocalhost:8000\u002Fguards\u002Ftwo-word-guard\u002Fopenai\u002Fv1\u002F\"\nos.environ[\"OPENAI_API_KEY\"] = \"youropenaikey\"\n\nmessages = [\n        {\n            \"role\": \"user\",\n            \"content\": \"tell me about an apple with 3 words exactly\",\n        },\n    ]\n\ncompletion = openai.chat.completions.create(\n    model=\"gpt-4o-mini\",\n    messages=messages,\n)\n```\n\nFor production deployments, we recommend using Docker with Gunicorn as the WSGI server for improved performance and scalability.\n\n## FAQ\n\n#### I'm running into issues with Guardrails. Where can I get help?\n\nYou can reach out to us on [Discord](https:\u002F\u002Fdiscord.gg\u002Fgw4cR9QvYE) or [Twitter](https:\u002F\u002Ftwitter.com\u002Fguardrails_ai).\n\n#### Can I use Guardrails with any LLM?\n\nYes, Guardrails can be used with proprietary and open-source LLMs. Check out this guide on [how to use Guardrails with any LLM](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fusing_llms).\n\n#### Can I create my own validators?\n\nYes, you can create your own validators and contribute them to Guardrails Hub. Check out this guide on [how to create your own validators](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fcustom_validators).\n\n#### Does Guardrails support other languages?\n\nGuardrails can be used with Python and JavaScript. Check out the docs on how to use Guardrails from JavaScript. We are working on adding support for other languages. If you would like to contribute to Guardrails, please reach out to us on [Discord](https:\u002F\u002Fdiscord.gg\u002Fgw4cR9QvYE) or [Twitter](https:\u002F\u002Ftwitter.com\u002Fguardrails_ai).\n\n\n## Contributing\n\nWe welcome contributions to Guardrails!\n\nGet started by checking out Github issues and check out the [Contributing Guide](CONTRIBUTING.md). Feel free to open an issue, or reach out if you would like to add to the project!\n","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_fe69c2df4ae7.png\" alt=\"Guardrails AI Logo\" width=\"600px\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_f5b779218f73.png\" alt=\"Guardrails AI Logo\" width=\"600px\">\n\n\u003Chr>\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n![PyPI - Python Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fguardrails-ai)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_1fd881bac4f6.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fguardrails-ai)\n[![CI](https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Factions\u002Fworkflows\u002Fci.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fguardrails-ai\u002Fguardrails\u002Fgraph\u002Fbadge.svg?token=CPkjw91Ngo)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fguardrails-ai\u002Fguardrails)\n[![Checked with pyright](https:\u002F\u002Fmicrosoft.github.io\u002Fpyright\u002Fimg\u002Fpyright_badge.svg)](https:\u002F\u002Fmicrosoft.github.io\u002Fpyright\u002F)\n[![X (formerly Twitter) Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fguardrails_ai)](https:\u002F\u002Fx.com\u002Fguardrails_ai)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1085077079697150023?logo=discord&label=support&link=https%3A%2F%2Fdiscord.gg%2Fgw4cR9QvYE)](https:\u002F\u002Fdiscord.gg\u002FU9RKkZSBgx)\n[![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocs-blue?link=https%3A%2F%2Fwww.guardrailsai.com%2Fdocs)](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs)\n[![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlog-blue?link=https%3A%2F%2Fwww.guardrailsai.com%2Fblog)](https:\u002F\u002Fwww.guardrailsai.com\u002Fblog)\n[![Gurubase](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGurubase-Ask%20Guardrails%20Guru-006BFF)](https:\u002F\u002Fgurubase.io\u002Fg\u002Fguardrails)\n\n\u003C\u002Fdiv>\n\n## 新闻与更新\n- **[2025年2月12日]** 我们刚刚推出了 Guardrails Index——首个同类基准，用于比较 24 种护栏工具在 6 大常见类别中的性能和延迟！请访问 index.guardrailsai.com 查看该指数。\n\n## 什么是 Guardrails？\n\nGuardrails 是一个 Python 框架，通过执行两项关键功能来帮助构建可靠的 AI 应用程序：\n1. Guardrails 在您的应用程序中运行输入\u002F输出护栏，以检测、量化并缓解特定类型的风险。要查看完整的风险列表，请访问 [Guardrails Hub](https:\u002F\u002Fguardrailsai.com\u002Fhub\u002F)。\n2. Guardrails 帮助您从 LLM 中生成结构化数据。\n\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fguardrails-ai\u002Fguardrails\u002Fmain\u002Fdocs\u002Fassets\u002Fwith_and_without_guardrails.svg\" alt=\"Guardrails in your application\" width=\"1500px\">\n\u003C\u002Fdiv>\n\n\n### Guardrails Hub\n\nGuardrails Hub 是一系列预构建的特定类型风险度量（称为“验证器”）。多个验证器可以组合成输入和输出护栏，拦截 LLM 的输入和输出。访问 [Guardrails Hub](https:\u002F\u002Fguardrailsai.com\u002Fhub\u002F) 查看完整的验证器列表及其文档。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_readme_7908b1e2b133.gif\" alt=\"Guardrails Hub gif\" width=\"600px\">\n\u003C\u002Fdiv>\n\n\n## 安装\n\n```python\npip install guardrails-ai\n```\n\n\n## 入门指南\n\n\n### 创建用于 LLM 验证的输入和输出护栏\n\n1. 下载并配置 Guardrails Hub CLI。\n\n    ```bash\n    pip install guardrails-ai\n    guardrails configure\n    ```\n2. 从 Guardrails Hub 安装一个护栏。\n\n    ```bash\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Fregex_match\n    ```\n3. 从已安装的护栏创建一个护栏。\n\n    ```python\n    from guardrails import Guard, OnFailAction\n    from guardrails.hub import RegexMatch\n\n    guard = Guard().use(\n        RegexMatch, regex=\"\\(?\\d{3}\\)?-? *\\d{3}-? *-?\\d{4}\", on_fail=OnFailAction.EXCEPTION\n    )\n\n    guard.validate(\"123-456-7890\")  # 护栏通过\n\n    try:\n        guard.validate(\"1234-789-0000\")  # 护栏失败\n    except Exception as e:\n        print(e)\n    ```\n    输出：\n    ```console\n    字段验证失败，错误如下：结果必须匹配 \\(?\\d{3}\\)?-? *\\d{3}-? *-?\\d{4}\n    ```\n4. 在一个护栏中运行多个护栏。\n    首先，从 Guardrails Hub 安装必要的护栏。\n\n    ```bash\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Fcompetitor_check\n    guardrails hub install hub:\u002F\u002Fguardrails\u002Ftoxic_language\n    ```\n\n    然后，从已安装的护栏创建一个护栏。\n\n    ```python\n    from guardrails import Guard, OnFailAction\n    from guardrails.hub import CompetitorCheck, ToxicLanguage\n\n    guard = Guard().use(\n        CompetitorCheck([\"Apple\", \"Microsoft\", \"Google\"], on_fail=OnFailAction.EXCEPTION),\n        ToxicLanguage(threshold=0.5, validation_method=\"sentence\", on_fail=OnFailAction.EXCEPTION)\n    )\n\n    guard.validate(\n        \"\"\"An apple a day keeps a doctor away.\n        This is good advice for keeping your health.\"\"\"\n    )  # 两个护栏都通过\n\n    try:\n        guard.validate(\n            \"\"\"Shut the hell up! Apple just released a new iPhone.\"\"\"\n        )  # 两个护栏都失败\n    except Exception as e:\n        print(e)\n    ```\n    输出：\n    ```console\n    字段验证失败，错误如下：发现了以下竞争对手：[['Apple']]。请下次避免提及这些竞争对手；您的回复中包含以下有毒语句：\n\n    - Shut the hell up!\n    ```\n\n### 使用 Guardrails 从 LLM 中生成结构化数据\n\n\n让我们通过一个例子来说明如何让 LLM 生成虚构的宠物名字。为此，我们将创建一个 Pydantic [BaseModel](https:\u002F\u002Fdocs.pydantic.dev\u002Flatest\u002Fapi\u002Fbase_model\u002F)，它代表我们期望的输出结构。\n\n```py\nfrom pydantic import BaseModel, Field\n\nclass Pet(BaseModel):\n    pet_type: str = Field(description=\"宠物种类\")\n    name: str = Field(description=\"独特的宠物名字\")\n```\n\n现在，从 `Pet` 类创建一个护栏。该护栏可用于调用 LLM，使输出格式化为 `Pet` 类。其底层实现方式有两种：\n1. 函数调用：对于支持函数调用的 LLM，我们使用函数调用语法生成结构化数据。\n2. 提示优化：对于不支持函数调用的 LLM，我们将预期输出的模式添加到提示中，以便 LLM 能够生成结构化数据。\n\n```py\nfrom guardrails import Guard\nimport openai\n\nprompt = \"\"\"\n    我应该养什么类型的宠物，又该给它取个什么名字呢？\n\n    ${gr.complete_json_suffix_v2}\n\"\"\"\nguard = Guard.for_pydantic(output_class=Pet, prompt=prompt)\n\nraw_output, validated_output, *rest = guard(\n    llm_api=openai.completions.create,\n    engine=\"gpt-3.5-turbo-instruct\"\n)\n\nprint(validated_output)\n```\n\n这将打印出：\n```\n{\n    \"pet_type\": \"dog\",\n    \"name\": \"Buddy\n}\n```\n\n### Guardrails 服务器\n\nGuardrails 可以通过 `guardrails start` 命令以 Flask 提供的独立服务形式部署，从而允许您通过 REST API 与其交互。这种方法简化了基于 Guardrails 的应用程序的开发和部署。\n\n1. 安装：`pip install \"guardrails-ai\"`\n2. 配置：`guardrails configure`\n3. 创建配置：`guardrails create --validators=hub:\u002F\u002Fguardrails\u002Ftwo_words --guard-name=two-word-guard`\n4. 启动开发服务器：`guardrails start --config=.\u002Fconfig.py`\n5. 使用以下代码片段与开发服务器交互：\n```\n# 使用 guardrails 客户端\nimport guardrails as gr\n\ngr.settings.use_server = True\nguard = gr.Guard(name='two-word-guard')\nguard.validate('this is more than two words')\n\n# 或者使用 OpenAI SDK\nimport openai\nopenai.base_url = \"http:\u002F\u002Flocalhost:8000\u002Fguards\u002Ftwo-word-guard\u002Fopenai\u002Fv1\u002F\"\nos.environ[\"OPENAI_API_KEY\"] = \"youropenaikey\"\n\nmessages = [\n        {\n            \"role\": \"user\",\n            \"content\": \"用恰好三个词告诉我关于苹果的事情\",\n        },\n    ]\n\ncompletion = openai.chat.completions.create(\n    model=\"gpt-4o-mini\",\n    messages=messages,\n)\n```\n\n对于生产环境部署，我们建议使用 Docker 并搭配 Gunicorn 作为 WSGI 服务器，以提升性能和可扩展性。\n\n## 常见问题解答\n\n#### 我在使用 Guardrails 时遇到了问题，可以在哪里寻求帮助？\n\n您可以通过 [Discord](https:\u002F\u002Fdiscord.gg\u002Fgw4cR9QvYE) 或 [Twitter](https:\u002F\u002Ftwitter.com\u002Fguardrails_ai) 联系我们。\n\n#### 我可以将 Guardrails 与任何大模型一起使用吗？\n\n是的，Guardrails 可以与专有和开源的大模型一起使用。请参阅这篇关于[如何将 Guardrails 与任何大模型结合使用](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fusing_llms)的指南。\n\n#### 我可以创建自己的验证器吗？\n\n当然可以！您可以创建自己的验证器，并将其贡献到 Guardrails Hub。请参阅这篇关于[如何创建自定义验证器](https:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fcustom_validators)的指南。\n\n#### Guardrails 是否支持其他语言？\n\n目前，Guardrails 支持 Python 和 JavaScript。您可以查阅文档，了解如何从 JavaScript 中使用 Guardrails。我们正在努力增加对其他语言的支持。如果您希望为 Guardrails 做出贡献，请通过 [Discord](https:\u002F\u002Fdiscord.gg\u002Fgw4cR9QvYE) 或 [Twitter](https:\u002F\u002Ftwitter.com\u002Fguardrails_ai) 联系我们。\n\n\n## 贡献\n\n我们欢迎所有对 Guardrails 的贡献！\n\n您可以从浏览 GitHub 上的问题开始，并查看[贡献指南](CONTRIBUTING.md)。欢迎您随时提出新问题，或在希望参与项目时与我们联系！","# Guardrails AI 快速上手指南\n\nGuardrails 是一个 Python 框架，旨在通过执行输入\u002F输出防护（Guards）来检测、量化和缓解特定类型的风险，并帮助从大语言模型（LLM）生成结构化数据，从而构建可靠的 AI 应用。\n\n## 环境准备\n\n*   **操作系统**：Linux, macOS, Windows\n*   **Python 版本**：3.8 - 3.12\n*   **前置依赖**：\n    *   `pip` (Python 包管理工具)\n    *   已配置的 LLM API Key（如 OpenAI，用于结构化数据生成示例）\n\n> **提示**：国内开发者若遇到下载速度慢的问题，建议在安装命令中指定国内镜像源（如清华源或阿里源）。\n\n## 安装步骤\n\n1.  **安装核心库**\n    ```bash\n    pip install guardrails-ai -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n2.  **配置 Guardrails Hub CLI**\n    安装完成后，运行以下命令进行初始化配置（按提示操作即可）：\n    ```bash\n    guardrails configure\n    ```\n\n## 基本使用\n\n### 场景一：为 LLM 创建输入\u002F输出验证器 (Input\u002FOutput Guards)\n\n此功能用于拦截并验证文本内容，例如检查格式、敏感词或竞争对手提及。\n\n**1. 安装所需的验证器 (Validators)**\n从 Guardrails Hub 安装预定义的验证规则（例如正则匹配、竞争对手检查、有毒语言检测）：\n\n```bash\nguardrails hub install hub:\u002F\u002Fguardrails\u002Fregex_match\nguardrails hub install hub:\u002F\u002Fguardrails\u002Fcompetitor_check\nguardrails hub install hub:\u002F\u002Fguardrails\u002Ftoxic_language\n```\n\n**2. 编写验证代码**\n以下示例展示了如何组合多个验证规则并对文本进行校验：\n\n```python\nfrom guardrails import Guard, OnFailAction\nfrom guardrails.hub import CompetitorCheck, ToxicLanguage\n\n# 创建一个 Guard，组合多个验证器\nguard = Guard().use(\n    # 检查是否包含特定竞争对手名称\n    CompetitorCheck([\"Apple\", \"Microsoft\", \"Google\"], on_fail=OnFailAction.EXCEPTION),\n    # 检查是否包含有毒\u002F侮辱性语言\n    ToxicLanguage(threshold=0.5, validation_method=\"sentence\", on_fail=OnFailAction.EXCEPTION)\n)\n\n# 测试用例 1：正常内容，验证通过\nguard.validate(\n    \"\"\"An apple a day keeps a doctor away.\n    This is good advice for keeping your health.\"\"\"\n)\n\n# 测试用例 2：包含违规内容，验证失败并抛出异常\ntry:\n    guard.validate(\n        \"\"\"Shut the hell up! Apple just released a new iPhone.\"\"\"\n    )\nexcept Exception as e:\n    print(e)\n```\n\n**预期输出（失败时）：**\n```console\nValidation failed for field with errors: Found the following competitors: [['Apple']]. Please avoid naming those competitors next time, The following sentences in your response were found to be toxic:\n\n- Shut the hell up!\n```\n\n---\n\n### 场景二：利用 Guardrails 生成结构化数据\n\n此功能强制 LLM 按照指定的 Pydantic 模型格式输出数据（如 JSON），适用于需要固定格式输出的场景。\n\n**1. 定义数据结构**\n使用 Pydantic 定义你期望的输出格式：\n\n```python\nfrom pydantic import BaseModel, Field\n\nclass Pet(BaseModel):\n    pet_type: str = Field(description=\"Species of pet\")\n    name: str = Field(description=\"a unique pet name\")\n```\n\n**2. 调用 LLM 获取结构化结果**\nGuardrails 会自动处理 Prompt 优化或使用 Function Calling，确保输出符合 `Pet` 模型：\n\n```python\nfrom guardrails import Guard\nimport openai\n\n# 定义 Prompt，${gr.complete_json_suffix_v2} 是 Guardrails 的特殊标记\nprompt = \"\"\"\n    What kind of pet should I get and what should I name it?\n\n    ${gr.complete_json_suffix_v2}\n\"\"\"\n\n# 创建针对 Pydantic 模型的 Guard\nguard = Guard.for_pydantic(output_class=Pet, prompt=prompt)\n\n# 调用 LLM (需配置好 openai API Key)\nraw_output, validated_output, *rest = guard(\n    llm_api=openai.completions.create,\n    engine=\"gpt-3.5-turbo-instruct\"\n)\n\nprint(validated_output)\n```\n\n**预期输出：**\n```python\n{\n    \"pet_type\": \"dog\",\n    \"name\": \"Buddy\"\n}\n```","某金融科技公司正在开发一款智能信贷助手，旨在通过大模型自动提取用户对话中的关键信息（如手机号、收入证明）并生成结构化数据供风控系统使用。\n\n### 没有 guardrails 时\n- **数据格式混乱**：大模型偶尔会输出非标准的电话号码格式（如\"1234-789-0000\"），导致下游数据库写入失败或报错。\n- **敏感信息泄露**：模型可能在回答中无意复述用户的身份证号或银行卡号，存在严重的数据合规风险。\n- **幻觉误导决策**：当用户未提供收入证明时，模型可能凭空捏造虚假数值，导致信贷额度评估出现重大偏差。\n- **人工复核成本高**：开发团队不得不安排专人对每一条模型输出进行二次校验，严重拖慢了业务上线速度。\n\n### 使用 guardrails 后\n- **强制格式规范**：通过配置 `RegexMatch` 等验证器，guardrails 能自动拦截不符合正则规则的电话号码，并触发重试机制直至生成合法格式。\n- **实时风险阻断**：利用预置的隐私保护验证器，guardrails 在输出阶段即时识别并屏蔽身份证号等敏感实体，确保数据不出域。\n- **消除事实幻觉**：针对数值型字段设置逻辑约束，当模型试图编造数据时，guardrails 会直接抛出异常或返回默认安全值，保障风控准确性。\n- **自动化流程闭环**：输入\u002F输出守卫自动接管校验工作，研发团队无需编写大量样板代码，即可实现端到端的可靠数据流转。\n\nguardrails 为大模型应用装上了“安全气囊”，将不可控的自然语言生成转化为可信、结构化且合规的业务数据流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fguardrails-ai_guardrails_7908b1e2.gif","guardrails-ai","Guardrails AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fguardrails-ai_78729622.png","",null,"contact@guardrailsai.com","guardrailsai.com","https:\u002F\u002Fgithub.com\u002Fguardrails-ai",[81,85,89,92],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.7,{"name":86,"color":87,"percentage":88},"Dockerfile","#384d54",0.1,{"name":90,"color":91,"percentage":88},"Makefile","#427819",{"name":93,"color":94,"percentage":88},"Shell","#89e051",6654,564,"2026-04-09T21:53:44","Apache-2.0","未说明",{"notes":101,"python":102,"dependencies":103},"该工具是一个 Python 框架，主要用于 LLM 的输入\u002F输出验证和结构化数据生成。支持通过 CLI 安装和管理验证器（validators）。可作为独立服务运行（基于 Flask），生产环境建议使用 Docker 配合 Gunicorn 部署。支持 Python 和 JavaScript，可与专有或开源 LLM 集成。","3.8+",[72,104,105,106,107],"pydantic","openai","flask","gunicorn",[35,14,13,15],[110,111,112,113,105],"ai","foundation-model","gpt-3","llm","2026-03-27T02:49:30.150509","2026-04-10T22:21:55.837068",[117,122,127,132,137,141],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},28384,"如何在 Docker 或 Kubernetes 环境中解决安装 Guardrails Hub 包时出现'No matching distribution found'的错误？","该问题通常由网络代理配置错误或 AWS 服务间歇性故障引起。解决方案包括：\n1. 检查并修正 Docker\u002FK8s 环境中的代理设置，确保能正确连接 pypi.guardrailsai.com。\n2. 确认错误日志中是否包含 'Proxy Authentication Required' 或 'Tunnel connection failed'，如有需配置正确的代理认证。\n3. 维护者已修复了域名提供商和 AWS 内部服务通信的问题，如果之前遇到此问题，现在重试安装命令 `guardrails hub install hub:\u002F\u002Fguardrails\u002F\u003Cvalidator_name>` 通常即可解决。","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F1247",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},28385,"在使用 Azure OpenAI 进行流式输出（Streaming）时，如何避免 'object generator cannot be used in await expression' 错误？","在实现流式响应时，需要进行以下代码调整：\n1. 确保模型名称格式正确：在 payload 中添加逻辑，将模型名称转换为 `azure\u002F\u003Cmodel_name>` 格式（例如 `azure\u002Fgpt-4o`）。\n2. 移除异步等待关键字：在遍历生成器结果的循环中，不要对生成器本身使用 `await`。应将 `async def` 函数中的 `await guard(...)` 改为直接调用 `guard(...)`（如果 guard 返回的是同步生成器），或者确保正确处理异步生成器。具体修改是将获取响应的代码块中的 `await` 移除，直接迭代 `guard_stream` 对象来 yield 数据块。","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F1159",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},28386,"运行 `guardrails configure` 时出现 'UnicodeDecodeError: ascii codec can't decode byte' 错误怎么办？","此错误通常发生在 Windows 系统上，原因是配置文件中的 Token 字符串包含非 ASCII 字符或编码损坏。解决步骤如下：\n1. 找到用户主目录下的配置文件 `~\u002F.guardrailsrc` (Windows 下通常在 `C:\\Users\\\u003C用户名>\\.guardrailsrc`)。\n2. 打开该文件，检查 `token` 字段下的内容。\n3. 确认该字符串是否是一个有效的 JWT Token（通常由三部分组成，中间用点号分隔）。如果看到乱码或非标准字符，请删除该文件中的 token 内容。\n4. 重新运行 `guardrails configure` 命令，并从 https:\u002F\u002Fhub.guardrailsai.com\u002Ftokens 复制新的有效 Token 填入。","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F873",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},28387,"为什么执行 `guardrails configure` 时会报错 'Failed to authenticate! not enough values to unpack'？","该错误表明输入的 Client ID 和 Client Secret 格式不正确或未被正确解析。解决方法：\n1. 访问 https:\u002F\u002Fhub.guardrailsai.com\u002Ftokens 重新生成一对新的凭证。\n2. 确保在终端输入时，Client ID 和 Client Secret 没有多余的空格或换行符。\n3. 如果问题依旧，尝试更新 guardrails-ai 库到最新版本（维护者已在后续版本中修复了相关的解析逻辑），然后再次运行配置命令。","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F623",{"id":138,"question_zh":139,"answer_zh":140,"source_url":131},28388,"在 Jupyter Notebook 中导入 `ToxicLanguage` 时遇到 'ImportError: cannot import name' 错误如何解决？","这通常是因为本地安装的 `guardrails` 版本过旧，或者 `guardrails-hub` 包未正确安装导致的。解决步骤：\n1. 升级主库：运行 `pip install --upgrade guardrails-ai`。\n2. 显式安装 Hub 包：运行 `pip install guardrails-hub` 或通过命令 `guardrails hub install hub:\u002F\u002Fguardrails\u002Ftoxic_language` 安装特定的验证器。\n3. 重启 Jupyter Kernel 以确保加载最新的库文件。\n4. 如果使用的是非常旧的版本，某些验证器的导入路径可能已变更，请参考最新文档确认导入语句是否为 `from guardrails.hub import ToxicLanguage`。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":126},28389,"如何正确配置 Azure OpenAI 的模型名称以配合 Guardrails 使用？","在使用 Azure OpenAI 时，必须在代码中明确指定模型前缀。需要在构建请求 payload 时添加以下逻辑：检查 `model` 字段，如果它是字符串且不以 `azure\u002F` 开头，则将其修改为 `f\"azure\u002F{payload['model']}\"`。例如，如果你的部署模型是 `gpt-4o`，在传给 Guardrails 时必须表示为 `azure\u002Fgpt-4o`，否则库可能无法正确路由请求到 Azure 端点。",[146,151,156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241],{"id":147,"version":148,"summary_zh":149,"released_at":150},189302,"v0.9.3","## 变更内容\n* 由 @faccimatteo 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1440 中修复了自定义验证器的引用链接。\n* 由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1439 中将 pip 依赖组向前推进了一个目录，并进行了两次更新。\n* 紧急 - 由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1444 中将 litellm 锁定在易受攻击版本以下。\n\n## 新贡献者\n* @faccimatteo 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1440 中完成了他们的首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.9.2...v0.9.3","2026-04-03T20:00:06",{"id":152,"version":153,"summary_zh":154,"released_at":155},189303,"v0.10.0","## 变更内容\n* [GR-1405]：使用 guardrails_ai.types 和标准 HTTP 客户端，而非 guardrails_api_client，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1442 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.9.3...v0.10.0","2026-04-03T20:00:28",{"id":157,"version":158,"summary_zh":159,"released_at":160},189304,"v0.9.2","## 变更内容\n* 在 npm_and_yarn 组中的 \u002Fdocs 目录下，将 lodash-es 从 4.17.21 升级至 4.17.23，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1411 中完成。\n* 在 pip 组中的 1 个目录下，将 pypdf 从 6.7.0 升级至 6.7.1，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1413 中完成。\n* 修复在动态安装 hub 验证器时出现的 `ModuleNotFoundError`，由 @VaishnavGunjari 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1426 中完成。\n* [功能]：数据库命令，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1428 中实现。\n* 修复：在 safe_get 中保留假值，由 @aerosta 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1430 中完成。\n* [维护]：文档迁移后仓库清理，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1432 中完成。\n* 将桶式导入替换为基于注册表的动态加载（第二阶段），由 @debu-sinha 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1422 中完成。\n* 自动为 hub 导入生成存根文件，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1433 中完成。\n* 在 1 个目录下，pip 组进行了 4 次更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1421 中完成。\n* 修复：使 AsyncRunner 的解析、验证和消息格式化与 Runner 保持一致，由 @aerosta 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1431 中完成。\n* 在 1 个目录下，pip 组进行了 2 次更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1436 中完成。\n* 迁移到动态 hub 导入，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1434 中完成。\n* 版本升级，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1437 中完成。\n\n## 新贡献者\n* @VaishnavGunjari 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1426 中完成了首次贡献。\n* @aerosta 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1430 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.9.1...v0.9.2","2026-03-16T18:23:49",{"id":162,"version":163,"summary_zh":164,"released_at":165},189305,"v0.9.1","## 变更内容\n* 更新回归测试的 Notebook 列表，作者：@CalebCourier，链接：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1418\n* 添加 uv 包管理器支持及项目级验证器注册表，作者：@debu-sinha，链接：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1416\n* V0.9.1，作者：@CalebCourier，链接：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1419\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.9.0...v0.9.1","2026-02-24T20:53:36",{"id":167,"version":168,"summary_zh":169,"released_at":170},189306,"v0.9.0","## 变更内容\n* 0.9.0 由 @CalebCourier 提供https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1400\n\n## 迁移指南\nhttps:\u002F\u002Fguardrailsai.com\u002Fguardrails\u002Fdocs\u002Fmigration-guides\u002F0-9-migration\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.8.2...v0.9.0","2026-02-17T14:30:04",{"id":172,"version":173,"summary_zh":174,"released_at":175},189307,"v0.8.2","## 变更内容\n* 在 1 个目录下的 pip 组中，由 @dependabot[bot] 将 sqlparse 从 0.5.3 升级到 0.5.4，详情见 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1407\n* v0.8.2，由 @CalebCourier 提交，详情见 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1410\n\n## 摘要\n修复了在 0.9.0 版本发布之前，基于配置文件与 guardrails-api 集成时的 bug。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.8.1...v0.8.2","2026-02-17T14:27:27",{"id":177,"version":178,"summary_zh":179,"released_at":180},189308,"v0.8.1","## 变更内容\n* 在 `\u002Fdocs` 目录下的 `npm_and_yarn` 组中，将 lodash 从 4.17.21 升级至 4.17.23，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1391 中完成。\n* 修复：修正拼写错误“recieved”和“occured”，由 @thecaptain789 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1398 中完成。\n* 修复自定义验证器在缺少 Hub API 密钥时失败的问题，由 @debu-sinha 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1403 中完成。\n* 文档：添加 MLflow 集成指南，由 @debu-sinha 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1394 中完成。\n* 在 `pip` 组中的 1 个目录下，将 filelock 从 3.19.1 升级至 3.20.1，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1378 中完成。\n* 0.8.x 版本的弃用说明，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1401 中完成。\n* 修复温度处理问题 #1353，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1404 中完成。\n* 在 1 个目录下对 `pip` 组进行升级，包含 15 项更新，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1405 中完成。\n* 在 `\u002Fdocs` 目录下的 `npm_and_yarn` 组中，将 webpack 从 5.102.1 升级至 5.105.1，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1402 中完成。\n* v0.8.1 - 最终版本，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1406 中发布。\n\n## 破坏性变更\n* 之前已废弃的方法已被移除。\n\n## 新贡献者\n* @thecaptain789 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1398 中完成了首次贡献。\n* @debu-sinha 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1403 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.8.0...v0.8.1","2026-02-13T17:48:22",{"id":182,"version":183,"summary_zh":184,"released_at":185},189309,"v0.8.0","## 变更内容\n* 限制内存中历史记录的大小，由 @CalebCourier 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1397 中实现\n\n## 破坏性变更\n* `Guard.history` 默认限制为 10 条记录。可以通过新的 `history_max_length` 关键字参数来控制历史记录的保留长度。该参数的默认值为 10。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.7.3...v0.8.0","2026-02-06T18:58:41",{"id":187,"version":188,"summary_zh":189,"released_at":190},189310,"v0.7.3","## 变更内容\n* 在 npm_and_yarn 组的 \u002Fdocs 目录下，由 @dependabot[bot] 将 mdast-util-to-hast 从 13.2.0 升级至 13.2.1，详情见 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1384\n* @CalebCourier 更新了错误报告模板，详情见 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1390\n* @CalebCourier 添加了对 OpenAI 2.x 的支持，详情见 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1396\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.7.2...v0.7.3","2026-02-06T18:11:25",{"id":192,"version":193,"summary_zh":194,"released_at":195},189311,"v0.7.2","## 变更内容\n* 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1373 中，@dependabot[bot] 将 pip 组跨 1 个目录更新了 2 次。\n* 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1366 中，@dependabot[bot] 将 \u002Fdocs 目录下 npm_and_yarn 组中的 node-forge 从 1.3.1 升级到 1.3.2。\n* @dtam 在 https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1379 中添加了乐观的 JSON 解析，以避免嵌入式代码块中的边缘情况。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.7.1...v0.7.2","2025-12-18T02:08:59",{"id":197,"version":198,"summary_zh":199,"released_at":200},189312,"v0.7.1","## What's Changed\r\n* Bump pypdf from 6.1.3 to 6.4.0 in the pip group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1365\r\n* Bump fonttools from 4.60.0 to 4.61.0 in the pip group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1368\r\n* Concurrency Patch by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1376\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.7.0...v0.7.1","2025-12-10T18:51:27",{"id":202,"version":203,"summary_zh":204,"released_at":205},189313,"v0.7.0","## What's Changed\r\n* Langchain 1.x support by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1359\r\n* Bump js-yaml from 3.14.1 to 3.14.2 in \u002Fdocs in the npm_and_yarn group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1356\r\n* Bump the pip group across 1 directory with 2 updates by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1349\r\n* v0.7.0 Release by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1360\r\n* bump version by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1364\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.8...v0.7.0","2025-11-25T21:06:41",{"id":207,"version":208,"summary_zh":209,"released_at":210},189314,"v0.6.8","## What's Changed\r\n* UPgrade Click and Typer versions by @ram-from-tvl in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1323\r\n* remove venv directory by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1325\r\n* Bump pypdf from 6.1.1 to 6.1.3 in the pip group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1332\r\n* add api key to server ci tests by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1340\r\n* Bump webpack-dev-server from 4.15.2 to 5.2.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1339\r\n* Update cohere model by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1341\r\n* fix link to server documentation by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1330\r\n* Bump the pip group across 1 directory with 3 updates by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1337\r\n* move docs stuff to \u002Fdocs by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1333\r\n* realias docs navbar to guardrailsai.com by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1342\r\n* Fix img links in README by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1345\r\n* fix links to notebooks by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1346\r\n* fix cohere model again after bad merge by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1347\r\n* fix docs imgs by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1355\r\n* Fix pip install version comparison on start.py by @untidy-hair in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1357\r\n* Python 3.13 Support by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1320\r\n* Consistently use llm ask methods by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1358\r\n* v0.6.8 Release by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1324\r\n\r\n## New Contributors\r\n* @ram-from-tvl made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1323\r\n* @untidy-hair made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1357\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.7...v0.6.8","2025-11-24T17:38:08",{"id":212,"version":213,"summary_zh":214,"released_at":215},189315,"v0.6.7","## What's Changed\r\n* Bump image-size from 1.1.1 to 1.2.1 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1252\r\n* Bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1264\r\n* update griffe by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1275\r\n* Replace pkg_resources by @AlejandroEsquivel in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1295\r\n* update lxml by @evanvolgas in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1279\r\n* Bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1299\r\n* open up lxml version range by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1310\r\n* Open version ranges by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1312\r\n* 0.6.7 pre release by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1314\r\n* 0.6.7 release by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1313\r\n* fix license ref for poetry by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1316\r\n* v0.6.7 Prerelease II by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1317\r\n* v0.6.7 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1315\r\n* More Version Updates by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1321\r\n* v0.6.7 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1318\r\n* v0.6.7 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1322\r\n\r\n## New Contributors\r\n* @evanvolgas made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1279\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.6...v0.6.7","2025-09-22T21:40:17",{"id":217,"version":218,"summary_zh":219,"released_at":220},189316,"v0.6.6","## What's Changed\r\n* Sync FIX_REASK Bug Fix by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1253\r\n* docs: Update README with correct CLI flag (`--guard-name` instead of `--name`) and minor formatting fixes by @graysonchen in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1251\r\n* Fix Async Stream Contexts by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1257\r\n\r\n## New Contributors\r\n* @graysonchen made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1251\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.5...v0.6.6","2025-04-28T20:10:04",{"id":222,"version":223,"summary_zh":224,"released_at":225},189317,"v0.6.5","## What's Changed\r\n* fix typo in new faq by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1242\r\n* Bump jinja2 from 3.1.4 to 3.1.5 in the pip group by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1209\r\n* Bump katex from 0.16.11 to 0.16.21 in the npm_and_yarn group by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1230\r\n* Update deploying.md by @bet0x in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1239\r\n* Add and document api_key and base_url to Guard.fetch_guard() by @AlexBlumer in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1245\r\n* Dependabot updates march 28 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1248\r\n* Update to jsonschema's format-nongpl extra by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1244\r\n* Bump the npm_and_yarn group across 1 directory with 4 updates by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1249\r\n* Bump the pip group across 1 directory with 4 updates by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1250\r\n\r\n## New Contributors\r\n* @bet0x made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1239\r\n* @AlexBlumer made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1245\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.4...v0.6.5","2025-03-28T17:40:44",{"id":227,"version":228,"summary_zh":229,"released_at":230},189318,"v0.6.4","## What's Changed\r\n* Update autoclose_stale_issues_and_prs.yml by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1234\r\n* Dependency Fixes by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1241\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.3...v0.6.4","2025-03-11T20:51:24",{"id":232,"version":233,"summary_zh":234,"released_at":235},189319,"v0.6.3","## What's Changed\r\n* Update using_llms.md by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1207\r\n* Enhance Publish to GR PyPi Action to allow package folder input by @AlejandroEsquivel in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1208\r\n* Update dependency version for typer by @AlejandroEsquivel in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1210\r\n* Implemented redaction functions to obscure sensitive information in strings by @abhishek9sharma in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1217\r\n* Update README.md to include news about guardrails index by @ShreyaR in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1229\r\n* Add GUARDRAIL span kind to arize tracing by @abhishek9sharma in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1223\r\n* v0.6.3 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1220\r\n\r\n## New Contributors\r\n* @abhishek9sharma made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1217\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.2...v0.6.3","2025-02-13T16:22:31",{"id":237,"version":238,"summary_zh":239,"released_at":240},189320,"v0.6.2","## What's Changed\r\n* Bump nanoid from 3.3.7 to 3.3.8 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1199\r\n* Bump path-to-regexp and express by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1198\r\n* Fix Watch Mode by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1202\r\n* v0.6.2 by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1203\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.1...v0.6.2","2024-12-24T21:18:23",{"id":242,"version":243,"summary_zh":244,"released_at":245},189321,"v0.6.1","## What's Changed\r\n* Force validator arg serialization by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1155\r\n* Linking to related pages by @jayercule in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1157\r\n* Introducing Guardrails Guru on Gurubase.io by @kursataktas in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1158\r\n* Hotfix for MLFlow validator spans during async execution by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1164\r\n* Feat\u002Fllama index by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1160\r\n* add unified service tags to hub telemetry tracer by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1161\r\n* Quickstart Hub Install Details by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1172\r\n* LlamaIndex Example FnF by @CalebCourier in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1173\r\n* Bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1171\r\n* Bump tornado from 6.4.1 to 6.4.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1174\r\n* Edited remote validation notebook by @jayercule in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1162\r\n* Bump aiohttp from 3.10.10 to 3.10.11 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1185\r\n* Bump waitress from 3.0.0 to 3.0.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1184\r\n* Bump werkzeug from 3.0.4 to 3.0.6 by @dependabot in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1183\r\n* Fix Terraform code in continuous_integration_continuous_deployment.md by @iuliaturc in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1182\r\n* New performance page by @jayercule in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1165\r\n* Added LlamaIndex doc by @jayercule in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1178\r\n* Docs\u002Fnov flush by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1188\r\n* remove darkmode concept viz by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1196\r\n* Update pyproject.toml by @zsimjee in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1197\r\n\r\n## New Contributors\r\n* @kursataktas made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1158\r\n* @iuliaturc made their first contribution in https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fpull\u002F1182\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fcompare\u002Fv0.6.0...v0.6.1","2024-12-10T23:39:34"]