返回首页
最新
嗨,HN!Agora是一个电商产品搜索引擎。
我最初是为了帮我妻子找一双红鞋而创建了Agora,作为一个副项目。最初的MVP搜索需要5到10秒才能返回结果,应用看起来就像是我用MS Paint设计的。 [链接](https://web.archive.org/web/20231214000400/https://www.searchagora.com)
以下是我们最近在解决的一些技术挑战:
1. 我们找到了在300毫秒内返回搜索结果的方法。我们使用Mongo作为主要数据库,并在高内存的Digital Ocean服务器上使用自托管的Meilisearch进行搜索。该应用是使用Remix构建的,特别优化了数据的预取。为了支持AI搜索,我们将产品转换为文本和图像嵌入。文本嵌入使用Cohere,图像嵌入使用Clip。我们现在正在进行进一步的服务器优化和数据分片,以将搜索速度降低到200毫秒以内。
2. 扩展了爬虫,以索引使用Shopify、WooCommerce以及沃尔玛和塔吉特等主要零售商构建的商店。由于电商数据会不断被商店所有者更新,我们还构建了一个“重新爬虫”,每24小时更新一次Agora上的所有商店。当用户点击某个产品时,我们会实时检查其变体和库存。这确保了产品数据始终是最新的。
3. 增强了电商查询检测的深度。我们注意到,有些搜索是客观关键词,比如“露营帐篷”,而其他则是主观查询,比如“500美元以下最好的露营帐篷”。当用户在Agora上搜索时,我们会通过文本分类器判断查询是主观的还是客观的,然后相应地调整AI工具和用户界面。我们在2024年处理了210万条搜索查询,现在正在利用这些数据进一步提高查询检测的准确性。
我很想听听你的反馈。如果你有关于如何加快搜索速度的想法,请告诉我。
为什么我们不能仅仅使用带有OpenAPI规范的REST API(可能还附带x-llm-*提示以提供额外的上下文信息)呢?我看到的论点主要集中在MCP在有状态或双向连接方面的优势,但对我来说,额外的复杂性是否值得这种权衡并不明显。请帮助我理解为什么会有这种情况。
我之前在 Hacker News 上介绍了 WinCse(原帖链接:<a href="https://news.ycombinator.com/item?id=43947599">https://news.ycombinator.com/item?id=43947599</a>)。当时它仅支持 AWS S3,但此次更新增加了对 GCP、OCI 以及更多对象存储提供商的兼容性!<p>经过兼容性测试的对象存储包括:
- AWS S3
- Google Cloud Storage
- OCI 对象存储
- Wasabi 热云存储
- Cloudflare R2
- Backblaze B2
- Storj DCS
- IDrive e2<p>使用 WinCse,您可以像访问本地文件一样,直接从 Windows 资源管理器访问和管理对象存储。<p>如果您遇到任何错误,请在 GitHub 上报告。我也欢迎改进建议,并会在可能的情况下考虑实施。<p>快来试试吧!我们始终欢迎错误报告、反馈和贡献。
## 说“我离开是为了做我热爱的事”真的是一个好的辞职理由吗?
今天,像往常一样,我在办公室附近的公园慢慢散步,以便在遇到小问题无法解决时清理思绪。这样的时刻常常带来清晰的思考,让过去的经历逐一浮现。
不久前,我听到有人辞职的理由是:
*“我离开是为了做我热爱的事。”*
这并没有什么本质上的错误。对某事充满热情显示了热忱,拥有自己的方向无疑是值得钦佩的。
然而,我注意到,每当人们以这个理由离开时,他们的离去往往令人感到遗憾。这是因为大多数人并没有在当前的角色中真正全力以赴。
---
## 如果你只专注于“你热爱的事”而不是你的工作角色呢?
公司的工作任务并不总是我们自己选择的。然而,“角色”的存在不仅仅是为了个人,而是为了组织和团队的和谐。你如何接受这个角色成为你*专业能力和协作技能*的衡量标准。
有人可能会说:
> “我感觉被迫进入一个我不在乎的领域。”
> “我想在我真正擅长的领域得到正确的评估。”
我理解这些感受。但你有没有问过自己:
> *“我在被赋予的职位上真的尽力了吗?”*
让我们诚实地说:
> *“那些逃避当前责任的人往往在新环境中也会因同样的原因再次离开。”*
---
## 真正的专业人士在当前舞台上闪耀
在我身边有一些人,尽管不在前端角色,却帮助同事并主动寻找组织所需的任务。他们毫不犹豫地接受任何技术,并灵活地突破自己的界限——因此得到了认可。
其中一位甚至通过这些努力获得了晋升,现在领导一个重大项目的前端部分,工作比任何人都更努力。
我记得他们说过:
> “即使你当前的工作并不是你所渴望的,在其中创造自己的价值可以开启比你梦想的更广阔的道路。”
---
## “逃避”不是方向,而是停滞不前
“我离开是为了寻找我热爱的事。”如果这出于真诚的意图,我真的想支持它。
但现实是残酷的:
> *“无法对当前任务负责的人,在新环境中也难以发光。”*
> *“如果天堂在你逃避的地方,那些履行责任的人早已创造了它。”*
---
## “你热爱的事”应该是你努力的结果,而不是逃避
说*“我离开是为了做我热爱的事”*并没有本质上的错误。
然而,当有人在辞职时说出这句话,而他们并没有尽全力时,这听起来更像是*逃避的借口*,而不是一个大胆的新挑战。
---
## 对于那些在岗位上坚持的人
有些人会被认可,有些人会离开。
但留下来的人明白:
> *谁是真正准备好的。*
> *谁最终会坚持下来。*
那些在当前职位上全力以赴的人,即使不离开,也会做他们想做的事。
---
## 现在,对那些坚持的人说
如今的就业市场远非易事。职位发布减少,竞争更加激烈,许多人感到迷茫和疲惫。
但请记住:
> *“你今天投入的每一分努力都不会白费。”*
> 你现在所做的工作,虽然看不见,毫无疑问正在帮助你成长。
我希望你不要放弃,直到找到可以证明自己的舞台——当你踏上这个舞台时,*你将自信地闪耀*。
那些坚持到最后的人将会找到机会。
而那些准备好的人将会抓住它。
*向今天坚守岗位的每一个人致以衷心的掌声。*
*保持坚强。你的道路一定在前方。*
最近我通过视频和在线课程学习很多,但我对他们使用的视频播放器的糟糕用户体验感到非常沮丧。暂停视频时,整个屏幕会出现黑色半透明的覆盖层,暂停和导航控制恰好遮住了我想要更清楚查看的内容,无法放大,滚动和拖动非常痛苦,切换播放速度也很麻烦,视频中没有书签功能……我理解这些在观看电影时可能是合理的,但在观看教程或其他需要频繁暂停和重播的内容时,这些设计就显得毫无意义了。那么,有人知道更好的解决方案吗?
专有数据集的市场价格是多少?例如,如果有人将N*1000本书进行了数字化和光学字符识别(OCR),而这些书籍是针对一种低资源语言(在其他地方无法获得)的。
有没有人能帮我弄清楚这个问题?