getzep / zep

Zep | The Memory Foundation For Your AI Stack
https://help.getzep.com/ce
Apache License 2.0
2.57k stars 371 forks source link

[BUG] 404 after following docker-compose instructions #375

Closed Morriz closed 1 day ago

Morriz commented 1 day ago

Describe the bug I get a 404 as seen in the logs:

zep-app-1       | 2024-10-03T20:39:57.621Z  INFO    HTTP Request Served {"proto": "HTTP/1.1", "method": "GET", "path": "/admin", "request_id": "", "duration": "144.686µs", "status": 404, "response_size": 19}

To Reproduce follow the instructions of running with docker compose

Expected behavior to see a UI

Logs

zep-graphiti-1  | /usr/local/lib/python3.12/site-packages/pydantic/_internal/_fields.py:132: UserWarning: Field "model_name" in Settings has conflict with protected namespace "model_".
zep-graphiti-1  |
zep-graphiti-1  | You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ('settings_',)`.
zep-graphiti-1  |   warnings.warn(
zep-graphiti-1  | INFO:     Started server process [7]
zep-graphiti-1  | INFO:     Waiting for application startup.
zep-graphiti-1  | INFO:     Application startup complete.
zep-graphiti-1  | INFO:     Uvicorn running on http://0.0.0.0:8003 (Press CTRL+C to quit)
zep-db-1        | The files belonging to this database system will be owned by user "postgres".
zep-db-1        | This user must also own the server process.
zep-db-1        |
zep-db-1        | The database cluster will be initialized with locale "en_US.utf8".
zep-db-1        | The default database encoding has accordingly been set to "UTF8".
zep-db-1        | The default text search configuration will be set to "english".
zep-db-1        |
zep-db-1        | Data page checksums are disabled.
zep-db-1        |
zep-db-1        | fixing permissions on existing directory /var/lib/postgresql/data ... ok
zep-db-1        | creating subdirectories ... ok
zep-db-1        | selecting dynamic shared memory implementation ... posix
zep-db-1        | selecting default max_connections ... 100
zep-db-1        | selecting default shared_buffers ... 128MB
zep-db-1        | selecting default time zone ... Etc/UTC
zep-db-1        | creating configuration files ... ok
zep-db-1        | running bootstrap script ... ok
zep-db-1        | performing post-bootstrap initialization ... ok
zep-db-1        | initdb: warning: enabling "trust" authentication for local connections
zep-db-1        | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
zep-db-1        | syncing data to disk ... ok
zep-db-1        |
zep-db-1        |
zep-db-1        | Success. You can now start the database server using:
zep-db-1        |
zep-db-1        |     pg_ctl -D /var/lib/postgresql/data -l logfile start
zep-db-1        |
zep-db-1        | waiting for server to start....2024-10-03 20:33:54.921 UTC [48] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
zep-db-1        | 2024-10-03 20:33:54.922 UTC [48] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
zep-db-1        | 2024-10-03 20:33:54.929 UTC [51] LOG:  database system was shut down at 2024-10-03 20:33:54 UTC
zep-db-1        | 2024-10-03 20:33:54.934 UTC [48] LOG:  database system is ready to accept connections
zep-db-1        |  done
zep-db-1        | server started
zep-db-1        |
zep-db-1        | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
zep-db-1        |
zep-db-1        | waiting for server to shut down....2024-10-03 20:33:55.055 UTC [48] LOG:  received fast shutdown request
zep-db-1        | 2024-10-03 20:33:55.057 UTC [48] LOG:  aborting any active transactions
zep-db-1        | 2024-10-03 20:33:55.063 UTC [48] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
zep-db-1        | 2024-10-03 20:33:55.064 UTC [49] LOG:  shutting down
zep-app-1       | 2024-10-03T20:34:22.927Z  INFO    migration complete  {"group": "group #1 (000000000001_database_setup)"}
zep-graphiti-1  | Got a job: (size of remaining queue: 0)
zep-graphiti-1  | INFO:     127.0.0.1:51846 - "GET /healthcheck HTTP/1.1" 200 OK
zep-db-1        | 2024-10-03 20:33:55.065 UTC [49] LOG:  checkpoint starting: shutdown immediate
zep-neo4j-1     | Warning: Folder mounted to "/data" is not writable from inside container. Changing folder owner to neo4j.
zep-db-1        | 2024-10-03 20:33:55.080 UTC [49] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.002 s, total=0.017 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB
zep-db-1        | 2024-10-03 20:33:55.083 UTC [48] LOG:  database system is shut down
zep-db-1        |  done
zep-db-1        | server stopped
zep-neo4j-1     | Changed password for user 'neo4j'. IMPORTANT: this change will only take effect if performed before the database is started for the first time.
zep-neo4j-1     | 2024-10-03 20:34:01.826+0000 INFO  Logging config in use: File '/var/lib/neo4j/conf/user-logs.xml'
zep-neo4j-1     | 2024-10-03 20:34:01.853+0000 INFO  Starting...
zep-neo4j-1     | 2024-10-03 20:34:03.234+0000 INFO  This instance is ServerId{f1a4a580} (f1a4a580-1d2c-409d-86fe-1653532bc96a)
zep-neo4j-1     | 2024-10-03 20:34:04.830+0000 INFO  ======== Neo4j 5.22.0 ========
zep-neo4j-1     | 2024-10-03 20:34:07.689+0000 INFO  Anonymous Usage Data is being sent to Neo4j, see https://neo4j.com/docs/usage-data/
zep-neo4j-1     | 2024-10-03 20:34:07.754+0000 INFO  Bolt enabled on 0.0.0.0:7687.
zep-neo4j-1     | 2024-10-03 20:34:08.654+0000 INFO  HTTP enabled on 0.0.0.0:7474.
zep-neo4j-1     | 2024-10-03 20:34:08.656+0000 INFO  Remote interface available at http://localhost:7474/
zep-neo4j-1     | 2024-10-03 20:34:08.661+0000 INFO  id: 76AECBA4301846B6F63CD1821370F392A42CBCF13759E7FDCF75596B2579BC24
zep-neo4j-1     | 2024-10-03 20:34:08.662+0000 INFO  name: system
zep-neo4j-1     | 2024-10-03 20:34:08.662+0000 INFO  creationDate: 2024-10-03T20:34:06.131Z
zep-neo4j-1     | 2024-10-03 20:34:08.663+0000 INFO  Started.
zep-db-1        |
zep-db-1        | PostgreSQL init process complete; ready for start up.
zep-db-1        |
zep-db-1        | 2024-10-03 20:33:55.191 UTC [1] LOG:  starting PostgreSQL 15.4 (Debian 15.4-2.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
zep-db-1        | 2024-10-03 20:33:55.192 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
zep-db-1        | 2024-10-03 20:33:55.192 UTC [1] LOG:  listening on IPv6 address "::", port 5432
zep-db-1        | 2024-10-03 20:33:55.195 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
zep-db-1        | 2024-10-03 20:33:55.201 UTC [62] LOG:  database system was shut down at 2024-10-03 20:33:55 UTC
zep-db-1        | 2024-10-03 20:33:55.207 UTC [1] LOG:  database system is ready to accept connections
zep-graphiti-1  | INFO:     127.0.0.1:35830 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:38836 - "GET /healthcheck HTTP/1.1" 200 OK
zep-app-1       | 2024-10-03T20:34:49.079Z  INFO    HTTP Request Served {"proto": "HTTP/1.1", "method": "GET", "path": "/", "request_id": "", "duration": "105.89µs", "status": 404, "response_size": 19}
zep-graphiti-1  | INFO:     127.0.0.1:40344 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:49890 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:34928 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:49024 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:45746 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:45098 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:44870 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:49662 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:33780 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:52868 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:56092 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:50476 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:37606 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:54470 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:44422 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:49816 - "GET /healthcheck HTTP/1.1" 200 OK
zep-app-1       | 2024-10-03T20:37:32.739Z  INFO    HTTP Request Served {"proto": "HTTP/1.1", "method": "GET", "path": "/", "request_id": "", "duration": "96.371µs", "status": 404, "response_size": 19}
zep-graphiti-1  | INFO:     127.0.0.1:52644 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:39500 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:50400 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:44536 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:40804 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:47272 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:51878 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:49380 - "GET /healthcheck HTTP/1.1" 200 OK
zep-db-1        | 2024-10-03 20:38:55.300 UTC [60] LOG:  checkpoint starting: time
zep-graphiti-1  | INFO:     127.0.0.1:43162 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:53294 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:54280 - "GET /healthcheck HTTP/1.1" 200 OK
zep-db-1        | 2024-10-03 20:39:19.497 UTC [60] LOG:  checkpoint complete: wrote 244 buffers (1.5%); 0 WAL file(s) added, 0 removed, 0 recycled; write=24.143 s, sync=0.045 s, total=24.197 s; sync files=141, longest=0.002 s, average=0.001 s; distance=1080 kB, estimate=1080 kB
zep-graphiti-1  | INFO:     127.0.0.1:48150 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:34470 - "GET /healthcheck HTTP/1.1" 200 OK
zep-graphiti-1  | INFO:     127.0.0.1:45898 - "GET /healthcheck HTTP/1.1" 200 OK
zep-app-1       | 2024-10-03T20:39:57.621Z  INFO    HTTP Request Served {"proto": "HTTP/1.1", "method": "GET", "path": "/admin", "request_id": "", "duration": "144.686µs", "status": 404, "response_size": 19}

Environment (please complete the following information):

Additional context Add any other context about the problem here.

Morriz commented 1 day ago

the is my config:

log:
  # debug, info, warn, error, panic, dpanic, or fatal. Default = info
  level: info
  # How should logs be formatted? Setting to "console" will print human readable logs
  # whie "json" will print structured JSON logs. Default is "json".
  format: console
http:
  # Host to bind to. Default is 0.0.0.0
  host: 0.0.0.0
  # Port to bind to. Default is 8000
  port: 8000
  max_request_size: 5242880
postgres:
  user: postgres
  password: postgres
  host: zep-db
  port: 5432
  schema_name: public
  read_timeout: 30
  write_timeout: 30
  max_open_connections: 10
# Carbon is a package used for dealing with time - github.com/golang-module/carbon
# It is primarily used for generating humand readable relative time strings like "2 hours ago".
# See the list of supported languages here https://github.com/golang-module/carbon?tab=readme-ov-file#i18n
carbon:
  locale: en
graphiti:
  # Base url to the graphiti service
  service_url: http://zep-graphiti:8003
# In order to authenicate API requests to the Zep service, a secret must be provided.
# This secret should be kept secret between the Zep service and the client. It can be any string value.
# When making requests to the Zep service, include the secret in the Authorization header.
api_secret: xx
# In order to better understand how Zep is used, we can collect telemetry data.
# This is optional and can be disabled by setting disabled to true.
# We do not collect any PII or any of your data. We only collect anonymized data
# about how Zep is used.
telemetry:
  disabled: false
  # Please provide an identifying name for your organization so can get a better understanding
  # about who is using Zep. This is optional.
  organization_name:
danielchalef commented 1 day ago

Hi @Morriz - Zep CE does not ship with a web UI. You can see a feature comparison of Community Edition and Zep Cloud here: https://help.getzep.com/ce/ce-vs-cloud

Morriz commented 1 day ago

Shame. Then can you provide at least documentation on how to test our api endpoint?

Morriz commented 1 day ago

Plus, with log level debug no extra info is given. I also get a 404 when targeting the api like this:

zep-app-1       | 2024-10-03T21:35:51.706Z  INFO    HTTP Request Served {"proto": "HTTP/1.1", "method": "GET", "path": "/api/v1/collection", "request_id": "", "duration": "84.353µs", "status": 404, "response_size": 19}
danielchalef commented 1 day ago

Zep no longer supports Document Collections: https://help.getzep.com/document-collections

I noticed we should have mentioned this in the README and fixed this.

Many vector databases are available today, and this wasn't a differentiated feature for Zep. We suggest you look at the list of vector database vendors here, many of which are available as open-source products: https://python.langchain.com/docs/integrations/vectorstores/

Morriz commented 18 hours ago

Well, that is what your current integration in n8n produced. Are you aware of such regression vectors at all? This all feels very alpha to me, as the lot of you do not seem to care about the world out there. Where can we read about your changes and the potential impact it has across the board?

danielchalef commented 17 hours ago

The n8n integration was developed by the n8n team, with us contributing later to it. We don't own the integration.

A full list of changes may be found on the project README: https://github.com/getzep/zep?tab=readme-ov-file#how-does-zep-community-edition-differ-from-zep-open-source-v0x