graphiti-core 0.18.7__tar.gz → 0.18.9__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.

Potentially problematic release.


This version of graphiti-core might be problematic. Click here for more details.

Files changed (182) hide show
  1. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/PKG-INFO +1 -1
  2. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/podcast/podcast_runner.py +5 -1
  3. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/cross_encoder/openai_reranker_client.py +1 -1
  4. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/openai_base_client.py +3 -3
  5. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/openai_client.py +6 -4
  6. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/models/nodes/node_db_queries.py +1 -1
  7. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/dedupe_nodes.py +1 -1
  8. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/extract_edges.py +1 -0
  9. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/extract_nodes.py +1 -1
  10. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/community_operations.py +2 -1
  11. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/node_operations.py +7 -3
  12. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/pyproject.toml +1 -1
  13. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/signatures/version1/cla.json +8 -0
  14. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/uv.lock +1 -1
  15. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.env.example +0 -0
  16. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/dependabot.yml +0 -0
  18. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/pull_request_template.md +0 -0
  19. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/secret_scanning.yml +0 -0
  20. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/cla.yml +0 -0
  21. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/claude-code-review.yml +0 -0
  22. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/claude.yml +0 -0
  23. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/codeql.yml +0 -0
  24. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/lint.yml +0 -0
  25. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/mcp-server-docker.yml +0 -0
  26. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/release-graphiti-core.yml +0 -0
  27. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/typecheck.yml +0 -0
  28. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.github/workflows/unit_tests.yml +0 -0
  29. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/.gitignore +0 -0
  30. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/CLAUDE.md +0 -0
  31. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/CODE_OF_CONDUCT.md +0 -0
  32. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/CONTRIBUTING.md +0 -0
  33. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/Dockerfile +0 -0
  34. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/LICENSE +0 -0
  35. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/Makefile +0 -0
  36. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/README.md +0 -0
  37. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/SECURITY.md +0 -0
  38. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/Zep-CLA.md +0 -0
  39. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/conftest.py +0 -0
  40. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/depot.json +0 -0
  41. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/docker-compose.test.yml +0 -0
  42. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/docker-compose.yml +0 -0
  43. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/ellipsis.yaml +0 -0
  44. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/data/manybirds_products.json +0 -0
  45. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/ecommerce/runner.ipynb +0 -0
  46. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/ecommerce/runner.py +0 -0
  47. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/langgraph-agent/agent.ipynb +0 -0
  48. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/langgraph-agent/tinybirds-jess.png +0 -0
  49. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/podcast/podcast_transcript.txt +0 -0
  50. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/podcast/transcript_parser.py +0 -0
  51. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/quickstart/README.md +0 -0
  52. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/quickstart/quickstart_falkordb.py +0 -0
  53. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/quickstart/quickstart_neo4j.py +0 -0
  54. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/quickstart/requirements.txt +0 -0
  55. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/wizard_of_oz/parser.py +0 -0
  56. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/wizard_of_oz/runner.py +0 -0
  57. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/examples/wizard_of_oz/woo.txt +0 -0
  58. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/__init__.py +0 -0
  59. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/cross_encoder/__init__.py +0 -0
  60. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  61. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/cross_encoder/client.py +0 -0
  62. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/cross_encoder/gemini_reranker_client.py +0 -0
  63. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/driver/__init__.py +0 -0
  64. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/driver/driver.py +0 -0
  65. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/driver/falkordb_driver.py +0 -0
  66. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/driver/neo4j_driver.py +0 -0
  67. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/edges.py +0 -0
  68. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/__init__.py +0 -0
  69. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/azure_openai.py +0 -0
  70. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/client.py +0 -0
  71. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/gemini.py +0 -0
  72. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/openai.py +0 -0
  73. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/embedder/voyage.py +0 -0
  74. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/errors.py +0 -0
  75. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/graph_queries.py +0 -0
  76. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/graphiti.py +0 -0
  77. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/graphiti_types.py +0 -0
  78. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/helpers.py +0 -0
  79. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/__init__.py +0 -0
  80. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/anthropic_client.py +0 -0
  81. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/azure_openai_client.py +0 -0
  82. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/client.py +0 -0
  83. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/config.py +0 -0
  84. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/errors.py +0 -0
  85. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/gemini_client.py +0 -0
  86. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/groq_client.py +0 -0
  87. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  88. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/llm_client/utils.py +0 -0
  89. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/models/__init__.py +0 -0
  90. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/models/edges/__init__.py +0 -0
  91. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  92. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/models/nodes/__init__.py +0 -0
  93. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/nodes.py +0 -0
  94. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/__init__.py +0 -0
  95. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/dedupe_edges.py +0 -0
  96. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/eval.py +0 -0
  97. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  98. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/invalidate_edges.py +0 -0
  99. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/lib.py +0 -0
  100. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/models.py +0 -0
  101. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/prompt_helpers.py +0 -0
  102. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/prompts/summarize_nodes.py +0 -0
  103. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/py.typed +0 -0
  104. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/__init__.py +0 -0
  105. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search.py +0 -0
  106. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search_config.py +0 -0
  107. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search_config_recipes.py +0 -0
  108. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search_filters.py +0 -0
  109. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search_helpers.py +0 -0
  110. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/search/search_utils.py +0 -0
  111. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/telemetry/__init__.py +0 -0
  112. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/telemetry/telemetry.py +0 -0
  113. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/__init__.py +0 -0
  114. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/bulk_utils.py +0 -0
  115. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/datetime_utils.py +0 -0
  116. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/__init__.py +0 -0
  117. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  118. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  119. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  120. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/maintenance/utils.py +0 -0
  121. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
  122. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/images/arxiv-screenshot.png +0 -0
  123. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/images/graphiti-graph-intro.gif +0 -0
  124. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/images/graphiti-intro-slides-stock-2.gif +0 -0
  125. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/images/simple_graph.svg +0 -0
  126. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/.env.example +0 -0
  127. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/.python-version +0 -0
  128. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/Dockerfile +0 -0
  129. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/README.md +0 -0
  130. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/cursor_rules.md +0 -0
  131. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/docker-compose.yml +0 -0
  132. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/graphiti_mcp_server.py +0 -0
  133. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/mcp_config_sse_example.json +0 -0
  134. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/mcp_config_stdio_example.json +0 -0
  135. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/pyproject.toml +0 -0
  136. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/mcp_server/uv.lock +0 -0
  137. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/poetry.lock +0 -0
  138. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/py.typed +0 -0
  139. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/pytest.ini +0 -0
  140. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/.env.example +0 -0
  141. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/Makefile +0 -0
  142. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/README.md +0 -0
  143. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/__init__.py +0 -0
  144. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/config.py +0 -0
  145. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/dto/__init__.py +0 -0
  146. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/dto/common.py +0 -0
  147. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/dto/ingest.py +0 -0
  148. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/dto/retrieve.py +0 -0
  149. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/main.py +0 -0
  150. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/routers/__init__.py +0 -0
  151. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/routers/ingest.py +0 -0
  152. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/routers/retrieve.py +0 -0
  153. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/graph_service/zep_graphiti.py +0 -0
  154. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/pyproject.toml +0 -0
  155. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/server/uv.lock +0 -0
  156. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/cross_encoder/test_bge_reranker_client.py +0 -0
  157. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/cross_encoder/test_gemini_reranker_client.py +0 -0
  158. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/driver/__init__.py +0 -0
  159. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/driver/test_falkordb_driver.py +0 -0
  160. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/embedder/embedder_fixtures.py +0 -0
  161. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/embedder/test_gemini.py +0 -0
  162. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/embedder/test_openai.py +0 -0
  163. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/embedder/test_voyage.py +0 -0
  164. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/data/longmemeval_data/README.md +0 -0
  165. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/data/longmemeval_data/longmemeval_oracle.json +0 -0
  166. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/eval_cli.py +0 -0
  167. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/eval_e2e_graph_building.py +0 -0
  168. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/pytest.ini +0 -0
  169. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/evals/utils.py +0 -0
  170. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/helpers_test.py +0 -0
  171. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/llm_client/test_anthropic_client.py +0 -0
  172. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/llm_client/test_anthropic_client_int.py +0 -0
  173. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/llm_client/test_client.py +0 -0
  174. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/llm_client/test_errors.py +0 -0
  175. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/llm_client/test_gemini_client.py +0 -0
  176. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/test_edge_int.py +0 -0
  177. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/test_entity_exclusion_int.py +0 -0
  178. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/test_graphiti_int.py +0 -0
  179. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/test_node_int.py +0 -0
  180. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/utils/maintenance/test_edge_operations.py +0 -0
  181. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/utils/maintenance/test_temporal_operations_int.py +0 -0
  182. {graphiti_core-0.18.7 → graphiti_core-0.18.9}/tests/utils/search/search_utils_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphiti-core
