diff --git a/qdrant-landing/content/documentation/frameworks/semantic-router.md b/qdrant-landing/content/documentation/frameworks/semantic-router.md new file mode 100644 index 000000000..9a8e30db9 --- /dev/null +++ b/qdrant-landing/content/documentation/frameworks/semantic-router.md @@ -0,0 +1,105 @@ +--- +title: Semantic-Router +weight: 2700 +--- + +# Semantic-Router + +[Semantic-Router](https://www.aurelio.ai/semantic-router/) is a library to build decision-making layers for your LLMs and agents. It uses vector embeddings to make tool-use decisions rather than LLM generations, routing our requests using semantic meaning. + +Qdrant is available as a supported index in Semantic-Router for you to ingest route data and perform retrievals. + +## Installation + +To use Semantic-Router with Qdrant, install the `qdrant` extra: + +```console +pip install semantic-router[qdrant] +``` + +## Usage + +Set up `QdrantIndex` with the appropriate configurations: + +```python +from semantic_router.index import QdrantIndex + +qdrant_index = QdrantIndex( + url="https://xyz-example.eu-central.aws.cloud.qdrant.io", api_key="" +) +``` + +Once the Qdrant index is set up with the appropriate configurations, we can pass it to the `RouteLayer`. + +```python +from semantic_router.layer import RouteLayer + +RouteLayer(encoder=some_encoder, routes=some_routes, index=qdrant_index) +``` + +## Complete Example + +
+ +Click to expand + +```python +import os + +from semantic_router import Route +from semantic_router.encoders import OpenAIEncoder +from semantic_router.index import QdrantIndex +from semantic_router.layer import RouteLayer + +# we could use this as a guide for our chatbot to avoid political conversations +politics = Route( + name="politics value", + utterances=[ + "isn't politics the best thing ever", + "why don't you tell me about your political opinions", + "don't you just love the president", + "they're going to destroy this country!", + "they will save the country!", + ], +) + +# this could be used as an indicator to our chatbot to switch to a more +# conversational prompt +chitchat = Route( + name="chitchat", + utterances=[ + "how's the weather today?", + "how are things going?", + "lovely weather today", + "the weather is horrendous", + "let's go to the chippy", + ], +) + +# we place both of our decisions together into single list +routes = [politics, chitchat] + +os.environ["OPENAI_API_KEY"] = "" +encoder = OpenAIEncoder() + +rl = RouteLayer( + encoder=encoder, + routes=routes, + index=QdrantIndex(location=":memory:"), +) + +print(rl("What have you been upto?").name) +``` + +This returns: + +```console +[Out]: 'chitchat' +``` + +
+ +## 📚 Further Reading + +- Semantic-Router [Documentation](https://github.com/aurelio-labs/semantic-router/tree/main/docs) +- Semantic-Router [Video Course](https://www.aurelio.ai/course/semantic-router) diff --git a/qdrant-landing/content/documentation/frameworks/spark.md b/qdrant-landing/content/documentation/frameworks/spark.md index d1e289f76..877bea0db 100644 --- a/qdrant-landing/content/documentation/frameworks/spark.md +++ b/qdrant-landing/content/documentation/frameworks/spark.md @@ -244,5 +244,6 @@ Qdrant supports all the Spark data types, and the appropriate data types are map | `sparse_vector_index_fields` | Comma-separated names of columns holding the sparse vector indices. | `ArrayType(IntegerType)` | ❌ | | `sparse_vector_value_fields` | Comma-separated names of columns holding the sparse vector values. | `ArrayType(FloatType)` | ❌ | | `sparse_vector_names` | Comma-separated names of the sparse vectors in the collection. | - | ❌ | +| `shard_key_selector` | Comma-separated names of custom shard keys to use during upsert. | - | ❌ | For more information, be sure to check out the [Qdrant-Spark GitHub repository](https://github.com/qdrant/qdrant-spark). The Apache Spark guide is available [here](https://spark.apache.org/docs/latest/quick-start.html). Happy data processing! diff --git a/qdrant-landing/static/documentation/frameworks/semantic-router-social-preview.png b/qdrant-landing/static/documentation/frameworks/semantic-router-social-preview.png new file mode 100644 index 000000000..e18864c7d Binary files /dev/null and b/qdrant-landing/static/documentation/frameworks/semantic-router-social-preview.png differ