Abraxas-365 / Abraxas-365/langchain-rust

Ability to add custom ids for documents

Đang mở
#177 2 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
1.3k
Fork
177
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

I want to add custom IDs for documents so that when I do re-indexing for updates, I can reference them with the ID I have in the data source.

My specific case is with the OpenSearch vector store. Right now as a workaround, I'm running a local build of this crate, and I have added a function with the following signature:

```rs
async fn add_documents_with_ids(
&self,
docs: &[Document],
opt: &VecStoreOptions,
ids: &Vec,
) -> Result, Box> {
```
and then I'm zipping the ids together with the docs and vectors

```rs
for (doc, (vector, doc_id)) in zip(docs.iter(), zip(vectors.iter(), ids.iter())) {
```

and finally adding the id to the docs

```rs
let operation = json!({"index": {
"_id": doc_id,
}});
```

I wanted to ask if someone would be interested in having this feature as well, and if yes, any suggestions from maintainers on how to implement this without having to break the core trait of VectorStore somehow.

Also, Python package has one additional field for the add_docs, called ids and you can see it in this file:
https://github.com/langchain-ai/langchain/blob/29aa9d67506ac07b92d37d58c684ce3c6dc290cd/libs/community/langchain_community/vectorstores/opensearch_vector_search.py#L587

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.