[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-redis-vector-search-quick-start-guide-zh":3,"tags-redis-vector-search-quick-start-guide-zh":33,"related-lang-redis-vector-search-quick-start-guide-zh":48,"related-posts-redis-vector-search-quick-start-guide-zh":52,"series-tools-4aa53f25-2206-4632-b428-84fc839b9794":89},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":21,"translated_content":10,"views":22,"is_premium":23,"created_at":24,"updated_at":24,"cover_image":11,"published_at":25,"rewrite_status":26,"rewrite_error":10,"rewritten_from_id":27,"slug":28,"category":29,"related_article_id":30,"status":31,"google_indexed_at":32,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":23},"4aa53f25-2206-4632-b428-84fc839b9794","Redis 向量搜尋快速上手","\u003Cp>Redis 早就不只拿來快取。它現在也能存向量、放 metadata，還能直接做語意查詢。講白了，就是把搜尋、資料、速度放在同一個系統裡。\u003C\u002Fp>\u003Cp>這篇 quick start 的重點很實際。你可以把文件轉成 embeddings，再丟進 Redis 做 KNN 查詢。整條流程從資料寫入到查詢結果，幾乎都在同一套工具鏈內完成。\u003C\u002Fp>\u003Cp>如果你的服務本來就靠 Redis 撐 session、queue 或排行榜，這招很值得看。少一個外部系統，通常就少一些維運麻煩。說真的，對開發者來說這很有感。\u003C\u002Fp>\u003Ch2>Redis 在這篇指南到底做了什麼\u003C\u002Fh2>\u003Cp>這份教學的流程很直白。先載入文件，再產生 embeddings，接著寫進 Redis，然後建立索引，最後跑查詢。整個路徑不是紙上談兵，是可以直接跑的範例。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776126124430-awwk.png\" alt=\"Redis 向量搜尋快速上手\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>它用的是 \u003Ca href=\"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Finteract\u002Fsearch-and-query\u002Fvector-search\u002F\" target=\"_blank\" rel=\"noopener\">Redis Stack vector search\u003C\u002Fa>。P\u003Ca href=\"\u002Fnews\u002Fanthropic-mythos-pr-battle-ai-risk-zh\">ytho\u003C\u002Fa>n 端則搭配 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredis\u002Fredis-py\" target=\"_blank\" rel=\"noopener\">redis-py\u003C\u002Fa>。如果你想處理向量工作流，還有 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredis\u002Fredisvl\" target=\"_blank\" rel=\"noopener\">RedisVL\u003C\u002Fa> 可以用。\u003C\u002Fp>\u003Cp>這種寫法的好處很明確。你不用先搬資料到另一個向量資料庫。文件、metadata、向量可以放一起，查詢時也能一起處理。對 RAG 或推薦系統來說，這很省事。\u003C\u002Fp>\u003Cul>\u003Cli>資料型態：文字、圖片、影片、音訊\u003C\u002Fli>\u003Cli>儲存方式：JSON 或 hash 搭配 vector field\u003C\u002Fli>\u003Cli>搜尋方式：用 embedding 做語意相似度比對\u003C\u002Fli>\u003Cli>索引方式：Redis Search 建 secondary index\u003C\u002Fli>\u003Cli>查詢方式：KNN，找最近鄰結果\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>為什麼 embeddings 會改變搜尋玩法\u003C\u002Fh2>\u003Cp>Embeddings 的本質，就是把內容轉成數字向量。這些數字會保留語意關係。像「car repair」跟「automotive mai\u003Ca href=\"\u002Fnews\u002Fuk-regulators-assess-anthropic-model-risks-zh\">nt\u003C\u002Fa>enance」，字面不一樣，但向量距離可能很近。\u003C\u002Fp>\u003Cp>Redis 的做法不是在「理解」語言。它只是很會比距離。可是在很多產品場景裡，這就夠用了。搜尋結果比較像人話，空結果也會少很多。\u003C\u002Fp>\u003Cp>在這篇流程裡，Redis 也把 metadata 一起留著。你可以先用欄位條件過濾，再做向量搜尋。像是先篩地區、日期、分類，再找最接近的內容。這比把資料拆到多個系統乾淨很多。\u003C\u002Fp>\u003Cblockquote>“The best way to predict the future is to invent it.” — Alan Kay\u003C\u002Fblockquote>\u003Cp>這句話放在這裡很貼。因為這套流程不是空談 AI。它就是讓你把資料丟進去，立刻看搜尋結果，再調模型或 schema。\u003C\u002Fp>\u003Cp>對工程團隊來說，這種迭代方式很務實。你不用先把整個架構想得很神。先跑起來，再看 recall 和 latency，通常更有效。\u003C\u002Fp>\u003Ch2>這份 quick start 的實作路線\u003C\u002Fh2>\u003Cp>教學先從安裝套件和連線開始。你會看到 Python virtual environment、pip、Redis Cloud 或本機 Redis 的設定。接著載入 demo dataset，檢查一筆文件，然後寫入資料。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776126117301-wkkj.png\" alt=\"Redis 向量搜尋快速上手\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>之後它會建立索引。常見指令像 \u003Ca href=\"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Fft.create\u002F\" target=\"_blank\" rel=\"noopener\">FT.CREATE\u003C\u002Fa> 和 \u003Ca href=\"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fcommands\u002Fft.info\u002F\" target=\"_blank\" rel=\"noopener\">FT.INFO\u003C\u002Fa> 都會出現。這很像真實專案的節奏：先建表，再驗證，再查詢。\u003C\u002Fp>\u003Cp>查詢階段則是 KNN。這種查法不是找關鍵字，而是找最接近的向量。結果常會用 Pandas 表格看，方便你肉眼確認排序有沒有跑偏。\u003C\u002Fp>\u003Cul>\u003Cli>Python 套件：redis、pandas、sentence-transformers、tabulate\u003C\u002Fli>\u003Cli>資料寫入：JSON.SET 搭配 pipeline，減少來回次數\u003C\u002Fli>\u003Cli>索引類型：FLAT vector index，距離計算用 COSINE\u003C\u002Fli>\u003Cli>驗證工具：FT.INFO 看索引狀態與統計\u003C\u002Fli>\u003Cli>查詢方式：FT.SEARCH 搭配 KNN\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>向量搜尋和傳統搜尋差在哪\u003C\u002Fh2>\u003Cp>傳統關鍵字搜尋很直接。你輸入什麼，它就找什麼。這種方式對精準詞彙很有用，但對同義詞、改寫句、自然語言問題，常常不夠聰明。\u003C\u002Fp>\u003Cp>向量搜尋走的是另一條路。它看的是語意距離，不是字面是否完全相同。這讓它很適合做知識庫搜尋、客服檢索、RAG 前置 retrieval。\u003C\u002Fp>\u003Cp>如果你在挑工具，Redis 不是唯一選項。你也可以看 \u003Ca href=\"https:\u002F\u002Fwww.pinecone.io\u002F\" target=\"_blank\" rel=\"noopener\">Pinecone\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fqdrant.tech\u002F\" target=\"_blank\" rel=\"noopener\">Qdrant\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fweaviate.io\u002F\" target=\"_blank\" rel=\"noopener\">Weaviate\u003C\u002Fa>。但 Redis 的強項是，它把向量搜尋放進你可能已經在用的資料層。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fredis.io\u002F\" target=\"_blank\" rel=\"noopener\">Redis\u003C\u002Fa>：適合已經有 Redis，想把 vectors 一起放進來\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.pinecone.io\u002F\" target=\"_blank\" rel=\"noopener\">Pinecone\u003C\u002Fa>：專注 similarity search，管理型服務成熟\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fqdrant.tech\u002F\" target=\"_blank\" rel=\"noopener\">Qdrant\u003C\u002Fa>：開源取向，偏 retrieval-first\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fweaviate.io\u002F\" target=\"_blank\" rel=\"noopener\">Weaviate\u003C\u002Fa>：schema 和 semantic search 整合度高\u003C\u002Fli>\u003C\u002Ful>\u003Cp>我自己的看法很簡單。若你的系統本來就靠 Redis，先試 Redis 很合理。若你的核心工作就是大規模向量檢索，那專用向量資料庫還是值得比較。不要只看流行度，要看延遲和維運成本。\u003C\u002Fp>\u003Ch2>這和 RAG、推薦系統的關係\u003C\u002Fh2>\u003Cp>這份指南真正有用的地方，在於它很像 RAG 的最小可行版本。你先把文件切好，再轉成 embeddings，然後用向量搜尋找回最相關的片段。後面接 LLM，就能做問答或摘要。\u003C\u002Fp>\u003Cp>推薦系統也能吃這套。商品描述、文章內容、影片字幕，都可以轉成向量。再搭配分類、時間、地區等欄位，就能做出比較像人類搜尋習慣的結果。\u003C\u002Fp>\u003Cp>產業上，這類做法會越來越常見，原因很土炮也很現實。大家都想少搬一次資料。少一個系統，就少一次同步、少一份監控、少一堆權限設定。工程師通常會很買單。\u003C\u002Fp>\u003Cp>如果你要追一個實作方向，我會建議先做這三件事：先用自己的資料跑一次 quick start，再量 latency，再比 recall。不要只看 demo 跑得順不順，真實資料才會露出問題。\u003C\u002Fp>\u003Ch2>我怎麼看 Redis 這條路\u003C\u002Fh2>\u003Cp>Redis 做向量搜尋，不是要取代所有向量資料庫。它比較像是把一個本來就很快的資料層，順手加上語意檢索能力。這對中小型產品很實用。\u003C\u002Fp>\u003Cp>從架構角度看，這種整合式做法很有吸引力。你可以把 session、cache、metadata、vector 放在同一套系統。對團隊來說，學習成本和維運成本都比較低。\u003C\u002Fp>\u003Cp>但我也不會講得太美。Redis 不是萬用解。當你的向量量級很大，或檢索需求很複雜，專門做向量的方案可能更合適。重點是先知道自己要的是什麼。\u003C\u002Fp>\u003Ch2>接下來該怎麼試\u003C\u002Fh2>\u003Cp>如果你手上有一個搜尋功能，我會建議先拿 \u003Ca href=\"\u002Fnews\u002Fibm-100b-vector-database-single-server-zh\">1000\u003C\u002Fa> 筆資料做測試。把關鍵字搜尋和向量搜尋都跑一次。看哪個結果比較接近使用者想要的答案。\u003C\u002Fp>\u003Cp>再來是調 embedding model。不同模型的效果差很多。你可能會發現，同樣是 768 維向量，搜尋品質卻差一截。這種差異，實測比猜測有用。\u003C\u002Fp>\u003Cp>講白了，Redis 這篇 quick start 的價值不在語法，而在路線。它告訴你，語意搜尋可以很快落地。下一步不是空想，而是把自己的資料丟進去測。","Redis 不只拿來快取。這篇看它怎麼存 embeddings、建索引、跑 KNN 查詢，順手把語意搜尋和 RAG 的實作路徑講清楚。","redis.io","https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fget-started\u002Fvector-database\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776126124430-awwk.png",[13,14,15,16,17,18,19,20],"Redis","向量搜尋","Embedding","KNN","RAG","語意搜尋","Redis Stack","RedisVL","zh",2,false,"2026-04-14T00:21:38.036845+00:00","2026-04-14T00:21:37.898+00:00","done","9a096e6f-5a0c-407a-be66-ab475e1283c9","redis-vector-search-quick-start-guide-zh","tools","d8842ead-9fef-4e1c-85b9-bc1426f717fc","published","2026-04-14T09:00:10.431+00:00",[34,36,37,39,40,42,44,46],{"name":17,"slug":35},"rag",{"name":18,"slug":18},{"name":19,"slug":38},"redis-stack",{"name":14,"slug":14},{"name":20,"slug":41},"redisvl",{"name":13,"slug":43},"redis",{"name":16,"slug":45},"knn",{"name":47,"slug":47},"embedding",{"id":30,"slug":49,"title":50,"language":51},"redis-vector-search-quick-start-guide-en","Redis Vector Search: Quick Start Guide Explained","en",[53,59,65,71,77,83],{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":29},"d058a76f-6548-4135-8970-f3a97f255446","why-gemini-api-pricing-is-cheaper-than-it-looks-zh","為什麼 Gemini API 定價其實比看起來更便宜","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778869845081-j4m7.png","2026-05-15T18:30:25.797639+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":29},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":29},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":29},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":78,"slug":79,"title":80,"cover_image":81,"image_url":81,"created_at":82,"category":29},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":84,"slug":85,"title":86,"cover_image":87,"image_url":87,"created_at":88,"category":29},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",[90,95,100,105,110,115,120,125,130,135],{"id":91,"slug":92,"title":93,"created_at":94},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":136,"slug":137,"title":138,"created_at":139},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]