mcpField
D
django-recommender-search-backend-patterns

django-recommender-search-backend-patterns

github.com/pproenca开发218124 次安装11 周前更新
代码仓库

关于 django-recommender-search-backend-patterns

面向 Django 后端的技能,提供 48 条规则和 Python 模板,用于推荐服务与 OpenSearch 搜索。适合构建或审查协调机器学习及服务调用、处理故障并提供搜索或信息流结果的系统。

主要功能

  1. 01涵盖八类后端主题的 48 条规则
  2. 02异步下游扇出与保护模式
  3. 03OpenSearch 分页和查询指南
  4. 04推荐结果混排与回退策略
  5. 05缓存、弹性处理和 API 响应模式
  6. 06五种可调整的 Python 脚手架模板

适用场景

  1. 01审查 Django 推荐接口
  2. 02设计 OpenSearch 搜索和信息流 API
  3. 03防止下游调用过载或故障
  4. 04实现混合排序和部分响应

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill django-recommender-search-backend-patterns

安装后在 Claude Code 中输入/django-recommender-search-backend-patterns确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
assets/templates/
_template.md
degraded_response.py.template
fanout_recommender_service.py.template
opensearch_search_view.py.template
redis_cache_with_stampede.py.template
result_blender.py.template
references/
_sections.md
api-compression-and-payload-shaping.md
api-cursor-pagination-in-drf.md
api-etag-and-cache-control-headers.md
api-serializer-perf-select-related.md
api-throttle-per-user-and-endpoint.md
async-cancel-on-client-disconnect.md
async-context-vars-for-request-scope.md
async-fire-and-forget-with-create-task.md
async-sync-to-async-orm.md
async-worker-model-uvicorn-vs-gunicorn.md
blend-anonymous-vs-personalized-paths.md
blend-cold-start-fallback.md
blend-dedup-across-sources.md
blend-mmr-for-diversity.md
blend-normalize-scores-across-sources.md
cache-negative-results.md
cache-redis-with-stampede-protection.md
cache-segment-keyed-isolation.md
cache-two-tier-process-and-redis.md
cache-version-on-model-deploy.md
orch-avoid-await-in-loop.md

详细介绍

实验性 Django 推荐与搜索后端最佳实践

用于 Django 后端的实现模式,支持混合结果推荐(Personalize / Databricks / 微服务扇出)和由 OpenSearch 支持的搜索/信息流。共 8 个类别、48 条规则,按对执行生命周期的影响排序——靠前的类别会影响其后的所有环节。

这是 react-fetch-cache-patterns 技能的后端对应项。React 负责客户端瀑布请求和缓存;本技能负责服务端扇出、下游保护、OpenSearch 查询设计和机器学习混合编排。

适用场景

  • 构建或审查 Django 视图,向 AWS Personalize、Databricks Model Serving、内部微服务或任何机器学习推理下游发起扇出请求
  • 设计 OpenSearch 查询端点(搜索结果、无限信息流、分面搜索)
  • 实现混合多个排序器输出的推荐端点
  • 调查“下游服务降级时 Django 后端变慢”或“Personalize 配额耗尽”等问题
  • 为出站调用添加缓存、重试、熔断器或速率限制
  • 在同步和异步 Django 视图之间进行选择,配置 uvicorn 或 gunicorn
  • 为分页信息流、部分结果或降级路径设计 DRF 响应结构

按优先级划分的规则类别

#类别影响前缀规则数
1扇出编排CRITICALorch-8
2外部服务保护CRITICALprotect-7
3OpenSearch 查询模式CRITICALsearch-8
4结果混合与个性化HIGHblend-5
5缓存策略HIGHcache-5
6弹性与部分结果HIGHresilience-5
7异步与并发MEDIUM-HIGHasync-5
8API 响应设计MEDIUMapi-5

快速参考

1. 扇出编排(CRITICAL)
2. 外部服务保护(严重)
3. OpenSearch 查询模式(严重)
4. 结果融合与个性化(高)
5. 缓存策略(高)
6. 弹性与部分结果(高)
7. 异步与并发(中高)
8. API 响应设计(中)

使用方法

  1. 打开 references/_sections.md,了解类别定义和影响原因
  2. 阅读各规则文件,查看错误与正确的代码示例(每个文件约 150-300 行 Python 代码)
  3. 如需可直接使用的脚手架,请参阅 脚手架模板
  4. AGENTS.md 导航文档(自动生成)提供了用于浏览的目录

脚手架模板

assets/templates/ 下有五个可直接调整使用的 Python 模板:

模板用途
fanout_recommender_service.py.template异步扇出客户端,可连接 Personalize/Databricks/微服务,并为每个下游服务配置熔断器、限制超时、返回部分结果
opensearch_search_view.py.templateDRF 视图 + OpenSearch search_after 游标 + function_score 混合评分 + _source 过滤
result_blender.py.template分数归一化 + MMR 多样性 + 规范 ID 去重 + 冷启动回退
redis_cache_with_stampede.py.template防缓存雪崩的缓存函数装饰器,使用 SETNX 锁和抖动 TTL
degraded_response.py.template带有各来源状态标志和分层回退的部分结果封装

参考文件

文件描述
references/_sections.md类别定义、排序、影响说明、层级定义
assets/templates/_template.md编写新规则的模板
metadata.json版本、参考资料、摘要

相关技能

  • react-fetch-cache-patterns — 客户端侧配套技能,涵盖 React 数据获取与缓存(Suspense、查询库、预取)
  • io-bound-data-processing — 面向批处理和流水线工作负载的 Python 异步模式
  • inngest-nextjs-patterns — 服务端步骤函数的工作流模式

评论

支持 Markdown