mem0ai / mem0

The Memory layer for your AI apps
https://mem0.ai
Apache License 2.0
21.85k stars 2k forks source link

Issue Description: Encountered a TypeError when using the chroma configuration from the documentation for setting up vector-db. #1866

Open chengzi0103 opened 6 days ago

chengzi0103 commented 6 days ago

🐛 Describe the bug

Here is the optimized and translated issue submission content:


Issue Description:

I encountered a configuration validation error when trying to use chroma as the vector store provider. Below is the configuration and code that was used:

config = {
    "vector_store": {
        "provider": "chroma",
        "config": {
            "collection_name": "test",
            "path": "/Users/chenzi/project/zcbc/run_demo",
        }
    }
}

m = Memory.from_config(config)

Error Message:

The following error was returned:

ERROR:root:Configuration validation error: 1 validation error for MemoryConfig
vector_store.config
  Value error, Unsupported vector store provider: chroma [type=value_error, input_value={'collection_name': 'test', 'path': 'test_db'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/value_error

System Information:

It seems like chroma is not being recognized as a supported vector store provider. Any help in resolving this issue would be greatly appreciated!


Dev-Khant commented 5 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue.

Please let me know if you still face the issue.

chengzi0103 commented 4 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue.

Please let me know if you still face the issue.

Thank you for your response. Here are my suggestions:

I have tested it on the latest mem0ai version 0.1.14, and it works successfully. Thank you! I suggest specifying the required version in the documentation and mentioning that Neo4j requires the APOC plugin to run properly. It would be great to highlight this in the documentation.

chengzi0103 commented 4 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue.

Please let me know if you still face the issue.

Additionally, could you provide an explanation of the implementation logic behind some of your core mechanisms?

Dev-Khant commented 4 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue. Please let me know if you still face the issue.

Thank you for your response. Here are my suggestions:

I have tested it on the latest mem0ai version 0.1.14, and it works successfully. Thank you! I suggest specifying the required version in the documentation and mentioning that Neo4j requires the APOC plugin to run properly. It would be great to highlight this in the documentation.

Glad it helped, can you please tell me why do we need APOC plugin for Ne04j. It can run without it.

Dev-Khant commented 4 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue. Please let me know if you still face the issue.

Additionally, could you provide an explanation of the implementation logic behind some of your core mechanisms?

Hey, this could help: https://docs.mem0.ai/features#how-does-mem0-work.

chengzi0103 commented 4 days ago

@chengzi0103 Please update to latest version of mem0, it should fix the issue. Please let me know if you still face the issue.

Thank you for your response. Here are my suggestions: I have tested it on the latest mem0ai version 0.1.14, and it works successfully. Thank you! I suggest specifying the required version in the documentation and mentioning that Neo4j requires the APOC plugin to run properly. It would be great to highlight this in the documentation.

Glad it helped, can you please tell me why do we need APOC plugin for Ne04j. It can run without it.

When I used Neo4j, I recall being prompted to install the APOC plugin if it wasn't already installed. This seems particularly related to embedding retrieval in the data. It might be a good idea to test this within a Docker Compose setup to ensure everything works as expected. Additionally, I feel that your documentation is a bit too simple and lacks explanation of the underlying principles. I went through your entire process, debugging it from start to finish, and I must say it's excellent. It gave me many new ideas, especially the combination of memory and graph. It's a bold and innovative approach!