Avatar
ClarkQAQ
c7fa3b7c7ec5633b7c9718de9d5f528d0e1c55c9b1543532596ca4a058b4cfe9
我叫 Clark, 大概是写代码的, 其他嘛...嗯...让我想想...开发者? 黑客? 投机者? 卑微打工人? 不不, 其实我只是个 freeman, 做自己喜欢的事情最重要! ✨

发现一款功能性不错的客户端, 就是 UI 设计差点...

demo: https://nostria.app/

repo: https://github.com/nostria-app/nostria

Replying to Avatar CT

如果你用 rust 写的话,推荐一个分词器:https://github.com/meilisearch/charabia 组合了不同语言的主流分词器,用起来省事。也可以尝试用大模型的分词器搭配向量数据库做搜索

谢谢! 不过我试过用嵌入模型量化然后用向量搜索再使用字串模糊匹配, 但是嵌入成本太高了...短期我打算向电报学习, 让用户主动打 tag 或者 打 字 带 空 格 来实现中文搜索:bili_fantastic:

不过目前我觉得 NIP-50 才是中继实现最难的一步, 特别是中文.

英文可以用空格分词 word, 很简单就搞定了, 但是中文不用 jieba 类的分词引擎把每个字都当作一个 token 一句话的 token 量就爆炸了, 但是用了分词引擎写入速度又会被大大削弱...

你要是有兴趣可以尝试 Key-Value + 放大写 (索引) 方案, 我目前基于这个方案使用 Golang + Badger 得到了不错的成绩QAQ

PG Kind 和 Pubkey 直接 Btree Index 用 "kind = ANY([1, 2, 3])", Tags 单独拆分一列把 tags 的下标 0 和 1 按照 "${0}:${1}" 拼接为数组写入然后走 GIN 倒排就行, 不过 PG 这类关系型的劣势是并发上不去...

我试过 Clickhouse 在我的机器上面也只有几千的并发...

Nostr NIPs 现在好多内容啊, 短期想完全吃透好难...

要是有个 Nostr NIPs Lite 就好了QAQ, 协议核心只有基础功能, 无关内容全部放在 NUDs 上面

可惜, Nostr 这只弓箭已经射出去了...

感觉没有太多, 真这样不如专门的板块…

feed 里面全是 ai 图或者某一种内容刷屏会…

好耶! 23 秒写入 1M 的事件并且带索引, 接下来该写业务框架了QAQ

https://video.nostr.build/76b5a3f58ea33bed02c3afe729fe0da1703e75435960ad8713835b0b63dd32d3.mp4

没什么技术帖子了, 开始和后期的酷安一样偏向生活和炫耀了

那这样在 nostr 里面做 sass 服务养活服务器就简单好多了:bili_fantastic:

闪电网络小额打闪居然是 0 服务费的嘛, 刚才看看钱包发现 nostr:npub1jz8mcwatcv3wafrn5z43u6lkkwkulzvj3zkf0vh608e544qg6njq6nrg8y 和 nostr:npub13zyg3zysfylqc6nwfgj2uvce5rtlck2u50vwtjhpn92wzyusprfsdl2rce 两位大佬给我打闪的 gas 居然是 0! :bili_fantastic:

突然没那么厌恶加密货币了...

女生也行, 说这里能无限制打拳或者这里有人虐猫 (bushi

其实吸引国内使用者很简单...只要和他们说可以色色就行了...:bili_fantastic:

不过 nostr 的上手成本对非开发的小白用户算比较高的了

我感觉中文圈活跃用户就几个人, 两只手都能数得过来:bili_fantastic:

暂时没有, 不过真需要应该能做点中继广告或者卖点 blossom 服务...

我目前更倾向优化代码降低负载让成本变低...

我暂时打算分多层多个中继.

- 公开中继, 任何人都可以连接读写

- 信任中继, 任何人可以读, 但是注册 NIP-05 才可以写

- 里/暗中继, 只能通过邀请 (人传人) 或者其他方式才能进行读写

- 归档中继, 通过廉价慢速的方式存储整个 nostr 网络的 event, 刚好我服务器有 32T 的存储和 38G 的内存, 应该能存下不少的事件用来做备份

不过现在还在写 kvrocks 存储实现, 以及想办法实现字串匹配的 NIP-50