Daniel Chalef 895afc7be1 implement diskcache (#39)
* chore: Add romeo runner

* fix: Linter

* wip

* wip dump

* chore: Update romeo parser

* chore: Anthropic model fix

* wip

* allbirds

* allbirds runner

* format

* wip

* wip

* mypy updates

* update

* remove r

* update tests

* format

* wip

* chore: Strategically update the message

* rebase and fix import issues

* Update package imports for graphiti_core in examples and utils

* nits

* chore: Update OpenAI GPT-4o model to gpt-4o-2024-08-06

* implement groq

* improvments & linting

* cleanup and nits

* Refactor package imports for graphiti_core in examples and utils

* Refactor package imports for graphiti_core in examples and utils

* implement diskcache

* remove debug stuff

* log cache hit when debugging only

* Improve LLM config. Fix bugs (#41)

Refactor LLMConfig class to allow None values for model and base_url

* chore: Resolve mc

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
2024-08-26 13:13:05 -04:00
2024-08-26 10:30:22 -04:00
2024-08-26 13:13:05 -04:00
2024-08-26 13:13:05 -04:00
2024-08-13 14:35:43 -04:00
2024-08-26 13:13:05 -04:00
2024-08-22 12:26:13 -07:00
2024-08-25 10:07:50 -07:00
2024-08-26 13:13:05 -04:00
2024-08-26 13:13:05 -04:00
2024-08-22 12:26:13 -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.

Description
Build and query dynamic, temporally-aware Knowledge Graphs
Readme Apache-2.0 2.9 MiB
Languages
Python 98.9%
Dockerfile 0.6%
Makefile 0.5%