Skip to content

Commit c7def8b

Browse files
committed
fix(blog-announce): typos
Signed-off-by: Alex C-G <alexcg@outlook.com>
1 parent 9128b22 commit c7def8b

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

blog/01-announcement.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
21
# DocArray v2: What and Why
32

43
DocArray has had a good run so far: Since being spun out of Jina ten months ago, the project has seen 141 releases, integrated six external storage backends, attracted contributors from five companies, and collected 1.4k GitHub stars.
54

6-
And yet we feel like we have to bring some big changes to the library in order to make it what we want it to be: the go-to solution for modelling, sending, and storing mulit-modal data, with a particular soft spot for ML and neural search applications.
5+
And yet we feel like we have to bring some big changes to the library in order to make it what we want it to be: the go-to solution for modelling, sending, and storing multi-modal data, with a particular soft spot for ML and neural search applications.
76

87
The purpose of this post is to outline the technical reasons for this transition, from the perspective of us, the maintainers.
9-
You might als be interested in a slightly different persepective, the one of Han Xiao, CEO of Jina AI and originator of DocArray. You can find his blog post [here](https://jina.ai/news/donate-docarray-lf-for-inclusive-standard-multimodal-data-model/).
8+
You might also be interested in a slightly different perspective, the one of Han Xiao, CEO of Jina AI and originator of DocArray. You can find his blog post [here](https://jina.ai/news/donate-docarray-lf-for-inclusive-standard-multimodal-data-model/).
109

1110
If you are interested in the progress of the rewrite itself, you can follow along on our [public roadmap](https://github.com/docarray/docarray/issues/780).
1211

@@ -90,7 +89,7 @@ from docarray import DocumentArray
9089
da = DocumentArray([MyDoc(txt='hi there!' for _ in range(10)])
9190
```
9291

93-
However, the commiment to a dataclass-like interface allows for DocumentArrays that are typed by a specific schema:
92+
However, the commitment to a dataclass-like interface allows for DocumentArrays that are typed by a specific schema:
9493

9594
```python
9695
da = DocumentArray[MyDoc]([MyDoc(txt='hi there!' for _ in range(10)])
@@ -188,24 +187,24 @@ This offers a lot of convenience for simple use cases, but the conflation of the
188187
- It is not always clear what data is on disk, and what data is in memory
189188
- Not all in-place operations on a DocumentArray are automatically reflected in the associated DB, while others are. This is due to the fact that some operations load data into memory before the manipulation happens, and means that a deep understanding of DocArray is necessary to know what is going on
190189
- Supporting list-like operations on a DB-like object carries overhead with little benefit
191-
- It is difficutl to expose all the power and flexibility of various vector DBs throught the `DocumentArray` API
190+
- It is difficult to expose all the power and flexibility of various vector DBs through the `DocumentArray` API
192191

193-
All of the problems above currently make it difficult to use bector DBs through DocArray in production.
194-
Disentangling the concepts of `DocumentArray` and `DocumentStore` will give more transparancy to the user, and more flexibility to the contributors, while directly solving most of the above.
192+
All of the problems above currently make it difficult to use vector DBs through DocArray in production.
193+
Disentangling the concepts of `DocumentArray` and `DocumentStore` will give more transparency to the user, and more flexibility to the contributors, while directly solving most of the above.
195194

196195
## The Why: Web Application Perspective
197196

198197
Currently it is possible to use DocArray in combination with FastAPI and other web frameworks, as it already provides a translation to Pydantic.
199198
However, this integration is not without friction:
200199

201200
- Since currently every Document follows the same schema, as Document payload cannot be customized
202-
- This means that one is forced to create payload with (potentially many) empy and unused fields
201+
- This means that one is forced to create payload with (potentially many) empty and unused fields
203202
- While at the same time, there is no natural way to add new fields
204203
- Sending requests from programming languages other than Python requires the user to recreated the Document's structure, needlessly
205204

206205
By switching to a dataclass-first approach with Pydantic as a fundamental building block, we are able to ease all of these pains:
207206

208-
- Fiels are completely customizable
207+
- Fields are completely customizable
209208
- Every `Document` is also a Pydantic model, enabling amazing support for FastAPI and other tools
210209
- Creating payloads from other programming languages is as easy as creating a dictionary with the same fields as the dataclass - same workflow as with normal Pydantic
211210

@@ -219,7 +218,7 @@ With this in mind, DocArray v2 can offer the following improvements
219218
- It is no longer needed to re-create the predefined Document structure in your Protobuf definitions
220219
- For every microservice, the Document schema can function as requirement or contract about the input and output data of that particular microservice
221220

222-
Currently, a DocArray-based microservice architecture will usally rely on `Document` being the unified input and output for all microservices. So there might be concern here: Won't this new, more flexible structure create a huge mess where microservices cannot rely on anything?
221+
Currently, a DocArray-based microservice architecture will usually rely on `Document` being the unified input and output for all microservices. So there might be concern here: Won't this new, more flexible structure create a huge mess where microservices cannot rely on anything?
223222
We argue the opposite! In complex real-life settings, it is often the case that input and output Documents heavily rely on the `.chunks` field to represent nested data. Therefore, it is already unclear what exact data model can be expected.
224223
The shift to a dataclass-first approach allows you to make all of these (nested) data models explicit instead of implicit, leading to _more_ interoperability between microservices, not less.
225224

0 commit comments

Comments
 (0)