mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-03 01:48:32 +02:00
docs: Dagster.io, Solon integrations (#1533)
* docs: Dagster integration Signed-off-by: Anush008 <anushshetty90@gmail.com> * docs: Solon Signed-off-by: Anush008 <anushshetty90@gmail.com> * Update dagster.md --------- Signed-off-by: Anush008 <anushshetty90@gmail.com>
This commit is contained in:
@@ -13,6 +13,7 @@ partition: build
|
||||
| [Canopy](/documentation/frameworks/canopy/) | Framework from Pinecone for building RAG applications using LLMs and knowledge bases. |
|
||||
| [Cheshire Cat](/documentation/frameworks/cheshire-cat/) | Framework to create personalized AI assistants using custom data. |
|
||||
| [CrewAI](/documentation/frameworks/crewai/) | CrewAI is a framework to build automated workflows using multiple AI agents that perform complex tasks. |
|
||||
| [Dagster](/documentation/frameworks/dagster/) | Python framework for data orchestration with integrated lineage, observability. |
|
||||
| [DeepEval](/documentation/frameworks/deepeval/) | Python framework for testing large language model systems. |
|
||||
| [DocArray](/documentation/frameworks/docarray/) | Python library for managing data in multi-modal AI applications. |
|
||||
| [DSPy](/documentation/frameworks/dspy/) | Framework for algorithmically optimizing LM prompts and weights. |
|
||||
@@ -38,6 +39,7 @@ partition: build
|
||||
| [Rig-rs](/documentation/frameworks/rig-rs/) | Rust library for building scalable, modular, and ergonomic LLM-powered applications. |
|
||||
| [Semantic Router](/documentation/frameworks/semantic-router/) | Python library to build a decision-making layer for AI applications using vector search. |
|
||||
| [SmolAgents](/documentation/frameworks/smolagents/) | Barebones library for agents. Agents write python code to call tools and orchestrate other agent. |
|
||||
| [Solon](/documentation/frameworks/solon/) | A lightweight, high-performance Java enterprise framework |
|
||||
| [Spring AI](/documentation/frameworks/spring-ai/) | Java AI framework for building with Spring design principles such as portability and modular design. |
|
||||
| [Superduper](/documentation/frameworks/superduper/) | Framework for building flexible, compositional AI apps which may be applied directly to databases. |
|
||||
| [Swarm](/documentation/frameworks/swarm/) | Python framework for managing multiple AI agents that can work together. |
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: Dagster
|
||||
---
|
||||
|
||||
# Dagster
|
||||
|
||||
[Dagster](https://dagster.io) is a Python framework for data orchestration built for data engineers, with integrated lineage, observability, a declarative programming model, and best-in-class testability.
|
||||
|
||||
The `dagster-qdrant` library lets you integrate Qdrant's vector database with Dagster, making it easy to build AI-driven data pipelines. You can run vector searches and manage data directly within Dagster.
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
pip install dagster dagster-qdrant
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
```py
|
||||
from dagster_qdrant import QdrantConfig, QdrantResource
|
||||
|
||||
import dagster as dg
|
||||
|
||||
|
||||
@dg.asset
|
||||
def my_table(qdrant_resource: QdrantResource):
|
||||
with qdrant_resource.get_client() as qdrant:
|
||||
qdrant.add(
|
||||
collection_name="test_collection",
|
||||
documents=[
|
||||
"This is a document about oranges",
|
||||
"This is a document about pineapples",
|
||||
"This is a document about strawberries",
|
||||
"This is a document about cucumbers",
|
||||
],
|
||||
)
|
||||
results = qdrant.query(
|
||||
collection_name="test_collection", query_text="hawaii", limit=3
|
||||
)
|
||||
|
||||
|
||||
defs = dg.Definitions(
|
||||
assets=[my_table],
|
||||
resources={
|
||||
"qdrant_resource": QdrantResource(
|
||||
config=QdrantConfig(
|
||||
host="xyz-example.eu-central.aws.cloud.qdrant.io",
|
||||
api_key="<your-api-key>",
|
||||
)
|
||||
)
|
||||
},
|
||||
)
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
- Dagster [documentation](https://docs.dagster.io)
|
||||
|
||||
- Dagster [examples](https://github.com/dagster-io/dagster/tree/b985d57aadc7d9bf88d8dcbd32b16d3487e433cc/examples)
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: Solon
|
||||
---
|
||||
|
||||
# Solon
|
||||
|
||||
[Solon](https://solon.noear.org) is a lightweight, high-performance Java enterprise framework designed for efficient, eco-friendly development. It enhances concurrency, reduces memory usage, speeds up startup, minimizes packaging size, and supports Java 8 to Java 23, offering a flexible alternative to Spring.
|
||||
|
||||
Qdrant is available as a component in Solon-AI for efficient vector indexing and retrievals.
|
||||
|
||||
## Installation
|
||||
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>org.noear</groupId>
|
||||
<artifactId>solon-ai-repo-qdrant</artifactId>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
This is the main extension plugin for **solon-ai**, which provides the `QdrantRepository` knowledge base.
|
||||
|
||||
## Configuration
|
||||
|
||||
When using `QdrantRepository`, an embedding model needs to be configured.
|
||||
|
||||
```yaml
|
||||
solon.ai.embed:
|
||||
bgem3:
|
||||
apiUrl: "http://127.0.0.1:11434/api/embed"
|
||||
provider: "ollama"
|
||||
model: "bge-m3:latest"
|
||||
|
||||
solon.ai.repo:
|
||||
qdrant:
|
||||
host: "localhost"
|
||||
port: 6334
|
||||
useSsl: false
|
||||
```
|
||||
|
||||
You can now instantiate the embedding model and Qdrant.
|
||||
|
||||
```java
|
||||
@Configuration
|
||||
public class DemoConfig {
|
||||
|
||||
// Create the embedding model
|
||||
@Bean
|
||||
public EmbeddingModel embeddingModel(@Inject("${solon.ai.embed.bgem3}") EmbeddingConfig config) {
|
||||
return EmbeddingModel.of(config).build();
|
||||
}
|
||||
|
||||
// Configure the QdrantClient using QdrantGrpcClient
|
||||
@BindProps(prefix = "solon.ai.repo.qdrant")
|
||||
@Bean
|
||||
public QdrantClient qdrantClient(@Value("${solon.ai.repo.qdrant.host}") String host,
|
||||
@Value("${solon.ai.repo.qdrant.port}") int port,
|
||||
@Value("${solon.ai.repo.qdrant.useSsl}") boolean useSsl) {
|
||||
return new QdrantClient(
|
||||
QdrantGrpcClient.newBuilder(host, port, useSsl).build()
|
||||
);
|
||||
}
|
||||
|
||||
// Initialize the Qdrant knowledge base
|
||||
@Bean
|
||||
public QdrantRepository repository(EmbeddingModel embeddingModel, QdrantClient client) {
|
||||
return new QdrantRepository(embeddingModel, client);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```java
|
||||
@Component
|
||||
public class DemoService {
|
||||
@Inject
|
||||
private QdrantRepository repository;
|
||||
|
||||
// Add documents to the repository
|
||||
public void addDocument(List<Document> docs) {
|
||||
repository.insert(docs);
|
||||
}
|
||||
|
||||
// Search for documents based on a query
|
||||
public List<Document> findDocument(String query) {
|
||||
return repository.search(query);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
- Solon [Documentation](https://solon.noear.org).
|
||||
- Solon [Source](https://github.com/opensolon/solon)
|
||||
Reference in New Issue
Block a user