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:
Anush
2025-04-15 18:20:05 +05:30
committed by GitHub
parent b7e4489173
commit 08c316fe96
3 changed files with 155 additions and 0 deletions
@@ -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)