3
- Version: 0.18.7
3
+ Version: 0.18.9
4
4
  Summary: A temporal graph building library
5
5
  Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
6
6
  Project-URL: Repository, https://github.com/getzep/graphiti
@@ -77,7 +77,11 @@ class IsPresidentOf(BaseModel):
77
77
 
78
78
  async def main(use_bulk: bool = False):
79
79
  setup_logging()
80
- client = Graphiti(neo4j_uri, neo4j_user, neo4j_password)
80
+ client = Graphiti(
81
+ neo4j_uri,
82
+ neo4j_user,
83
+ neo4j_password,
84
+ )
81
85
  await clear_data(client.driver)
82
86
  await client.build_indices_and_constraints()
83
87
  messages = parse_podcast_messages()
@@ -84,7 +84,7 @@ class OpenAIRerankerClient(CrossEncoderClient):
84
84
  responses = await semaphore_gather(
85
85
  *[
86
86
  self.client.chat.completions.create(
87
- model=DEFAULT_MODEL,
87
+ model=self.config.model or DEFAULT_MODEL,
88
88
  messages=openai_messages,
89
89
  temperature=0,
90
90
  max_tokens=1,
@@ -107,10 +107,10 @@ class BaseOpenAIClient(LLMClient):
107
107
 
108
108
  def _handle_structured_response(self, response: Any) -> dict[str, Any]:
109
109
  """Handle structured response parsing and validation."""
110
- response_object = response.choices[0].message
110
+ response_object = response.output_text
111
111
 
112
- if response_object.parsed:
113
- return response_object.parsed.model_dump()
112
+ if response_object:
113
+ return json.loads(response_object)
114
114
  elif response_object.refusal:
115
115
  raise RefusalError(response_object.refusal)
116
116
  else:
@@ -69,14 +69,16 @@ class OpenAIClient(BaseOpenAIClient):
69
69
  response_model: type[BaseModel],
70
70
  ):
71
71
  """Create a structured completion using OpenAI's beta parse API."""
72
- return await self.client.beta.chat.completions.parse(
72
+ response = await self.client.responses.parse(
73
73
  model=model,
74
- messages=messages,
74
+ input=messages, # type: ignore
75
75
  temperature=temperature,
76
- max_tokens=max_tokens,
77
- response_format=response_model, # type: ignore
76
+ max_output_tokens=max_tokens,
77
+ text_format=response_model, # type: ignore
78
78
  )
79
79
 
80
+ return response
81
+
80
82
  async def _create_completion(
81
83
  self,
82
84
  model: str,
@@ -111,7 +111,7 @@ def get_community_node_save_query(provider: GraphProvider) -> str:
111
111
  if provider == GraphProvider.FALKORDB:
112
112
  return """
113
113
  MERGE (n:Community {uuid: $uuid})
114
- SET n = {uuid: $uuid, name: $name, group_id: $group_id, summary: $summary, created_at: $created_at, name_embedding: $name_embedding}
114
+ SET n = {uuid: $uuid, name: $name, group_id: $group_id, summary: $summary, created_at: $created_at, name_embedding: vecf32($name_embedding)}
115
115
  RETURN n.uuid AS uuid
116
116
  """
117
117
 
@@ -108,7 +108,7 @@ def nodes(context: dict[str, Any]) -> list[Message]:
108
108
  Message(
109
109
  role='system',
110
110
  content='You are a helpful assistant that determines whether or not ENTITIES extracted from a conversation are duplicates'
111
- 'of existing entities.',
111
+ ' of existing entities.',
112
112
  ),
113
113
  Message(
114
114
  role='user',
@@ -94,6 +94,7 @@ Only extract facts that:
94
94
  - involve two DISTINCT ENTITIES from the ENTITIES list,
95
95
  - are clearly stated or unambiguously implied in the CURRENT MESSAGE,
96
96
  and can be represented as edges in a knowledge graph.
97
+ - Facts should include entity names rather than pronouns whenever possible.
97
98
  - The FACT TYPES provide a list of the most important types of facts, make sure to extract facts of these types
98
99
  - The FACT TYPES are not an exhaustive list, extract all facts from the message even if they do not fit into one
99
100
  of the FACT TYPES
@@ -100,7 +100,7 @@ Instructions:
100
100
 
101
101
  You are given a conversation context and a CURRENT MESSAGE. Your task is to extract **entity nodes** mentioned **explicitly or implicitly** in the CURRENT MESSAGE.
102
102
  Pronoun references such as he/she/they or this/that/those should be disambiguated to the names of the
103
- reference entities.
103
+ reference entities. Only extract distinct entities from the CURRENT MESSAGE. Don't extract pronouns like you, me, he/she/they, we/us as entities.
104
104
 
105
105
  1. **Speaker Extraction**: Always extract the speaker (the part before the colon `:` in each dialogue line) as the first entity node.
106
106
  - If the speaker is mentioned again in the message, treat both mentions as a **single entity**.
@@ -33,7 +33,8 @@ async def get_community_clusters(
33
33
  if group_ids is None:
34
34
  group_id_values, _, _ = await driver.execute_query(
35
35
  """
36
- MATCH (n:Entity WHERE n.group_id IS NOT NULL)
36
+ MATCH (n:Entity)
37
+ WHERE n.group_id IS NOT NULL
37
38
  RETURN
38
39
  collect(DISTINCT n.group_id) AS group_ids
39
40
  """,
@@ -152,9 +152,13 @@ async def extract_nodes(
152
152
  # Convert the extracted data into EntityNode objects
153
153
  extracted_nodes = []
154
154
  for extracted_entity in filtered_extracted_entities:
155
- entity_type_name = entity_types_context[extracted_entity.entity_type_id].get(
156
- 'entity_type_name'
157
- )
155
+ type_id = extracted_entity.entity_type_id
156
+ if 0 <= type_id < len(entity_types_context):
157
+ entity_type_name = entity_types_context[extracted_entity.entity_type_id].get(
158
+ 'entity_type_name'
159
+ )
160
+ else:
161
+ entity_type_name = 'Entity'
158
162
 
159
163
  # Check if this entity type should be excluded
160
164
  if excluded_entity_types and entity_type_name in excluded_entity_types:
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.18.7"
4
+ version = "0.18.9"
5
5
  authors = [
6
6
  { name = "Paul Paliychuk", email = "paul@getzep.com" },
7
7
  { name = "Preston Rasmussen", email = "preston@getzep.com" },
@@ -311,6 +311,14 @@
311
311
  "created_at": "2025-08-14T10:29:25Z",
312
312
  "repoId": 840056306,
313
313
  "pullRequestNo": 833
314
+ },
315
+ {
316
+ "name": "Wizmann",
317
+ "id": 1270921,
318
+ "comment_id": 3196208374,
319
+ "created_at": "2025-08-18T11:09:35Z",
320
+ "repoId": 840056306,
321
+ "pullRequestNo": 842
314
322
  }
315
323
  ]
316
324
  }
@@ -746,7 +746,7 @@ wheels = [
746
746
 
747
747
  [[package]]
748
748
  name = "graphiti-core"
749
- version = "0.18.7"
749
+ version = "0.18.9"
750
750
  source = { editable = "." }
751
751
  dependencies = [
752
752
  { name = "diskcache" },
File without changes
File without changes
File without changes
File without changes
File without changes