Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Update service readme #93

Merged
merged 5 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,12 @@ await graphiti.search('Who was the California Attorney General?', center_node_uu
graphiti.close()
```

## Graph Service

The `graph_service` directory contains a simple API service for interacting with the Graphiti API. It is built using FastAPI.

Please see the [server README](./server/README.md) for more information.

## Documentation

- [Guides and API documentation](https://help.getzep.com/graphiti).
Expand Down
54 changes: 40 additions & 14 deletions server/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,58 @@
# graph-service

Graph service is a fast api server implementing the Graphiti package.
Graph service is a fast api server implementing the [graphiti](https://github.com/getzep/graphiti) package.


## Running Instructions

1. Ensure you have Docker and Docker Compose installed on your system.

2. Clone the repository and navigate to the `graph-service` directory.
2. Add `zepai/graph-service:latest` to your service setup

3. Create a `.env` file in the `graph-service` directory with the following content:
3. Make sure to pass the following environment variables to the service

```
OPENAI_API_KEY=your_openai_api_key
NEO4J_USER=neo4j
NEO4J_USER=your_neo4j_user
NEO4J_PASSWORD=your_neo4j_password
NEO4J_PORT=7687
NEO4J_PORT=your_neo4j_port
```

Replace `your_openai_api_key` and `your_neo4j_password` with your actual OpenAI API key and desired Neo4j password.

4. Run the following command to start the services:

```
docker-compose up --build
4. This service depends on having access to a neo4j instance, you may wish to add a neo4j image to your service setup as well. Or you may wish to use neo4j cloud or a desktop version if running this locally.

An example of docker compose setup may look like this:

```yml
version: '3.8'

services:
graph:
build: .
ports:
- "8000:8000"

environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- NEO4J_URI=bolt://neo4j:${NEO4J_PORT}
- NEO4J_USER=${NEO4J_USER}
- NEO4J_PASSWORD=${NEO4J_PASSWORD}
neo4j:
image: neo4j:5.22.0

ports:
- "7474:7474" # HTTP
- "${NEO4J_PORT}:${NEO4J_PORT}" # Bolt
volumes:
- neo4j_data:/data
environment:
- NEO4J_AUTH=${NEO4J_USER}/${NEO4J_PASSWORD}

volumes:
neo4j_data:
```

5. The graph service will be available at `http://localhost:8000`.
5. Once you start the service, it will be available at `http://localhost:8000` (or the port you have specified in the docker compose file).

6. You may access the swagger docs at `http://localhost:8000/docs`.
6. You may access the swagger docs at `http://localhost:8000/docs`. You may also access redocs at `http://localhost:8000/redoc`.

7. You may also access the neo4j browser at `http://localhost:7474`.
7. You may also access the neo4j browser at `http://localhost:7474` (the port depends on the neo4j instance you are using).