Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better documentation #71

Open
andreclaudino opened this issue Oct 5, 2023 · 5 comments
Open

Better documentation #71

andreclaudino opened this issue Oct 5, 2023 · 5 comments

Comments

@andreclaudino
Copy link

I am a Rust user and I am becoming a qdrant fan. I want to use qdrant in a production project with Rust. Unfortunately I miss a beter documentation where not only examples but possibilities and how to use types are covered.

Wich are the available features of the crate, what does each function does, what each type does and how to create them from other common types like vectors and serde_json::Value, these are just some examples of questions that could be answered in a beter documentation.

I would like to help with that, but I will need the help of the developers to create that.

@agourlay agourlay changed the title Beter documentation Better documentation Oct 6, 2023
@bionicles
Copy link

bionicles commented Jan 3, 2024

These docs are sad. One example, text matching foo, bar, baz? Who maintains this? Wake up. How do you vector search to disambiguate terminology with the qdrant vector database rust client?

Without docs, this code isn't too useful. Just feel concerned because I wanted to make a demo with your crate because it's one of the only options for RAG in Rust, but after reviewing the docs and examples I'm not really feeling comfortable with this level of craftsmanship and attention to detail.

@timvisee @generall @agourlay come on! It's a developer tool, docs are a major dealbreaker for this potentially valuable project, why waste time writing code if no one but you can figure out how to use it without reverse engineering your tests and stuff?

@generall
Copy link
Member

generall commented Jan 3, 2024

Hi @bionicles, your contributions are welcome

@timvisee
Copy link
Member

timvisee commented Jan 4, 2024

Hi @bionicles. Thank you for pointing this out once again.

You're right. It isn't in the best state. Because of that we're planning to rework and polish the Rust client to make it a lot easier to work with, while maintaining minimal to no breakage each update (#87). I cannot give an estimate on this though, as we're still starting these efforts.

In the mean time I would like to point out that we recently added Rust examples everywhere in our general documentation. So I recommend to use it as resource rather than the crate documentation. For example: https://qdrant.tech/documentation/concepts/points/

@bionicles
Copy link

thank you @timvisee i'll check it out! @generall if i find anything simple and reproducible i'll be sure to include it; sadly this dataset I'm using has weird license terms so I might have difficulty sharing the test cases for the current project

@bionicles
Copy link

bionicles commented Jan 5, 2024

Try this Makefile and #![warn(missing_docs)] or #![deny(missing_docs)]

make nextest and make test / test-docs / test-stable for fast nightly / fast docs / normal tests
make watch ought to be decent for dev mode when cranking

# Parallelize Rustc: https://blog.rust-lang.org/2023/11/09/parallel-rustc.html
RUSTFLAGS_VALUES = "-Z threads=12"

.PHONY: test
test:
	RUSTFLAGS=$(RUSTFLAGS_VALUES) cargo +nightly nextest run

.PHONY: test-docs
test-docs:
	RUSTFLAGS=$(RUSTFLAGS_VALUES) cargo +nightly test --doc

.PHONY: test-stable
test-stable:
	cargo test

cfg:
	RUSTFLAGS=$(RUSTFLAGS_VALUES) cargo +nightly -Z unstable-options rustc --print cfg

# Run tests and benchmarks every time a file changes
watch: 
	RUSTFLAGS=$(RUSTFLAGS_VALUES) cargo +nightly watch -x "nextest run" -x "test --doc"

# Run benchmarks with release optimizations
bench-release:
	RUSTFLAGS="-C target-cpu=native" cargo bench --release

# Build and test everything
build: test release
	RUSTFLAGS="-C target-cpu=native" cargo build --release

nextest:
	cargo install nextest --locked

server: server-image
        docker run -p 6333:6333 -p 6334:6334 \
            -e QDRANT__SERVICE__GRPC_PORT="6334" \
            qdrant/qdrant

server-image:
        docker pull qdrant/qdrant

free api docs, although rustdoc already does that
api.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants