No description
Find a file
Daniel Chalef a6d63f0c0d
Add text episode type (#46)
Add a new `text` episode type and update the `extract_nodes` function to handle it.

* **EpisodeType Enum:**
  - Add `text` to the `EpisodeType` enum in `graphiti_core/nodes.py`.
  - Update the `from_str` method to handle the `text` episode type.

* **extract_nodes Function:**
  - Update the `extract_nodes` function in `graphiti_core/utils/maintenance/node_operations.py` to handle the `text` episode type.
  - Use the `message` type prompt for both `message` and `text` episodes.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).
2024-08-26 15:51:13 -07:00
.github Controlled example (#37) 2024-08-26 10:30:22 -04:00
examples implement diskcache (#39) 2024-08-26 13:13:05 -04:00
graphiti_core Add text episode type (#46) 2024-08-26 15:51:13 -07:00
signatures/version1 Update CONTRIBUTING.md to reflect Python 3.10+ requirement (#33) 2024-08-23 13:54:44 -07:00
tests chore: Add comments to graphiti methods (#40) 2024-08-26 13:11:50 -04:00
.env.example add nodes and edges 2024-08-13 14:35:43 -04:00
.gitignore implement diskcache (#39) 2024-08-26 13:13:05 -04:00
CODE_OF_CONDUCT.md feat: Add CLA Assistant workflow and CONTRIBUTING guidelines (#32) 2024-08-23 13:32:57 -07:00
conftest.py format and linting (#18) 2024-08-22 12:26:13 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md to reflect Python 3.10+ requirement (#33) 2024-08-23 13:54:44 -07:00
ellipsis.yaml Add Apache License 2.0 boilerplate to all Python files (#30) 2024-08-23 16:01:33 -04:00
LICENSE Add a LICENSE file containing the Apache v2 license (#29) 2024-08-23 11:16:12 -07:00
Makefile chore: Fix packaging (#38) 2024-08-25 10:07:50 -07:00
poetry.lock Implement retry for LLMClient (#44) 2024-08-26 12:53:16 -07:00
pyproject.toml Implement retry for LLMClient (#44) 2024-08-26 12:53:16 -07:00
pytest.ini feat: Initial version of temporal invalidation + tests (#8) 2024-08-20 16:29:19 -04:00
README.md Add a LICENSE file containing the Apache v2 license (#29) 2024-08-23 11:16:12 -07:00
SECURITY.md format and linting (#18) 2024-08-22 12:26:13 -07:00
Zep-CLA.md feat: Add CLA Assistant workflow and CONTRIBUTING guidelines (#32) 2024-08-23 13:32:57 -07:00

Graphiti (LLM generated readme)

Graphiti is a Python library for building and managing knowledge graphs using Neo4j and OpenAI's language models. It provides a flexible framework for processing episodes of information, extracting semantic nodes and edges, and maintaining a dynamic graph structure.

Features

  • Asynchronous interaction with Neo4j database
  • Integration with OpenAI's GPT models for natural language processing
  • Automatic extraction of semantic nodes and edges from episodic data
  • Temporal tracking of relationships and facts
  • Flexible schema management

Installation

(Add installation instructions here)

Quick Start

from graphiti import Graphiti

# Initialize Graphiti
graphiti = Graphiti("bolt://localhost:7687", "neo4j", "password")

# Process an episode
await graphiti.process_episode(
    name="Example Episode",
    episode_body="Alice met Bob at the coffee shop.",
    source_description="User input",
    reference_time=datetime.now()
)

# Retrieve recent episodes
recent_episodes = await graphiti.retrieve_episodes(last_n=5)

# Close the connection
graphiti.close()

Documentation

(Add link to full documentation when available)

Contributing

(Add contribution guidelines)

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.