file28.hx 917 B

12345678910111213141516171819202122
  1. QUERY loaddocs_rag(chapters: [{ id: I64, subchapters: [{ title: String, content: String, chunks: [{chunk: String, vector: [F64]}]}] }]) =>
  2. FOR {id, subchapters} IN chapters {
  3. chapter_node <- AddN<Chapter>({ chapter_index: id })
  4. FOR {title, content, chunks} IN subchapters {
  5. subchapter_node <- AddN<SubChapter>({ title: title, content: content })
  6. AddE<Contains>::From(chapter_node)::To(subchapter_node)
  7. FOR {chunk, vector} IN chunks {
  8. vec <- AddV<Embedding>(vector)
  9. AddE<EmbeddingOf>({chunk: chunk})::From(subchapter_node)::To(vec)
  10. }
  11. }
  12. }
  13. RETURN "Success"
  14. QUERY searchdocs_rag(query: [F64], k: I32) =>
  15. vecs <- SearchV<Embedding>(query, k)
  16. subchapters <- vecs::In<EmbeddingOf>
  17. RETURN subchapters::{title, content}
  18. QUERY edge_node(id: ID) =>
  19. e <- N<Chapter>::OutE<Contains>
  20. RETURN e