cocoindex 0.2.19__tar.gz → 0.2.20__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cocoindex-0.2.19 → cocoindex-0.2.20}/Cargo.lock +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/Cargo.toml +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/PKG-INFO +15 -8
- {cocoindex-0.2.19 → cocoindex-0.2.20}/README.md +14 -7
- {cocoindex-0.2.19 → cocoindex-0.2.20}/THIRD_PARTY_NOTICES.html +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/ai/llm.mdx +26 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/academic_papers_index.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/codebase_index.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/custom_targets.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/docs_to_knowledge_graph.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/document_ai.md +2 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/image_search.md +2 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/manual_extraction.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/multi_format_index.md +2 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/patient_form_extraction.md +2 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/photo_search.md +2 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/postgres_source.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/product_recommendation.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/simple_vector_index.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/getting_started/quickstart.md +1 -1
- cocoindex-0.2.20/docs/docs/sources/index.md +22 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/index.md +0 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/kuzu.md +3 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/docs_to_knowledge_graph/README.md +2 -5
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/docs_to_knowledge_graph/main.py +0 -17
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/main.py +3 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/README.md +1 -1
- cocoindex-0.2.20/examples/pdf_elements_embedding/.gitignore +1 -0
- cocoindex-0.2.20/examples/pdf_elements_embedding/README.md +71 -0
- cocoindex-0.2.20/examples/pdf_elements_embedding/fetch_manual_urls.sh +15 -0
- cocoindex-0.2.20/examples/pdf_elements_embedding/main.py +183 -0
- cocoindex-0.2.20/examples/pdf_elements_embedding/pyproject.toml +14 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/README.md +3 -5
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/main.py +0 -17
- cocoindex-0.2.20/examples/text_embedding_qdrant/.env +6 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_qdrant/README.md +1 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/llm.py +1 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/analyzer.rs +61 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/plan.rs +12 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/indexing_status.rs +4 -2
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/row_indexer.rs +8 -8
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/source_indexer.rs +1 -1
- cocoindex-0.2.20/src/llm/bedrock.rs +185 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/mod.rs +10 -1
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/fingerprint.rs +6 -0
- cocoindex-0.2.19/docs/docs/sources/index.md +0 -365
- cocoindex-0.2.19/python/cocoindex/functions.py +0 -375
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.cargo/config.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.env.lib_debug +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/ISSUE_TEMPLATE//360/237/220/233-bug-report.md" +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/ISSUE_TEMPLATE//360/237/222/241-feature-request.md" +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/SECURITY.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/scripts/update_version.sh +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/CI.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/_docs_release.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/_test.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/docs_release.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/docs_test.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/format.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.github/workflows/release.yml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/.pre-commit-config.yaml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/CODE_OF_CONDUCT.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/CONTRIBUTING.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/LICENSE +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/about.hbs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/about.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/dev/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/dev/generate_cli_docs.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/dev/neo4j.yaml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/dev/postgres.yaml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/about/community.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/contributing/guide.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/contributing/new_built_in_target.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/contributing/setup_dev_environment.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/basics.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/cli-commands.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/cli.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/data_example.svg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/data_types.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/flow_def.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/flow_example.svg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/flow_methods.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/core/settings.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/custom_ops/custom_functions.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/custom_ops/custom_targets.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/index.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/getting_started/installation.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/getting_started/markdown_files.zip +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/getting_started/overview.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/ops/functions.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/query.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/sources/amazons3.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/sources/azureblob.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/sources/googledrive.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/sources/localfile.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/sources/postgres.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/lancedb.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/neo4j.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/postgres.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/targets/qdrant.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/tutorials/live_updates.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/tutorials/manage_flow_dynamically.mdx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docusaurus.config.ts +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/package.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/sidebars.ts +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/components/GitHubButton/index.tsx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/css/custom.css +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/theme/DocCard/index.tsx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/theme/DocCard/styles.module.css +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/theme/DocCardList/index.tsx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/theme/DocCardList/styles.module.css +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/src/theme/Root.js +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/.nojekyll +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/docusaurus.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/abstract_chunks.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/basic_info.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/chunk_embedding.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/first_page.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/academic_papers_index/metadata.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/codebase_index/chunk.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/codebase_index/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/codebase_index/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/custom_targets/convert.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/custom_targets/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/dedupe.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/export_document.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/export_relationship.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/extract_relationship.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/relationship.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/docs_to_knowledge_graph/summary.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/document_ai/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/document_ai/document_ai.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/document_ai/processor.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/image_search/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/image_search/embedding.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/image_search/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/image_search/multi_modal_architecture.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/image_search/result.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/manual_extraction/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/manual_extraction/extraction.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/manual_extraction/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/manual_extraction/summary.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/multi_format_index/colpali_architecture.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/multi_format_index/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/multi_format_index/embed.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/multi_format_index/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/multi_format_index/pages.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/patient_form_extraction/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/patient_form_extraction/extraction.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/patient_form_extraction/fields.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/patient_form_extraction/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/patient_form_extraction/tomarkdown.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/photo_search/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/photo_search/extraction.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/photo_search/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/collector.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/description.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/embed.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/lineage.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/price.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/postgres_source/source.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/dedupe.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/export_all.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/export_product.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/export_taxonomy.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/extract_product.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/extract_taxonomy.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/neo4j.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/parse_json.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/product_recommendation/taxonomy.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/simple_vector_index/chunk.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/simple_vector_index/cover.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/simple_vector_index/embed.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/examples/simple_vector_index/flow.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/favicon.ico +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/icon.svg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/img/incremental-etl.gif +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/static/robots.txt +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/tsconfig.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/docs/yarn.lock +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/amazon_s3_embedding/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/amazon_s3_embedding/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/amazon_s3_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/amazon_s3_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/amazon_s3_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/azure_blob_embedding/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/azure_blob_embedding/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/azure_blob_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/azure_blob_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/azure_blob_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/code_embedding/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/code_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/code_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/code_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/data/bizarre_animals.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/data/chunk_norris.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/custom_output_files/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/docs_to_knowledge_graph/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/docs_to_knowledge_graph/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/images/Carter_welcomes_Reagan.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/images/Solvay_conference_1927.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/images/Steve_Jobs_and_Bill_Gates_(522695099).jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/images/einplanck3.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/face_recognition/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/.dockerignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/compose.yaml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/dockerfile +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/files/1810.04805v2.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/fastapi_server_docker/requirements.txt +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/gdrive_text_embedding/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/gdrive_text_embedding/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/gdrive_text_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/gdrive_text_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/gdrive_text_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/colpali_main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/index.html +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/package-lock.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/package.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/src/App.jsx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/src/main.jsx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/src/style.css +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/frontend/vite.config.js +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/img/cat1.jpeg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/img/dog1.jpeg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/img/elephant1.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/img/giraffe.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/image_search/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/data/bizarre_animals.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/data/chunk_norris.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/live_updates/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/manuals/array.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/manuals/base64.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/manuals/copy.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/manuals/glob.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/manuals_llm_extraction/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/2502.06786v3.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/healthcare_industry_test_p101.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/healthcare_industry_test_p86.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/healthcare_industry_test_p9.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/restaurant_brands_international_2023.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/multi_format_indexing/source_files/sweetgreen_2023.jpg +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/papers/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/papers/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/papers/2502.06786v3.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/papers/2502.20346v1.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/paper_metadata/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/data/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_David_Artificial.docx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Emily_Artificial.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_Form_Joe_Artificial.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/data/patient_forms/Patient_Intake_From_Jane_Artificial.docx +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/patient_intake_extraction/pyproject.toml +0 -0
- {cocoindex-0.2.19/examples/pdf_embedding → cocoindex-0.2.20/examples/pdf_elements_embedding}/.env +0 -0
- {cocoindex-0.2.19/examples/text_embedding → cocoindex-0.2.20/examples/pdf_embedding}/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/pdf_files/1706.03762v7.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/pdf_files/1810.04805v2.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/pdf_files/rfc8259.pdf +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/pdf_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/postgres_source/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/postgres_source/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/postgres_source/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/postgres_source/prepare_source_data.sql +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/postgres_source/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/.env.example +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/img/cocoinsight.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/img/neo4j.png +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p1.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p2.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p3.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p4.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p5.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p6.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p7.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p8.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/products/p9.json +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/product_recommendation/pyproject.toml +0 -0
- {cocoindex-0.2.19/examples/text_embedding_lancedb → cocoindex-0.2.20/examples/text_embedding}/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/Text_Embedding.ipynb +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/markdown_files/1706.03762v7.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/markdown_files/1810.04805v2.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding/pyproject.toml +0 -0
- {cocoindex-0.2.19/examples/text_embedding_qdrant → cocoindex-0.2.20/examples/text_embedding_lancedb}/.env +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_lancedb/.gitignore +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_lancedb/README.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_lancedb/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_lancedb/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_lancedb/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_qdrant/main.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_qdrant/markdown_files/rfc8259.md +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/examples/text_embedding_qdrant/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/pyproject.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/__init__.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/auth_registry.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/cli.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/engine_object.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/engine_value.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/flow.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/functions/__init__.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/functions/_engine_builtin_specs.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/functions/colpali.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/functions/sbert.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/index.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/lib.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/op.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/py.typed +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/query_handler.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/runtime.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/setting.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/setup.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/sources/__init__.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/sources/_engine_builtin_specs.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/subprocess_exec.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/targets/__init__.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/targets/_engine_builtin_specs.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/targets/lancedb.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/__init__.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_engine_object.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_engine_value.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_optional_database.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_transform_flow.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_typing.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/tests/test_validation.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/typing.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/user_app_loader.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/utils.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/python/cocoindex/validation.py +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/ruff.toml +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/duration.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/field_attrs.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/json_schema.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/schema.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/spec.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/base/value.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/analyzed_flow.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/exec_ctx.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/flow_builder.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/builder/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/db_tracking.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/db_tracking_setup.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/dumper.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/evaluator.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/live_updater.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/memoization.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/execution/stats.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/lib.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/lib_context.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/anthropic.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/gemini.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/litellm.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/ollama.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/openai.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/openrouter.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/vllm.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/llm/voyage.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/factory_bases.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/detect_program_lang.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/embed_text.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/extract_by_llm.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/parse_json.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/split_by_separators.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/split_recursively.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/functions/test_utils.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/interface.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/py_factory.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/registration.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/registry.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sdk.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/shared/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/shared/postgres.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/shared/program_langs.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/shared/split.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/amazon_s3.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/azure_blob.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/google_drive.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/local_file.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/postgres.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/shared/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/sources/shared/pattern_matcher.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/kuzu.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/neo4j.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/postgres.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/qdrant.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/shared/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/shared/property_graph.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/ops/targets/shared/table_columns.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/prelude.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/py/convert.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/py/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/server.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/service/error.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/service/flows.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/service/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/service/query_handler.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/settings.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/auth_registry.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/components.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/db_metadata.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/driver.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/flow_features.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/setup/states.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/concur_control.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/db.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/deser.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/immutable.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/mod.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/retryable.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/str_sanitize.rs +0 -0
- {cocoindex-0.2.19 → cocoindex-0.2.20}/src/utils/yaml_ser.rs +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
name = "cocoindex"
|
3
3
|
# Version used for local development is always higher than others to take precedence.
|
4
4
|
# Will be overridden for specific release versions.
|
5
|
-
version = "0.2.
|
5
|
+
version = "0.2.20"
|
6
6
|
edition = "2024"
|
7
7
|
rust-version = "1.89"
|
8
8
|
license = "Apache-2.0"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cocoindex
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.20
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
5
5
|
Classifier: License :: OSI Approved :: Apache Software License
|
6
6
|
Classifier: Operating System :: OS Independent
|
@@ -75,7 +75,6 @@ Project-URL: Homepage, https://cocoindex.io/
|
|
75
75
|
<a href="https://trendshift.io/repositories/13939" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13939" alt="cocoindex-io%2Fcocoindex | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
76
76
|
</div>
|
77
77
|
|
78
|
-
|
79
78
|
Ultra performant data transformation framework for AI, with core engine written in Rust. Support incremental processing and data lineage out-of-box. Exceptional developer velocity. Production-ready at day 0.
|
80
79
|
|
81
80
|
⭐ Drop a star to help us grow!
|
@@ -113,9 +112,8 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
|
|
113
112
|
|
114
113
|
</br>
|
115
114
|
|
116
|
-
|
117
|
-
|
118
115
|
## Exceptional velocity
|
116
|
+
|
119
117
|
Just declare transformation in dataflow with ~100 lines of python
|
120
118
|
|
121
119
|
```python
|
@@ -139,6 +137,7 @@ CocoIndex follows the idea of [Dataflow](https://en.wikipedia.org/wiki/Dataflow_
|
|
139
137
|
**Particularly**, developers don't explicitly mutate data by creating, updating and deleting. They just need to define transformation/formula for a set of source data.
|
140
138
|
|
141
139
|
## Plug-and-Play Building Blocks
|
140
|
+
|
142
141
|
Native builtins for different source, targets and transformations. Standardize interface, make it 1-line code switch between different components - as easy as assembling building blocks.
|
143
142
|
|
144
143
|
<p align="center">
|
@@ -146,6 +145,7 @@ Native builtins for different source, targets and transformations. Standardize i
|
|
146
145
|
</p>
|
147
146
|
|
148
147
|
## Data Freshness
|
148
|
+
|
149
149
|
CocoIndex keep source data and target in sync effortlessly.
|
150
150
|
|
151
151
|
<p align="center">
|
@@ -153,11 +153,14 @@ CocoIndex keep source data and target in sync effortlessly.
|
|
153
153
|
</p>
|
154
154
|
|
155
155
|
It has out-of-box support for incremental indexing:
|
156
|
+
|
156
157
|
- minimal recomputation on source or logic change.
|
157
158
|
- (re-)processing necessary portions; reuse cache when possible
|
158
159
|
|
159
|
-
## Quick Start
|
160
|
+
## Quick Start
|
161
|
+
|
160
162
|
If you're new to CocoIndex, we recommend checking out
|
163
|
+
|
161
164
|
- 📖 [Documentation](https://cocoindex.io/docs)
|
162
165
|
- ⚡ [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart)
|
163
166
|
- 🎬 [Quick Start Video Tutorial](https://youtu.be/gv5R8nOXsWU?si=9ioeKYkMEnYevTXT)
|
@@ -172,7 +175,6 @@ pip install -U cocoindex
|
|
172
175
|
|
173
176
|
2. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. CocoIndex uses it for incremental processing.
|
174
177
|
|
175
|
-
|
176
178
|
## Define data flow
|
177
179
|
|
178
180
|
Follow [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart) to define your first indexing flow. An example flow looks like:
|
@@ -228,6 +230,7 @@ It defines an index flow like this:
|
|
228
230
|
| [Text Embedding](examples/text_embedding) | Index text documents with embeddings for semantic search |
|
229
231
|
| [Code Embedding](examples/code_embedding) | Index code embeddings for semantic search |
|
230
232
|
| [PDF Embedding](examples/pdf_embedding) | Parse PDF and index text embeddings for semantic search |
|
233
|
+
| [PDF Elements Embedding](examples/pdf_elements_embedding) | Extract text and images from PDFs; embed text with SentenceTransformers and images with CLIP; store in Qdrant for multimodal search |
|
231
234
|
| [Manuals LLM Extraction](examples/manuals_llm_extraction) | Extract structured information from a manual using LLM |
|
232
235
|
| [Amazon S3 Embedding](examples/amazon_s3_embedding) | Index text documents from Amazon S3 |
|
233
236
|
| [Azure Blob Storage Embedding](examples/azure_blob_embedding) | Index text documents from Azure Blob Storage |
|
@@ -244,16 +247,18 @@ It defines an index flow like this:
|
|
244
247
|
| [Custom Output Files](examples/custom_output_files) | Convert markdown files to HTML files and save them to a local directory, using *CocoIndex Custom Targets* |
|
245
248
|
| [Patient intake form extraction](examples/patient_intake_extraction) | Use LLM to extract structured data from patient intake forms with different formats |
|
246
249
|
|
247
|
-
|
248
250
|
More coming and stay tuned 👀!
|
249
251
|
|
250
252
|
## 📖 Documentation
|
253
|
+
|
251
254
|
For detailed documentation, visit [CocoIndex Documentation](https://cocoindex.io/docs), including a [Quickstart guide](https://cocoindex.io/docs/getting_started/quickstart).
|
252
255
|
|
253
256
|
## 🤝 Contributing
|
257
|
+
|
254
258
|
We love contributions from our community ❤️. For details on contributing or running the project for development, check out our [contributing guide](https://cocoindex.io/docs/about/contributing).
|
255
259
|
|
256
260
|
## 👥 Community
|
261
|
+
|
257
262
|
Welcome with a huge coconut hug 🥥⋆。˚🤗. We are super excited for community contributions of all kinds - whether it's code improvements, documentation updates, issue reports, feature requests, and discussions in our Discord.
|
258
263
|
|
259
264
|
Join our community here:
|
@@ -263,9 +268,11 @@ Join our community here:
|
|
263
268
|
- ▶️ [Subscribe to our YouTube channel](https://www.youtube.com/@cocoindex-io)
|
264
269
|
- 📜 [Read our blog posts](https://cocoindex.io/blogs/)
|
265
270
|
|
266
|
-
## Support us
|
271
|
+
## Support us
|
272
|
+
|
267
273
|
We are constantly improving, and more features and examples are coming soon. If you love this project, please drop us a star ⭐ at GitHub repo [](https://github.com/cocoindex-io/cocoindex) to stay tuned and help us grow.
|
268
274
|
|
269
275
|
## License
|
276
|
+
|
270
277
|
CocoIndex is Apache 2.0 licensed.
|
271
278
|
|
@@ -22,7 +22,6 @@
|
|
22
22
|
<a href="https://trendshift.io/repositories/13939" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13939" alt="cocoindex-io%2Fcocoindex | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
23
23
|
</div>
|
24
24
|
|
25
|
-
|
26
25
|
Ultra performant data transformation framework for AI, with core engine written in Rust. Support incremental processing and data lineage out-of-box. Exceptional developer velocity. Production-ready at day 0.
|
27
26
|
|
28
27
|
⭐ Drop a star to help us grow!
|
@@ -60,9 +59,8 @@ CocoIndex makes it effortless to transform data with AI, and keep source data an
|
|
60
59
|
|
61
60
|
</br>
|
62
61
|
|
63
|
-
|
64
|
-
|
65
62
|
## Exceptional velocity
|
63
|
+
|
66
64
|
Just declare transformation in dataflow with ~100 lines of python
|
67
65
|
|
68
66
|
```python
|
@@ -86,6 +84,7 @@ CocoIndex follows the idea of [Dataflow](https://en.wikipedia.org/wiki/Dataflow_
|
|
86
84
|
**Particularly**, developers don't explicitly mutate data by creating, updating and deleting. They just need to define transformation/formula for a set of source data.
|
87
85
|
|
88
86
|
## Plug-and-Play Building Blocks
|
87
|
+
|
89
88
|
Native builtins for different source, targets and transformations. Standardize interface, make it 1-line code switch between different components - as easy as assembling building blocks.
|
90
89
|
|
91
90
|
<p align="center">
|
@@ -93,6 +92,7 @@ Native builtins for different source, targets and transformations. Standardize i
|
|
93
92
|
</p>
|
94
93
|
|
95
94
|
## Data Freshness
|
95
|
+
|
96
96
|
CocoIndex keep source data and target in sync effortlessly.
|
97
97
|
|
98
98
|
<p align="center">
|
@@ -100,11 +100,14 @@ CocoIndex keep source data and target in sync effortlessly.
|
|
100
100
|
</p>
|
101
101
|
|
102
102
|
It has out-of-box support for incremental indexing:
|
103
|
+
|
103
104
|
- minimal recomputation on source or logic change.
|
104
105
|
- (re-)processing necessary portions; reuse cache when possible
|
105
106
|
|
106
|
-
## Quick Start
|
107
|
+
## Quick Start
|
108
|
+
|
107
109
|
If you're new to CocoIndex, we recommend checking out
|
110
|
+
|
108
111
|
- 📖 [Documentation](https://cocoindex.io/docs)
|
109
112
|
- ⚡ [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart)
|
110
113
|
- 🎬 [Quick Start Video Tutorial](https://youtu.be/gv5R8nOXsWU?si=9ioeKYkMEnYevTXT)
|
@@ -119,7 +122,6 @@ pip install -U cocoindex
|
|
119
122
|
|
120
123
|
2. [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one. CocoIndex uses it for incremental processing.
|
121
124
|
|
122
|
-
|
123
125
|
## Define data flow
|
124
126
|
|
125
127
|
Follow [Quick Start Guide](https://cocoindex.io/docs/getting_started/quickstart) to define your first indexing flow. An example flow looks like:
|
@@ -175,6 +177,7 @@ It defines an index flow like this:
|
|
175
177
|
| [Text Embedding](examples/text_embedding) | Index text documents with embeddings for semantic search |
|
176
178
|
| [Code Embedding](examples/code_embedding) | Index code embeddings for semantic search |
|
177
179
|
| [PDF Embedding](examples/pdf_embedding) | Parse PDF and index text embeddings for semantic search |
|
180
|
+
| [PDF Elements Embedding](examples/pdf_elements_embedding) | Extract text and images from PDFs; embed text with SentenceTransformers and images with CLIP; store in Qdrant for multimodal search |
|
178
181
|
| [Manuals LLM Extraction](examples/manuals_llm_extraction) | Extract structured information from a manual using LLM |
|
179
182
|
| [Amazon S3 Embedding](examples/amazon_s3_embedding) | Index text documents from Amazon S3 |
|
180
183
|
| [Azure Blob Storage Embedding](examples/azure_blob_embedding) | Index text documents from Azure Blob Storage |
|
@@ -191,16 +194,18 @@ It defines an index flow like this:
|
|
191
194
|
| [Custom Output Files](examples/custom_output_files) | Convert markdown files to HTML files and save them to a local directory, using *CocoIndex Custom Targets* |
|
192
195
|
| [Patient intake form extraction](examples/patient_intake_extraction) | Use LLM to extract structured data from patient intake forms with different formats |
|
193
196
|
|
194
|
-
|
195
197
|
More coming and stay tuned 👀!
|
196
198
|
|
197
199
|
## 📖 Documentation
|
200
|
+
|
198
201
|
For detailed documentation, visit [CocoIndex Documentation](https://cocoindex.io/docs), including a [Quickstart guide](https://cocoindex.io/docs/getting_started/quickstart).
|
199
202
|
|
200
203
|
## 🤝 Contributing
|
204
|
+
|
201
205
|
We love contributions from our community ❤️. For details on contributing or running the project for development, check out our [contributing guide](https://cocoindex.io/docs/about/contributing).
|
202
206
|
|
203
207
|
## 👥 Community
|
208
|
+
|
204
209
|
Welcome with a huge coconut hug 🥥⋆。˚🤗. We are super excited for community contributions of all kinds - whether it's code improvements, documentation updates, issue reports, feature requests, and discussions in our Discord.
|
205
210
|
|
206
211
|
Join our community here:
|
@@ -210,8 +215,10 @@ Join our community here:
|
|
210
215
|
- ▶️ [Subscribe to our YouTube channel](https://www.youtube.com/@cocoindex-io)
|
211
216
|
- 📜 [Read our blog posts](https://cocoindex.io/blogs/)
|
212
217
|
|
213
|
-
## Support us
|
218
|
+
## Support us
|
219
|
+
|
214
220
|
We are constantly improving, and more features and examples are coming soon. If you love this project, please drop us a star ⭐ at GitHub repo [](https://github.com/cocoindex-io/cocoindex) to stay tuned and help us grow.
|
215
221
|
|
216
222
|
## License
|
223
|
+
|
217
224
|
CocoIndex is Apache 2.0 licensed.
|
@@ -2428,7 +2428,7 @@ Software.
|
|
2428
2428
|
<h3 id="Apache-2.0">Apache License 2.0</h3>
|
2429
2429
|
<h4>Used by:</h4>
|
2430
2430
|
<ul class="license-used-by">
|
2431
|
-
<li><a href=" https://crates.io/crates/cocoindex ">cocoindex 0.2.
|
2431
|
+
<li><a href=" https://crates.io/crates/cocoindex ">cocoindex 0.2.20</a></li>
|
2432
2432
|
<li><a href=" https://github.com/awesomized/crc-fast-rust ">crc-fast 1.3.0</a></li>
|
2433
2433
|
<li><a href=" https://github.com/qdrant/rust-client ">qdrant-client 1.15.0</a></li>
|
2434
2434
|
</ul>
|
@@ -28,6 +28,7 @@ We support the following types of LLM APIs:
|
|
28
28
|
| [LiteLLM](#litellm) | `LlmApiType.LITE_LLM` | ✅ | ❌ |
|
29
29
|
| [OpenRouter](#openrouter) | `LlmApiType.OPEN_ROUTER` | ✅ | ❌ |
|
30
30
|
| [vLLM](#vllm) | `LlmApiType.VLLM` | ✅ | ❌ |
|
31
|
+
| [Bedrock](#bedrock) | `LlmApiType.BEDROCK` | ✅ | ❌ |
|
31
32
|
|
32
33
|
## LLM Tasks
|
33
34
|
|
@@ -440,3 +441,28 @@ cocoindex.LlmSpec(
|
|
440
441
|
|
441
442
|
</TabItem>
|
442
443
|
</Tabs>
|
444
|
+
|
445
|
+
### Bedrock
|
446
|
+
|
447
|
+
To use the Bedrock API, you need to set up AWS credentials. You can do this by setting the following environment variables:
|
448
|
+
|
449
|
+
- `AWS_ACCESS_KEY_ID`
|
450
|
+
- `AWS_SECRET_ACCESS_KEY`
|
451
|
+
- `AWS_SESSION_TOKEN` (optional)
|
452
|
+
|
453
|
+
A spec for Bedrock looks like this:
|
454
|
+
|
455
|
+
<Tabs>
|
456
|
+
<TabItem value="python" label="Python" default>
|
457
|
+
|
458
|
+
```python
|
459
|
+
cocoindex.LlmSpec(
|
460
|
+
api_type=cocoindex.LlmApiType.BEDROCK,
|
461
|
+
model="us.anthropic.claude-3-5-haiku-20241022-v1:0",
|
462
|
+
)
|
463
|
+
```
|
464
|
+
|
465
|
+
</TabItem>
|
466
|
+
</Tabs>
|
467
|
+
|
468
|
+
You can find the full list of models supported by Bedrock [here](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html).
|
@@ -64,7 +64,7 @@ def paper_metadata_flow(
|
|
64
64
|
```
|
65
65
|
|
66
66
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`).
|
67
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
67
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
68
68
|
|
69
69
|
## Extract and collect metadata
|
70
70
|
|
@@ -70,7 +70,7 @@ def code_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoind
|
|
70
70
|
- Exclude files and directories starting `.`, `target` in the root and `node_modules` under any directory.
|
71
71
|
|
72
72
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`).
|
73
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
73
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" />
|
74
74
|
|
75
75
|
|
76
76
|
## Process each file and collect the information
|
@@ -36,7 +36,7 @@ flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.DataScope
|
|
36
36
|
)
|
37
37
|
```
|
38
38
|
This ingestion creates a table with `filename` and `content` fields.
|
39
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
39
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" />
|
40
40
|
|
41
41
|
## Process each file and collect
|
42
42
|
|
{cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/docs_to_knowledge_graph.md
RENAMED
@@ -66,7 +66,7 @@ def docs_to_kg_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoindex.D
|
|
66
66
|
Here `flow_builder.add_source` creates a [KTable](https://cocoindex.io/docs/core/data_types#KTable).
|
67
67
|
`filename` is the key of the KTable.
|
68
68
|
|
69
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
69
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
70
70
|
|
71
71
|
|
72
72
|
### Add data collectors
|
@@ -98,7 +98,7 @@ data_scope["documents"] = flow_builder.add_source(
|
|
98
98
|
doc_embeddings = data_scope.add_collector()
|
99
99
|
```
|
100
100
|
|
101
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
101
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Source" margin="0 0 16px 0" />
|
102
102
|
|
103
103
|
<DocumentationButton url="https://cocoindex.io/docs/ops/collectors" text="Collector" margin="0 0 16px 0" />
|
104
104
|
|
@@ -154,4 +154,4 @@ For a step-by-step walkthrough of each indexing stage and the query path, check
|
|
154
154
|
|
155
155
|
CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more with native incremental processing out of box - when new or updated files are detected, the pipeline will capture the changes and only process what's changed.
|
156
156
|
|
157
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
157
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
@@ -66,7 +66,7 @@ def image_object_embedding_flow(flow_builder, data_scope):
|
|
66
66
|
|
67
67
|
The `add_source` function sets up a table with fields like `filename` and `content`. Images are automatically re-scanned every minute.
|
68
68
|
|
69
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
69
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources/localfile" text="LocalFile" />
|
70
70
|
|
71
71
|
|
72
72
|
## Process Each Image and Collect the Embedding
|
@@ -266,6 +266,6 @@ One of CocoIndex’s core strengths is its ability to connect to your existing d
|
|
266
266
|
- Amazon S3 / SQS
|
267
267
|
- Azure Blob Storage
|
268
268
|
|
269
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
269
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
270
270
|
|
271
271
|
Once connected, CocoIndex continuously watches for changes — new uploads, updates, or deletions — and applies them to your index in real time.
|
@@ -67,7 +67,7 @@ def manual_extraction_flow(
|
|
67
67
|
- `filename` (key, type: `str`): the filename of the file, e.g. `dir1/file1.md`
|
68
68
|
- `content` (type: `str` if `binary` is `False`, otherwise `bytes`): the content of the file
|
69
69
|
|
70
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
70
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="LocalFile" margin="0 0 16px 0" />
|
71
71
|
|
72
72
|
## Parse Markdown
|
73
73
|
|
@@ -52,7 +52,7 @@ data_scope["documents"] = flow_builder.add_source(
|
|
52
52
|
cocoindex.sources.LocalFile(path="source_files", binary=True)
|
53
53
|
)
|
54
54
|
```
|
55
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
55
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources/localfile" text="LocalFile" margin="0 0 16px 0" />
|
56
56
|
|
57
57
|
|
58
58
|
## Convert Files to Pages
|
@@ -203,4 +203,4 @@ Follow the url `https://cocoindex.io/cocoinsight`. It connects to your local Co
|
|
203
203
|
## Connect to other sources
|
204
204
|
CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more.
|
205
205
|
|
206
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
206
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
{cocoindex-0.2.19 → cocoindex-0.2.20}/docs/docs/examples/examples/patient_form_extraction.md
RENAMED
@@ -66,7 +66,7 @@ def patient_intake_extraction_flow(
|
|
66
66
|
|
67
67
|
`flow_builder.add_source` will create a table with a few sub fields.
|
68
68
|
|
69
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
69
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
70
70
|
|
71
71
|
|
72
72
|
## Parse documents with different formats to Markdown
|
@@ -298,4 +298,4 @@ Click on the `markdown` column for `Patient_Intake_Form_Joe.pdf`, you could see
|
|
298
298
|
## Connect to other sources
|
299
299
|
CocoIndex natively supports Google Drive, Amazon S3, Azure Blob Storage, and more.
|
300
300
|
|
301
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
301
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Sources" margin="0 0 16px 0" />
|
@@ -65,8 +65,8 @@ def face_recognition_flow(flow_builder, data_scope):
|
|
65
65
|
This creates a table with `filename` and `content` fields. 📂
|
66
66
|
|
67
67
|
|
68
|
-
You can connect it to your [S3 Buckets](https://cocoindex.io/docs/
|
69
|
-
or [Azure Blob store](https://cocoindex.io/docs/
|
68
|
+
You can connect it to your [S3 Buckets](https://cocoindex.io/docs/sources/amazons3) (with SQS integration, [example](https://cocoindex.io/blogs/s3-incremental-etl))
|
69
|
+
or [Azure Blob store](https://cocoindex.io/docs/sources/azureblob).
|
70
70
|
|
71
71
|
## Detect and Extract Faces
|
72
72
|
|
@@ -59,7 +59,7 @@ CocoIndex incrementally sync data from Postgres. When new or updated rows are fo
|
|
59
59
|
- `notification` enables change capture based on Postgres LISTEN/NOTIFY. Each change triggers an incremental processing on the specific row immediately.
|
60
60
|
- Regardless if `notification` is provided or not, CocoIndex still needs to scan the full table to detect changes in some scenarios (e.g. between two `update` invocation), and the `ordinal_column` provides a field that CocoIndex can use to quickly detect which row has changed without reading value columns.
|
61
61
|
|
62
|
-
Check [Postgres source](https://cocoindex.io/docs/
|
62
|
+
Check [Postgres source](https://cocoindex.io/docs/sources/postgres) for more details.
|
63
63
|
|
64
64
|
If you use the Postgres database hosted by Supabase, please click Connect on your project dashboard and find the URL there. Check [DatabaseConnectionSpec](https://cocoindex.io/docs/core/settings#databaseconnectionspec)
|
65
65
|
for more details.
|
@@ -30,7 +30,7 @@ Product taxonomy is a way to organize product catalogs in a logical and hierarch
|
|
30
30
|
|
31
31
|
## Prerequisites
|
32
32
|
* [Install PostgreSQL](https://cocoindex.io/docs/getting_started/installation#-install-postgres). CocoIndex uses PostgreSQL internally for incremental processing.
|
33
|
-
* [Install Neo4j](https://cocoindex.io/docs/
|
33
|
+
* [Install Neo4j](https://cocoindex.io/docs/targets/neo4j), a graph database.
|
34
34
|
* - [Configure your OpenAI API key](https://cocoindex.io/docs/ai/llm#openai). Create a `.env` file from `.env.example`, and fill `OPENAI_API_KEY`.
|
35
35
|
|
36
36
|
Alternatively, we have native support for Gemini, Ollama, LiteLLM. You can choose your favorite LLM provider and work completely on-premises.
|
@@ -51,7 +51,7 @@ def text_embedding_flow(flow_builder: cocoindex.FlowBuilder, data_scope: cocoind
|
|
51
51
|
```
|
52
52
|
|
53
53
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`)
|
54
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
54
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Source" />
|
55
55
|
|
56
56
|
|
57
57
|
## Process each file and collect the embeddings
|
@@ -64,7 +64,7 @@ doc_embeddings = data_scope.add_collector()
|
|
64
64
|
|
65
65
|
`flow_builder.add_source` will create a table with sub fields (`filename`, `content`)
|
66
66
|
|
67
|
-
<DocumentationButton url="https://cocoindex.io/docs/
|
67
|
+
<DocumentationButton url="https://cocoindex.io/docs/sources" text="Source" />
|
68
68
|
|
69
69
|
<DocumentationButton url="https://cocoindex.io/docs/core/flow_def#data-collector" text="Data Collector" />
|
70
70
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
title: Sources
|
3
|
+
toc_max_heading_level: 4
|
4
|
+
description: CocoIndex Built-in Sources
|
5
|
+
---
|
6
|
+
|
7
|
+
# CocoIndex Built-in Sources
|
8
|
+
|
9
|
+
In CocoIndex, a source is the data origin you import from (e.g., files, databases, APIs) that feeds into an indexing flow for transformation and retrieval.
|
10
|
+
|
11
|
+
| Source Type | Description |
|
12
|
+
|----------------|------------------------------------|
|
13
|
+
| [LocalFile](/docs/sources/localfile) | Local file system |
|
14
|
+
| [AmazonS3](/docs/sources/amazons3) | Object store (Amazon S3 bucket) |
|
15
|
+
| [AzureBlob](/docs/sources/azureblob) | Object store (Azure Blob Storage) |
|
16
|
+
| [GoogleDrive](/docs/sources/googledrive) | Cloud file system (Google Drive) |
|
17
|
+
| [Postgres](/docs/sources/postgres) | Relational database (Postgres) |
|
18
|
+
|
19
|
+
Related:
|
20
|
+
- [Life cycle of a indexing flow](/docs/core/basics#life-cycle-of-an-indexing-flow)
|
21
|
+
- [Live Update Tutorial](/docs/tutorials/live_updates)
|
22
|
+
for change capture mechanisms.
|
@@ -18,7 +18,6 @@ The way to map data from a data collector to a target depends on data model of t
|
|
18
18
|
| [Qdrant](/docs/targets/qdrant) | Vector Database, Keyword Search |
|
19
19
|
| [LanceDB](/docs/targets/lancedb) | Vector Database, Keyword Search |
|
20
20
|
| [Neo4j](/docs/targets/neo4j) | [Property graph](#property-graph-targets) |
|
21
|
-
| [Kuzu](/docs/targets/kuzu) | [Property graph](#property-graph-targets) |
|
22
21
|
|
23
22
|
If you are looking for targets beyond here, you can always use [custom targets](/docs/custom_ops/custom_targets) as building blocks.
|
24
23
|
|
@@ -5,7 +5,9 @@ toc_max_heading_level: 4
|
|
5
5
|
---
|
6
6
|
import { ExampleButton } from '../../src/components/GitHubButton';
|
7
7
|
|
8
|
-
# Kuzu
|
8
|
+
# Kuzu (Archived)
|
9
|
+
|
10
|
+
Note:[Kuzu](https://github.com/kuzudb/kuzu) - embedded graph database is no longer maintained.
|
9
11
|
|
10
12
|
Exports data to a [Kuzu](https://kuzu.com/) graph database.
|
11
13
|
|
@@ -14,12 +14,11 @@ Please drop [Cocoindex on Github](https://github.com/cocoindex-io/cocoindex) a s
|
|
14
14
|
|
15
15
|
## Prerequisite
|
16
16
|
* [Install Postgres](https://cocoindex.io/docs/getting_started/installation#-install-postgres) if you don't have one.
|
17
|
-
* Install [Neo4j](https://cocoindex.io/docs/
|
18
|
-
* The example uses Neo4j by default for now. If you want to use Kuzu, find out the "SELECT ONE GRAPH DATABASE TO USE" section and switch the active branch.
|
17
|
+
* Install [Neo4j](https://cocoindex.io/docs/targets/neo4j).
|
19
18
|
* Install / configure LLM API. In this example we use Ollama, which runs LLM model locally. You need to get it ready following [this guide](https://cocoindex.io/docs/ai/llm#ollama). Alternatively, you can also follow the comments in source code to switch to OpenAI, and [configure OpenAI API key](https://cocoindex.io/docs/ai/llm#openai) before running the example.
|
20
19
|
|
21
20
|
## Documentation
|
22
|
-
You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/
|
21
|
+
You can read the official CocoIndex Documentation for Property Graph Targets [here](https://cocoindex.io/docs/targets#property-graph-targets).
|
23
22
|
|
24
23
|
## Run
|
25
24
|
|
@@ -48,8 +47,6 @@ cocoindex update main
|
|
48
47
|
After the knowledge graph is built, you can explore the knowledge graph.
|
49
48
|
|
50
49
|
* If you're using Neo4j, you can open the explorer at [http://localhost:7474](http://localhost:7474), with username `neo4j` and password `cocoindex`.
|
51
|
-
* If you're using Kuzu, you can start a Kuzu explorer locally. See [Kuzu dev instance](https://cocoindex.io/docs/ops/targets#kuzu-dev-instance) for more details.
|
52
|
-
|
53
50
|
You can run the following Cypher query to get all relationships:
|
54
51
|
|
55
52
|
```cypher
|
@@ -14,29 +14,12 @@ neo4j_conn_spec = cocoindex.add_auth_entry(
|
|
14
14
|
password="cocoindex",
|
15
15
|
),
|
16
16
|
)
|
17
|
-
kuzu_conn_spec = cocoindex.add_auth_entry(
|
18
|
-
"KuzuConnection",
|
19
|
-
cocoindex.targets.KuzuConnection(
|
20
|
-
api_server_url="http://localhost:8123",
|
21
|
-
),
|
22
|
-
)
|
23
17
|
|
24
|
-
# SELECT ONE GRAPH DATABASE TO USE
|
25
|
-
# This example can use either Neo4j or Kuzu as the graph database.
|
26
|
-
# Please make sure only one branch is live and others are commented out.
|
27
|
-
|
28
|
-
# Use Neo4j
|
29
18
|
GraphDbSpec = cocoindex.targets.Neo4j
|
30
19
|
GraphDbConnection = cocoindex.targets.Neo4jConnection
|
31
20
|
GraphDbDeclaration = cocoindex.targets.Neo4jDeclaration
|
32
21
|
conn_spec = neo4j_conn_spec
|
33
22
|
|
34
|
-
# Use Kuzu
|
35
|
-
# GraphDbSpec = cocoindex.targets.Kuzu
|
36
|
-
# GraphDbConnection = cocoindex.targets.KuzuConnection
|
37
|
-
# GraphDbDeclaration = cocoindex.targets.KuzuDeclaration
|
38
|
-
# conn_spec = kuzu_conn_spec
|
39
|
-
|
40
23
|
|
41
24
|
@dataclasses.dataclass
|
42
25
|
class DocumentSummary:
|
@@ -118,6 +118,9 @@ def manual_extraction_flow(
|
|
118
118
|
# Replace by this spec below, to use Anthropic API model
|
119
119
|
# llm_spec=cocoindex.LlmSpec(
|
120
120
|
# api_type=cocoindex.LlmApiType.ANTHROPIC, model="claude-3-5-sonnet-latest"),
|
121
|
+
# Replace by this spec below, to use Bedrock API model
|
122
|
+
# llm_spec=cocoindex.LlmSpec(
|
123
|
+
# api_type=cocoindex.LlmApiType.BEDROCK, model="us.anthropic.claude-3-5-haiku-20241022-v1:0"),
|
121
124
|
output_type=ModuleInfo,
|
122
125
|
instruction="Please extract Python module information from the manual.",
|
123
126
|
)
|
@@ -4,7 +4,7 @@ We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/c
|
|
4
4
|
|
5
5
|
|
6
6
|
This repo shows how to use LLM to extract structured data from patient intake forms with different formats - like PDF, Docx, etc.
|
7
|
-
CocoIndex supports multiple [sources](https://cocoindex.io/docs/
|
7
|
+
CocoIndex supports multiple [sources](https://cocoindex.io/docs/sources) and [LLM models](https://cocoindex.io/docs/ai/llm) natively.
|
8
8
|
|
9
9
|

|
10
10
|
|
@@ -0,0 +1 @@
|
|
1
|
+
/source_files
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# Extract text and images from PDFs and build multimodal search
|
2
|
+
|
3
|
+
[](https://github.com/cocoindex-io/cocoindex)
|
4
|
+
|
5
|
+
In this example, we extract texts and images from PDF pages, embed them with two models, and store them in Qdrant for multimodal search:
|
6
|
+
|
7
|
+
- Text: SentenceTransformers `all-MiniLM-L6-v2`
|
8
|
+
- Images: CLIP `openai/clip-vit-large-patch14` (ViT-L/14, 768-dim)
|
9
|
+
|
10
|
+
We appreciate a star ⭐ at [CocoIndex Github](https://github.com/cocoindex-io/cocoindex) if this is helpful.
|
11
|
+
|
12
|
+
## Steps
|
13
|
+
|
14
|
+
### Indexing Flow
|
15
|
+
|
16
|
+
1. Ingest PDF files from the `source_files` directory.
|
17
|
+
2. For each PDF page:
|
18
|
+
- Extract page text and images using `pypdf`.
|
19
|
+
- Skip very small images and create thumbnails up to 512×512 for consistency.
|
20
|
+
- Split text into chunks with `SplitRecursively` (language="text", chunk_size=600, chunk_overlap=100).
|
21
|
+
- Embed text chunks with SentenceTransformers (`all-MiniLM-L6-v2`).
|
22
|
+
- Embed images with CLIP (`openai/clip-vit-large-patch14`).
|
23
|
+
3. Save embeddings and metadata in Qdrant:
|
24
|
+
- Text collection: `PdfElementsEmbeddingText`
|
25
|
+
- Image collection: `PdfElementsEmbeddingImage`
|
26
|
+
|
27
|
+
## Prerequisite
|
28
|
+
|
29
|
+
[Install Qdrant](https://qdrant.tech/documentation/guides/installation/) if you don't have one running locally.
|
30
|
+
|
31
|
+
Start Qdrant with Docker (exposes HTTP 6333 and gRPC 6334):
|
32
|
+
|
33
|
+
```bash
|
34
|
+
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
|
35
|
+
```
|
36
|
+
|
37
|
+
Note: This example connects via gRPC at `http://localhost:6334`.
|
38
|
+
|
39
|
+
## Input Data Preparation
|
40
|
+
|
41
|
+
Download a few sample PDFs (all are board game manuals) and put them into the `source_files` directory by running:
|
42
|
+
|
43
|
+
```bash
|
44
|
+
./fetch_manual_urls.sh
|
45
|
+
```
|
46
|
+
|
47
|
+
You can also put your favorite PDFs into the `source_files` directory.
|
48
|
+
|
49
|
+
## Run
|
50
|
+
|
51
|
+
Install dependencies:
|
52
|
+
|
53
|
+
```bash
|
54
|
+
pip install -e .
|
55
|
+
```
|
56
|
+
|
57
|
+
Update index, which will also setup the tables at the first time:
|
58
|
+
|
59
|
+
```bash
|
60
|
+
cocoindex update --setup main
|
61
|
+
```
|
62
|
+
|
63
|
+
## CocoInsight
|
64
|
+
|
65
|
+
I used CocoInsight (Free beta now) to troubleshoot the index generation and understand the data lineage of the pipeline. It just connects to your local CocoIndex server, with Zero pipeline data retention. Run following command to start CocoInsight:
|
66
|
+
|
67
|
+
```bash
|
68
|
+
cocoindex server -ci main
|
69
|
+
```
|
70
|
+
|
71
|
+
Then open the CocoInsight UI at [https://cocoindex.io/cocoinsight](https://cocoindex.io/cocoinsight).
|