diff --git a/.changeset/good-games-serve.md b/.changeset/good-games-serve.md
new file mode 100644
index 0000000000000000000000000000000000000000..08e8fc9e393411fa59699cd40b638c86ccf16d0d
--- /dev/null
+++ b/.changeset/good-games-serve.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+Fixed metadata deserialization (thanks @marcagve)
diff --git a/.changeset/soft-chairs-beg.md b/.changeset/soft-chairs-beg.md
new file mode 100644
index 0000000000000000000000000000000000000000..450da55a74b044378e463776a62b758aa6b2dc9a
--- /dev/null
+++ b/.changeset/soft-chairs-beg.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+ChatGPT optimized prompts (thanks @LoganMarkewich)
diff --git a/packages/core/src/storage/docStore/utils.ts b/packages/core/src/storage/docStore/utils.ts
index 2734200268b388989d35866149579c89d28096a0..16df79cc5b8c6c8aae089f1d4fc58c94bfdcc3ff 100644
--- a/packages/core/src/storage/docStore/utils.ts
+++ b/packages/core/src/storage/docStore/utils.ts
@@ -21,12 +21,14 @@ export function jsonToDoc(docDict: Record<string, any>): BaseNode {
       id_: dataDict.id_,
       embedding: dataDict.embedding,
       hash: dataDict.hash,
+      metadata: dataDict.metadata,
     });
   } else if (docType === ObjectType.TEXT) {
     doc = new TextNode({
       text: dataDict.text,
       id_: dataDict.id_,
       hash: dataDict.hash,
+      metadata: dataDict.metadata,
     });
   } else {
     throw new Error(`Unknown doc type: ${docType}`);