<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>User Guides on Docs</title>
    <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/</link>
    <description>Recent content in User Guides on Docs</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Getting Started with RedisVL</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/getting_started/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/getting_started/</guid>
      <description>&lt;p&gt;&lt;code&gt;redisvl&lt;/code&gt; is a versatile Python library with an integrated CLI, designed to enhance AI applications using Redis. This guide will walk you through the following steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Defining an &lt;code&gt;IndexSchema&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Preparing a sample dataset&lt;/li&gt;&#xA;&lt;li&gt;Creating a &lt;code&gt;SearchIndex&lt;/code&gt; object&lt;/li&gt;&#xA;&lt;li&gt;Testing &lt;code&gt;rvl&lt;/code&gt; CLI functionality&lt;/li&gt;&#xA;&lt;li&gt;Loading the sample data&lt;/li&gt;&#xA;&lt;li&gt;Building &lt;code&gt;VectorQuery&lt;/code&gt; objects and executing searches&lt;/li&gt;&#xA;&lt;li&gt;Updating a &lt;code&gt;SearchIndex&lt;/code&gt; object&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;...and more!&lt;/p&gt;&#xA;&lt;p&gt;Prerequisites:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure &lt;code&gt;redisvl&lt;/code&gt; is installed in your Python environment.&lt;/li&gt;&#xA;&lt;li&gt;Have a running instance of &lt;a href=&#34;https://redis.io/docs/install/install-stack/&#34;&gt;Redis Stack&lt;/a&gt; or &lt;a href=&#34;https://redis.io/cloud&#34;&gt;Redis Cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;define-an-indexschema&#34; class=&#34;group relative&#34;&gt;&#xA;  Define an &lt;code&gt;IndexSchema&lt;/code&gt;&#xA;  &lt;a href=&#34;#define-an-indexschema&#34; class=&#34;header-link opacity-0 group-hover:opacity-100 transition-opacity duration-200 ml-1 align-baseline&#34; aria-label=&#34;Link to this section&#34; title=&#34;Copy link to clipboard&#34;&gt;&#xA;    &lt;svg class=&#34;inline-block w-4 h-4 align-baseline&#34; fill=&#34;currentColor&#34; viewBox=&#34;0 0 20 20&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path fill-rule=&#34;evenodd&#34; d=&#34;M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z&#34; clip-rule=&#34;evenodd&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;IndexSchema&lt;/code&gt; maintains crucial &lt;strong&gt;index configuration&lt;/strong&gt; and &lt;strong&gt;field definitions&lt;/strong&gt; to&#xA;enable search with Redis. For ease of use, the schema can be constructed from a&#xA;python dictionary or yaml file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Querying with RedisVL</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/hybrid_queries/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/hybrid_queries/</guid>
      <description>&lt;p&gt;In this notebook, we will explore more complex queries that can be performed with &lt;code&gt;redisvl&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Before running this notebook, be sure to&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have installed &lt;code&gt;redisvl&lt;/code&gt; and have that environment active for this notebook.&lt;/li&gt;&#xA;&lt;li&gt;Have a running Redis instance with RediSearch &amp;gt; 2.4 running.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;pickle&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;jupyterutils&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;table_print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result_print&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# load in the example data and printing utils&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pickle&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;load&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;hybrid_example_data.pkl&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rb&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;table_print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;user&lt;/th&gt;&lt;th&gt;age&lt;/th&gt;&lt;th&gt;job&lt;/th&gt;&lt;th&gt;credit_score&lt;/th&gt;&lt;th&gt;office_location&lt;/th&gt;&lt;th&gt;user_embedding&lt;/th&gt;&lt;th&gt;last_updated&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;john&lt;/td&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;engineer&lt;/td&gt;&lt;td&gt;high&lt;/td&gt;&lt;td&gt;-122.4194,37.7749&lt;/td&gt;&lt;td&gt;b&#39;\xcd\xcc\xcc=\xcd\xcc\xcc=\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1741627789&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;derrick&lt;/td&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;doctor&lt;/td&gt;&lt;td&gt;low&lt;/td&gt;&lt;td&gt;-122.4194,37.7749&lt;/td&gt;&lt;td&gt;b&#39;\xcd\xcc\xcc=\xcd\xcc\xcc=\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1741627789&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;nancy&lt;/td&gt;&lt;td&gt;94&lt;/td&gt;&lt;td&gt;doctor&lt;/td&gt;&lt;td&gt;high&lt;/td&gt;&lt;td&gt;-122.4194,37.7749&lt;/td&gt;&lt;td&gt;b&#39;333?\xcd\xcc\xcc=\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1710696589&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;tyler&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;td&gt;engineer&lt;/td&gt;&lt;td&gt;high&lt;/td&gt;&lt;td&gt;-122.0839,37.3861&lt;/td&gt;&lt;td&gt;b&#39;\xcd\xcc\xcc=\xcd\xcc\xcc&gt;\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1742232589&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;tim&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;dermatologist&lt;/td&gt;&lt;td&gt;high&lt;/td&gt;&lt;td&gt;-122.0839,37.3861&lt;/td&gt;&lt;td&gt;b&#39;\xcd\xcc\xcc&gt;\xcd\xcc\xcc&gt;\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1739644189&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;taimur&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;CEO&lt;/td&gt;&lt;td&gt;low&lt;/td&gt;&lt;td&gt;-122.0839,37.3861&lt;/td&gt;&lt;td&gt;b&#39;\x9a\x99\x19?\xcd\xcc\xcc=\x00\x00\x00?&#39;&lt;/td&gt;&lt;td&gt;1742232589&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;joe&lt;/td&gt;&lt;td&gt;35&lt;/td&gt;&lt;td&gt;dentist&lt;/td&gt;&lt;td&gt;medium&lt;/td&gt;&lt;td&gt;-122.0839,37.3861&lt;/td&gt;&lt;td&gt;b&#39;fff?fff?\xcd\xcc\xcc=&#39;&lt;/td&gt;&lt;td&gt;1742232589&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;schema&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;index&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user_queries&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;prefix&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user_queries_docs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;storage_type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;hash&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# default setting -- HASH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;fields&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;credit_score&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;job&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;age&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;last_updated&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;numeric&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;office_location&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;geo&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user_embedding&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;vector&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;s2&#34;&gt;&amp;#34;attrs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;dims&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;distance_metric&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;cosine&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;algorithm&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;flat&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;s2&#34;&gt;&amp;#34;datatype&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;float32&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;redisvl.index&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SearchIndex&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# construct a search index from the schema&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SearchIndex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;from_dict&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;schema&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;redis_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;redis://localhost:6379&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create the index (no data yet)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;create&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;overwrite&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# use the CLI to see the created index&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;!&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rvl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;listall&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;13:00:56 [RedisVL] INFO   Indices:&#xA;13:00:56 [RedisVL] INFO   1. user_queries&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# load data to redis&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;keys&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;load&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;num_docs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;7&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;hybrid-queries&#34; class=&#34;group relative&#34;&gt;&#xA;  Hybrid Queries&#xA;  &lt;a href=&#34;#hybrid-queries&#34; class=&#34;header-link opacity-0 group-hover:opacity-100 transition-opacity duration-200 ml-1 align-baseline&#34; aria-label=&#34;Link to this section&#34; title=&#34;Copy link to clipboard&#34;&gt;&#xA;    &lt;svg class=&#34;inline-block w-4 h-4 align-baseline&#34; fill=&#34;currentColor&#34; viewBox=&#34;0 0 20 20&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path fill-rule=&#34;evenodd&#34; d=&#34;M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z&#34; clip-rule=&#34;evenodd&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Hybrid queries are queries that combine multiple types of filters. For example, you may want to search for a user that is a certain age, has a certain job, and is within a certain distance of a location. This is a hybrid query that combines numeric, tag, and geographic filters.&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM Caching</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/llmcache/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/llmcache/</guid>
      <description>&lt;p&gt;This notebook demonstrates how to use RedisVL&#39;s &lt;code&gt;SemanticCache&lt;/code&gt; to cache LLM responses based on semantic similarity. Semantic caching can significantly reduce API costs and latency by retrieving cached responses for semantically similar prompts instead of making redundant API calls.&lt;/p&gt;&#xA;&lt;p&gt;Key features covered:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Basic cache operations (store, check, clear)&lt;/li&gt;&#xA;&lt;li&gt;Customizing semantic similarity thresholds&lt;/li&gt;&#xA;&lt;li&gt;TTL policies for cache expiration&lt;/li&gt;&#xA;&lt;li&gt;Performance benchmarking&lt;/li&gt;&#xA;&lt;li&gt;Access controls with tags and filters for multi-user scenarios&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Prerequisites:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure &lt;code&gt;redisvl&lt;/code&gt; is installed in your Python environment&lt;/li&gt;&#xA;&lt;li&gt;Have a running instance of &lt;a href=&#34;https://redis.io/docs/install/install-stack/&#34;&gt;Redis Stack&lt;/a&gt; or &lt;a href=&#34;https://redis.io/cloud&#34;&gt;Redis Cloud&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;OpenAI API key for the examples&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;First, we will import &lt;a href=&#34;https://platform.openai.com&#34;&gt;OpenAI&lt;/a&gt; to use their API for responding to user prompts. We will also create a simple &lt;code&gt;ask_openai&lt;/code&gt; helper method to assist.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vectorizers</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/vectorizers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/vectorizers/</guid>
      <description>&lt;p&gt;In this notebook, we will show how to use RedisVL to create embeddings using the built-in text embedding vectorizers. Today RedisVL supports:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;OpenAI&lt;/li&gt;&#xA;&lt;li&gt;HuggingFace&lt;/li&gt;&#xA;&lt;li&gt;Vertex AI&lt;/li&gt;&#xA;&lt;li&gt;Cohere&lt;/li&gt;&#xA;&lt;li&gt;Mistral AI&lt;/li&gt;&#xA;&lt;li&gt;Amazon Bedrock&lt;/li&gt;&#xA;&lt;li&gt;Bringing your own vectorizer&lt;/li&gt;&#xA;&lt;li&gt;VoyageAI&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Before running this notebook, be sure to&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have installed &lt;code&gt;redisvl&lt;/code&gt; and have that environment active for this notebook.&lt;/li&gt;&#xA;&lt;li&gt;Have a running Redis Stack instance with RediSearch &amp;gt; 2.4 active.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;For example, you can run Redis Stack locally with Docker:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hash vs JSON Storage</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/hash_vs_json/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/hash_vs_json/</guid>
      <description>&lt;p&gt;Out of the box, Redis provides a &lt;a href=&#34;https://redis.com/redis-enterprise/data-structures/&#34;&gt;variety of data structures&lt;/a&gt; that can adapt to your domain specific applications and use cases.&#xA;In this notebook, we will demonstrate how to use RedisVL with both &lt;a href=&#34;https://redis.io/docs/latest/develop/data-types/#hashes&#34;&gt;Hash&lt;/a&gt; and &lt;a href=&#34;https://redis.io/docs/latest/develop/data-types/json/&#34;&gt;JSON&lt;/a&gt; data.&lt;/p&gt;&#xA;&lt;p&gt;Before running this notebook, be sure to&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have installed &lt;code&gt;redisvl&lt;/code&gt; and have that environment active for this notebook.&lt;/li&gt;&#xA;&lt;li&gt;Have a running Redis Stack or Redis Enterprise instance with RediSearch &amp;gt; 2.4 activated.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;For example, you can run &lt;a href=&#34;https://redis.io/docs/install/install-stack/&#34;&gt;Redis Stack&lt;/a&gt; locally with Docker:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rerankers</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/rerankers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/rerankers/</guid>
      <description>&lt;p&gt;In this notebook, we will show how to use RedisVL to rerank search results&#xA;(documents or chunks or records) based on the input query. Today RedisVL&#xA;supports reranking through:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A re-ranker that uses pre-trained &lt;a href=&#34;https://sbert.net/examples/applications/cross-encoder/README.html&#34;&gt;Cross-Encoders&lt;/a&gt; which can use models from &lt;a href=&#34;https://huggingface.co/cross-encoder&#34;&gt;Hugging Face cross encoder models&lt;/a&gt; or Hugging Face models that implement a cross encoder function (&lt;a href=&#34;https://huggingface.co/BAAI/bge-reranker-base&#34;&gt;example: BAAI/bge-reranker-base&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;https://docs.cohere.com/docs/rerank-2&#34;&gt;Cohere /rerank API&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&#34;https://docs.voyageai.com/docs/reranker&#34;&gt;VoyageAI /rerank API&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Before running this notebook, be sure to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have installed &lt;code&gt;redisvl&lt;/code&gt; and have that environment active for this notebook.&lt;/li&gt;&#xA;&lt;li&gt;Have a running Redis Stack instance with RediSearch &amp;gt; 2.4 active.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;For example, you can run Redis Stack locally with Docker:&lt;/p&gt;</description>
    </item>
    <item>
      <title>LLM Message History</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/message_history/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/message_history/</guid>
      <description>&lt;p&gt;Large Language Models are inherently stateless and have no knowledge of previous interactions with a user, or even of previous parts of the current conversation. While this may not be noticeable when asking simple questions, it becomes a hindrance when engaging in long running conversations that rely on conversational context.&lt;/p&gt;&#xA;&lt;p&gt;The solution to this problem is to append the previous conversation history to each subsequent call to the LLM.&lt;/p&gt;&#xA;&lt;p&gt;This notebook will show how to use Redis to structure and store and retrieve this conversational message history.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Semantic Routing</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/semantic_router/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/semantic_router/</guid>
      <description>&lt;p&gt;RedisVL provides a &lt;code&gt;SemanticRouter&lt;/code&gt; interface to utilize Redis&#39; built-in search &amp;amp; aggregation in order to perform&#xA;KNN-style classification over a set of &lt;code&gt;Route&lt;/code&gt; references to determine the best match.&lt;/p&gt;&#xA;&lt;p&gt;This notebook will go over how to use Redis as a Semantic Router for your applications&lt;/p&gt;&#xA;&lt;h2 id=&#34;define-the-routes&#34; class=&#34;group relative&#34;&gt;&#xA;  Define the Routes&#xA;  &lt;a href=&#34;#define-the-routes&#34; class=&#34;header-link opacity-0 group-hover:opacity-100 transition-opacity duration-200 ml-1 align-baseline&#34; aria-label=&#34;Link to this section&#34; title=&#34;Copy link to clipboard&#34;&gt;&#xA;    &lt;svg class=&#34;inline-block w-4 h-4 align-baseline&#34; fill=&#34;currentColor&#34; viewBox=&#34;0 0 20 20&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path fill-rule=&#34;evenodd&#34; d=&#34;M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z&#34; clip-rule=&#34;evenodd&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Below we define 3 different routes. One for &lt;code&gt;technology&lt;/code&gt;, one for &lt;code&gt;sports&lt;/code&gt;, and&#xA;another for &lt;code&gt;entertainment&lt;/code&gt;. Now for this example, the goal here is&#xA;surely topic &amp;quot;classification&amp;quot;. But you can create routes and references for&#xA;almost anything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SVS-VAMANA Vector Search</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/svs_vamana/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/svs_vamana/</guid>
      <description>&lt;p&gt;In this notebook, we will explore SVS-VAMANA (Scalable Vector Search with VAMANA graph algorithm), a graph-based vector search algorithm that is optimized to work with compression methods to reduce memory usage. It combines the Vamana graph algorithm with advanced compression techniques (LVQ and LeanVec) and is optimized for Intel hardware.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Vamana builds a single-layer proximity graph and prunes edges during construction based on tunable parameters, similar to HNSW but with a simpler structure. The compression methods apply per-vector normalization and scalar quantization, learning parameters directly from the data to enable fast, on-the-fly distance computations with SIMD-optimized layout Vector quantization and compression.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Caching Embeddings</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/embeddings_cache/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/embeddings_cache/</guid>
      <description>&lt;p&gt;RedisVL provides an &lt;code&gt;EmbeddingsCache&lt;/code&gt; that makes it easy to store and retrieve embedding vectors with their associated text and metadata. This cache is particularly useful for applications that frequently compute the same embeddings, enabling you to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Reduce computational costs by reusing previously computed embeddings&lt;/li&gt;&#xA;&lt;li&gt;Decrease latency in applications that rely on embeddings&lt;/li&gt;&#xA;&lt;li&gt;Store additional metadata alongside embeddings for richer applications&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This notebook will show you how to use the &lt;code&gt;EmbeddingsCache&lt;/code&gt; effectively in your applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advanced Query Types</title>
      <link>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/advanced_queries/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://redis.io/docs/latest/develop/ai/redisvl/0.13.2/user_guide/advanced_queries/</guid>
      <description>&lt;p&gt;In this notebook, we will explore advanced query types available in RedisVL:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;TextQuery&lt;/code&gt;&lt;/strong&gt;: Full text search with advanced scoring&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;AggregateHybridQuery&lt;/code&gt; and &lt;code&gt;HybridQuery&lt;/code&gt;&lt;/strong&gt;: Combines text and vector search for hybrid retrieval&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;MultiVectorQuery&lt;/code&gt;&lt;/strong&gt;: Search over multiple vector fields simultaneously&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;These query types are powerful tools for building sophisticated search applications that go beyond simple vector similarity search.&lt;/p&gt;&#xA;&lt;p&gt;Prerequisites:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure &lt;code&gt;redisvl&lt;/code&gt; is installed in your Python environment.&lt;/li&gt;&#xA;&lt;li&gt;Have a running instance of &lt;a href=&#34;https://redis.io/docs/install/install-stack/&#34;&gt;Redis Stack&lt;/a&gt; or &lt;a href=&#34;https://redis.io/cloud&#34;&gt;Redis Cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;For &lt;code&gt;HybridQuery&lt;/code&gt;, we will need Redis &amp;gt;= 8.4.0 and redis-py &amp;gt;= 7.1.0.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;setup-and-data-preparation&#34; class=&#34;group relative&#34;&gt;&#xA;  Setup and Data Preparation&#xA;  &lt;a href=&#34;#setup-and-data-preparation&#34; class=&#34;header-link opacity-0 group-hover:opacity-100 transition-opacity duration-200 ml-1 align-baseline&#34; aria-label=&#34;Link to this section&#34; title=&#34;Copy link to clipboard&#34;&gt;&#xA;    &lt;svg class=&#34;inline-block w-4 h-4 align-baseline&#34; fill=&#34;currentColor&#34; viewBox=&#34;0 0 20 20&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&#xA;      &lt;path fill-rule=&#34;evenodd&#34; d=&#34;M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z&#34; clip-rule=&#34;evenodd&#34;&gt;&lt;/path&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;First, let&#39;s create a schema and prepare sample data that includes text fields, numeric fields, and vector fields.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
