Known Issues¶
This page documents known issues with the Madeinoz Knowledge System, including their root causes and implemented workarounds. These are issues we're aware of that have solutions in place but may affect your usage or require understanding.
Pydantic Validation Errors with OpenAI-Compatible APIs¶
When using OpenAI-compatible API providers (OpenRouter, Together AI, Fireworks, etc.), users may encounter intermittent Pydantic validation errors during entity extraction and relationship mapping.
The Problem¶
Graphiti uses structured output (JSON schema validation) to ensure LLM responses conform to expected data types. Different LLM clients have different levels of structured output support:
| Client Type | Structured Output Method | Reliability |
|---|---|---|
OpenAIClient |
Parse API with strict schema enforcement | High |
OpenAIGenericClient |
Basic json_object mode |
Variable |
EdgeDuplicate Validation Errors
When using the wrong client type for cloud providers, you may see errors like:
These occur because the basic json_object mode doesn't enforce the strict schema that Graphiti expects, leading to malformed responses that fail Pydantic validation.
The Solution¶
The Docker container includes a patched factory module applied at image build time that automatically selects the appropriate client based on the endpoint type.
Client Selection Logic¶
| Endpoint Type | Client Used | Reason |
|---|---|---|
OpenAI Direct (api.openai.com) |
OpenAIClient |
Native support |
| Cloud Providers (OpenRouter, Together, etc.) | OpenAIClient |
Parse API support via proxy |
| Local Endpoints (Ollama, localhost) | OpenAIGenericClient |
No parse API available |
Root Cause Analysis¶
Impact on Users¶
Automatic Handling
This client selection happens automatically in the patched factory module. If you're using OpenRouter, Together AI, or other cloud providers, the system automatically uses the appropriate client with strict schema enforcement.
If you're experiencing validation errors:
- Ensure you're using the patched
factories.pyfrom this knowledge system - Check that your endpoint URL is correctly classified (cloud vs local)
- For local LLMs (Ollama), validation errors may still occur as they don't support the parse API
Recommended Cloud Providers
The following providers have been tested and work reliably with the patched client selection:
- OpenRouter (
openrouter.ai) - Excellent structured output support - Together AI (
api.together.xyz) - Good structured output support - Fireworks AI (
api.fireworks.ai) - Good structured output support
Upstream Tracking
This issue is tracked in the Graphiti repository:
- Issue #912 - EdgeDuplicate Pydantic validation errors
- Issue #1116 - MCP server ignores api_base/base_url configuration
Reporting New Issues¶
If you encounter an issue not documented here, please:
- Check the Common Issues page for troubleshooting steps
- Search existing GitHub Issues
- If it's a new issue, open a GitHub issue with:
- Steps to reproduce
- Expected vs actual behavior
- System information (OS, container runtime, versions)