升级 MacOS 14 导致 embedded-redis 不兼容
背景
一直都没更新操作系统的版本,心血来潮更新了 MacOS 的 14(Sonoma)
然后发现单测竟然跑不通了,但是 push 上去的代码 CI 依然可以通过,所以当时基本就确定是版本升级带来的兼容性问题了
看了下日志,是嵌入的 Redis 运行不起来
一直都没更新操作系统的版本,心血来潮更新了 MacOS 的 14(Sonoma)
然后发现单测竟然跑不通了,但是 push 上去的代码 CI 依然可以通过,所以当时基本就确定是版本升级带来的兼容性问题了
看了下日志,是嵌入的 Redis 运行不起来
在看阿里开源的 TransmittableThreadLocal Agent
时发现了在对类进行增强的流程中使用了 WeakHashMap
com.alibaba.ttl3.agent.TtlExtensionTransformletManager
1 | // NOTE: use WeakHashMap as a Set collection, value is always null. |
这里使用了弱引用元素的 HashMap,应该是只用于 JVM 启动的类加载阶段,所以使用了特殊的引用类型

#5 Bourbon Cocktail Recipe | PUNCH (punchdrink.com)
作为 2015 年 1 月发布 Trick Dog 的唐人街菜单的爆款,这款“辛辣波本柑橘香肠”(正如店主 Josh Harris 所描述的)正处于潮流之中,在菜单发布的 6 个月里,这家酒吧的销量超过了 11000 个 #5
这种饮料通常用一串添加了香菜风味的芒果块装饰,但也可以使用风干橙片和姜糖来获得类似的泥土味和酸味
返回逗号分隔的项目列表时,可以使用此输出解析器
解析器和 prompt
1 | # 列表解析器 |
使用
MMR
为最大边际相关性,MaxMarginalRelevanceExampleSelector
根据示例与输入之间的相似度以及多样性来选择示例
通过寻找与输入具有最大余弦相似度的嵌入的示例,并在迭代中进行添加;同时对与已选择示例的相似度进行惩罚来进行实现
import
1 | from langchain.prompts.example_selector import ( |
默认情况下,PromptTemplate 会将提供的模板视为 Python
f-string
您可以通过 template_format 参数指定其他模板格式,如下的
template_format="jinja2"
1 | # 确保安装了 jinja2 |
Args:
template: The template string.
template_format: The template format. Should be one of "f-string" or "jinja2".