We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
It is easier to work with records than columnar data as the default API way of returning data.
Example
package tech.amikos.chromadb; import java.util.List; public class Record { private final String content; private final String id; private final String uri; private final Object metadata; private final List<Float> embedding; public Record(String content, String id, Object metadata, String uri, List<Float> embedding) { this.content = content; this.id = id; this.metadata = metadata; this.uri = uri; this.embedding = embedding; } public String getContent() { return content; } public String getId() { return id; } public Object getMetadata() { return metadata; } public String getUri() { return uri; } public List<Float> getEmbedding() { return embedding; } }
Record builder example:
package tech.amikos.chromadb; import java.util.HashMap; import java.util.List; import java.util.Map; public class RecordBuilder { private String content; private String id; private Map<String, Object> metadata; private String uri; private List<Float> embedding; private RecordBuilder() { } public static RecordBuilder forContent(String content) { RecordBuilder builder = new RecordBuilder(); builder.content = content; return builder; } public static RecordBuilder forEmbedding(List<Float> embedding) { RecordBuilder builder = new RecordBuilder(); builder.embedding = embedding; return builder; } public RecordBuilder withId(String id) { this.id = id; return this; } public RecordBuilder withMetadata(String key, Object value) { if (this.metadata == null) { this.metadata = new HashMap<>(); } this.metadata.put(key, value); return this; } public RecordBuilder withMetadatas(Map<String, Object> metadata) { this.metadata = metadata; return this; } public RecordBuilder withUri(String uri) { this.uri = uri; return this; } public RecordBuilder withEmbedding(List<Float> embedding) { this.embedding = embedding; return this; } public Record build() { return new Record(content, id, metadata, uri, embedding); } }
RecordSet example
package tech.amikos.chromadb; import tech.amikos.chromadb.ids.IdGenerator; import java.util.List; import java.util.stream.Collectors; public class RecordSet { private List<Record> records; private IdGenerator idGenerator; public List<String> getIds() { return records.stream().map(Record::getId).collect(Collectors.toList()); } public List<String> getDocuments() { return records.stream().map(Record::getContent).collect(Collectors.toList()); } public List<List<Float>> getEmbeddings() { return records.stream().map(Record::getEmbedding).collect(Collectors.toList()); } public List<Object> getMetadatas() { return records.stream().map(Record::getMetadata).collect(Collectors.toList()); } public List<String> getUris() { return records.stream().map(Record::getUri).collect(Collectors.toList()); } }
The text was updated successfully, but these errors were encountered:
tazarov
No branches or pull requests
It is easier to work with records than columnar data as the default API way of returning data.
Example
Record builder example:
RecordSet example
The text was updated successfully, but these errors were encountered: