结论

先说结论,用起来感觉就是一坨。对第三方模型支持很烂,没做任何其他模型的兼容性测试,仅仅测试了 OpenAI 家的模型。

碰到的问题

  1. MCP readme 文档稀烂,只提供 OpenAI 的环境变量有哪些
  2. 看 MCP 实现代码了解到不光要 LLM 还要 Embedding 模型,而且代码没提供第三方 API 的环境变量,只能自己改 MCP 代码来支持…
  3. 运行时调用 add_memory 工具开始出现各种问题,首先是从工具传入的参数中提取实体,MCP Server 内部会调用 LLM 来生成 JSON 结构化信息并解析。但是提示词写得很烂(见 graphiti_core/llm_client 下的各个 class 中的 generate_response 实现),模型回答成 json schema 内容而且还会带上 markdown 的代码块语法
    1. [BUG] JSON Structure Response Prompt Deficiencies: Missing Injection & Ambiguous Template Causing Model Compatibility Issues · Issue #710 · getzep/graphiti
  4. 调通上面的问题后,又有新的问题,传给 Neo4j 数据库的内容又不合法,LLM 回答的内容未遵循结构返回
    1. [BUG]mistral-embed model neo4j.exceptions.CypherTypeError: {code: Neo.ClientError.Statement.TypeError} {message: Property values can only be of primitive types or arrays thereof. Encountered: Map{summary · Issue #705 · getzep/graphiti
  5. 有报错就算了,报错信息没有任何上下文,完全不知道是哪里出了问题,排查个半天