[PR #650] [MERGED] new result object #779

Closed
opened 2026-02-16 00:19:05 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/run-llama/llama_cloud_services/pull/650
Author: @logan-markewich
Created: 3/17/2025
Status: Merged
Merged: 4/10/2025
Merged by: @logan-markewich

Base: mainHead: logan/new_result_object


📝 Commits (10+)

📊 Changes

21 files changed (+1581 additions, -6500 deletions)

View changed files

📝 examples/parse/demo_advanced.ipynb (+327 -468)
examples/parse/demo_advanced_astradb.ipynb (+0 -572)
examples/parse/demo_advanced_weaviate.ipynb (+0 -2741)
examples/parse/demo_astradb.ipynb (+0 -295)
📝 examples/parse/demo_basic.ipynb (+78 -65)
examples/parse/demo_elasticsearch_vectordb.ipynb (+0 -314)
📝 examples/parse/demo_json.ipynb (+35 -50)
examples/parse/demo_json_parsing.ipynb (+0 -383)
📝 examples/parse/demo_json_tour.ipynb (+131 -581)
📝 examples/parse/demo_languages.ipynb (+10 -12)
📝 examples/parse/demo_mongodb.ipynb (+4 -8)
examples/parse/demo_parsing_instructions.ipynb (+0 -544)
📝 examples/parse/demo_starter_multimodal.ipynb (+7 -52)
📝 examples/parse/demo_starter_parse_selected_pages.ipynb (+4 -26)
examples/parse/demo_table_comparisons.ipynb (+0 -367)
📝 llama_cloud_services/parse/base.py (+159 -3)
llama_cloud_services/parse/types.py (+558 -0)
📝 llama_cloud_services/parse/utils.py (+77 -0)
📝 parse.md (+37 -19)
tests/parse/test_llama_parse_result.py (+154 -0)

...and 1 more files

📄 Description

Add a new method and result object

Example Usage:

parser = LlamaParse(
    take_screenshot=True,
    auto_mode=True,
    fast_mode=False,
)
result = await parser.aparse(file_path)

assert isinstance(result, JobResult)
assert result.job_id is not None
assert result.file_name == file_path
assert len(result.pages) > 0

assert result.pages[0].text is not None
assert len(result.pages[0].text) > 0

assert result.pages[0].md is not None
assert len(result.pages[0].md) > 0

assert result.pages[0].md != result.pages[0].text

assert len(result.pages[0].images) > 0
assert result.pages[0].images[0].name is not None

with tempfile.TemporaryDirectory() as temp_dir:
    file_names = await result.asave_all_images(temp_dir)
    assert len(file_names) > 0
    for file_name in file_names:
        assert os.path.exists(file_name)
        assert os.path.getsize(file_name) > 0

assert result.job_metadata is not None

text_documents = result.get_text_documents(
    split_by_page=True,
)
assert len(text_documents) > 0
assert text_documents[0].text is not None
assert len(text_documents[0].text) > 0

markdown_documents = result.get_markdown_documents(
    split_by_page=True,
)
assert len(markdown_documents) > 0
assert markdown_documents[0].text is not None
assert len(markdown_documents[0].text) > 0

image_documents = result.get_image_documents()
assert len(image_documents) > 0
assert image_documents[0].image_url is not None
assert len(image_documents[0].resolve_image().getvalue()) > 0

TODO

  • Update (some) examples to use this syntax
  • Add this syntax to the readme

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/run-llama/llama_cloud_services/pull/650 **Author:** [@logan-markewich](https://github.com/logan-markewich) **Created:** 3/17/2025 **Status:** ✅ Merged **Merged:** 4/10/2025 **Merged by:** [@logan-markewich](https://github.com/logan-markewich) **Base:** `main` ← **Head:** `logan/new_result_object` --- ### 📝 Commits (10+) - [`05ba8b6`](https://github.com/run-llama/llama_cloud_services/commit/05ba8b631093b88313227e6db7dc71e8f63d42fc) new parse method and result object - [`abea631`](https://github.com/run-llama/llama_cloud_services/commit/abea631210907e6c6c67a0dbbc721a7793df0977) type nits - [`b17f882`](https://github.com/run-llama/llama_cloud_services/commit/b17f882849e868a13c806e03b6f46e9fde92c3e2) merge main - [`e30e017`](https://github.com/run-llama/llama_cloud_services/commit/e30e0170daa125e3c6c9ab3a171b9c107f0f5e96) working final - [`a67090a`](https://github.com/run-llama/llama_cloud_services/commit/a67090a7860f8eee00b078123d7f58ebc51d1772) Merge branch 'main' into logan/new_result_object - [`5eb8c68`](https://github.com/run-llama/llama_cloud_services/commit/5eb8c68202075a78e4d1bfbe57f9fbe067e7aa17) remove some redundant notebooks - [`6c59617`](https://github.com/run-llama/llama_cloud_services/commit/6c59617fbb4bdb11b7025d8c0a13290f469a0282) redo several notebooks - [`79d0c89`](https://github.com/run-llama/llama_cloud_services/commit/79d0c89484670de0e80a6b11ffa192e394dd6c53) redo readme - [`24bdf74`](https://github.com/run-llama/llama_cloud_services/commit/24bdf748e109fa4cd0f1a35c630caff87d091813) add new link to readme - [`fb3c843`](https://github.com/run-llama/llama_cloud_services/commit/fb3c843ab688468a069b70975b8138995bd71a12) update metadata ### 📊 Changes **21 files changed** (+1581 additions, -6500 deletions) <details> <summary>View changed files</summary> 📝 `examples/parse/demo_advanced.ipynb` (+327 -468) ➖ `examples/parse/demo_advanced_astradb.ipynb` (+0 -572) ➖ `examples/parse/demo_advanced_weaviate.ipynb` (+0 -2741) ➖ `examples/parse/demo_astradb.ipynb` (+0 -295) 📝 `examples/parse/demo_basic.ipynb` (+78 -65) ➖ `examples/parse/demo_elasticsearch_vectordb.ipynb` (+0 -314) 📝 `examples/parse/demo_json.ipynb` (+35 -50) ➖ `examples/parse/demo_json_parsing.ipynb` (+0 -383) 📝 `examples/parse/demo_json_tour.ipynb` (+131 -581) 📝 `examples/parse/demo_languages.ipynb` (+10 -12) 📝 `examples/parse/demo_mongodb.ipynb` (+4 -8) ➖ `examples/parse/demo_parsing_instructions.ipynb` (+0 -544) 📝 `examples/parse/demo_starter_multimodal.ipynb` (+7 -52) 📝 `examples/parse/demo_starter_parse_selected_pages.ipynb` (+4 -26) ➖ `examples/parse/demo_table_comparisons.ipynb` (+0 -367) 📝 `llama_cloud_services/parse/base.py` (+159 -3) ➕ `llama_cloud_services/parse/types.py` (+558 -0) 📝 `llama_cloud_services/parse/utils.py` (+77 -0) 📝 `parse.md` (+37 -19) ➕ `tests/parse/test_llama_parse_result.py` (+154 -0) _...and 1 more files_ </details> ### 📄 Description Add a new method and result object Example Usage: ```python parser = LlamaParse( take_screenshot=True, auto_mode=True, fast_mode=False, ) result = await parser.aparse(file_path) assert isinstance(result, JobResult) assert result.job_id is not None assert result.file_name == file_path assert len(result.pages) > 0 assert result.pages[0].text is not None assert len(result.pages[0].text) > 0 assert result.pages[0].md is not None assert len(result.pages[0].md) > 0 assert result.pages[0].md != result.pages[0].text assert len(result.pages[0].images) > 0 assert result.pages[0].images[0].name is not None with tempfile.TemporaryDirectory() as temp_dir: file_names = await result.asave_all_images(temp_dir) assert len(file_names) > 0 for file_name in file_names: assert os.path.exists(file_name) assert os.path.getsize(file_name) > 0 assert result.job_metadata is not None text_documents = result.get_text_documents( split_by_page=True, ) assert len(text_documents) > 0 assert text_documents[0].text is not None assert len(text_documents[0].text) > 0 markdown_documents = result.get_markdown_documents( split_by_page=True, ) assert len(markdown_documents) > 0 assert markdown_documents[0].text is not None assert len(markdown_documents[0].text) > 0 image_documents = result.get_image_documents() assert len(image_documents) > 0 assert image_documents[0].image_url is not None assert len(image_documents[0].resolve_image().getvalue()) > 0 ``` TODO - [ ] Update (some) examples to use this syntax - [ ] Add this syntax to the readme --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-16 00:19:05 -05:00
yindo closed this issue 2026-02-16 00:19:05 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: run-llama/llama_cloud_services#779