gitextract_jergwx9d/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation_issue.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── cd.yml │ ├── ci.yml │ ├── openclaw-checks.yml │ └── ts-sdk-ci.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE ├── LLM.md ├── MIGRATION_GUIDE_v1.0.md ├── Makefile ├── README.md ├── cookbooks/ │ ├── customer-support-chatbot.ipynb │ ├── helper/ │ │ ├── __init__.py │ │ └── mem0_teachability.py │ └── mem0-autogen.ipynb ├── docs/ │ ├── README.md │ ├── _snippets/ │ │ ├── async-memory-add.mdx │ │ ├── blank-notif.mdx │ │ ├── get-help.mdx │ │ └── paper-release.mdx │ ├── api-reference/ │ │ ├── entities/ │ │ │ ├── delete-user.mdx │ │ │ └── get-users.mdx │ │ ├── events/ │ │ │ ├── get-event.mdx │ │ │ └── get-events.mdx │ │ ├── memory/ │ │ │ ├── add-memories.mdx │ │ │ ├── batch-delete.mdx │ │ │ ├── batch-update.mdx │ │ │ ├── create-memory-export.mdx │ │ │ ├── delete-memories.mdx │ │ │ ├── delete-memory.mdx │ │ │ ├── feedback.mdx │ │ │ ├── get-memories.mdx │ │ │ ├── get-memory-export.mdx │ │ │ ├── get-memory.mdx │ │ │ ├── history-memory.mdx │ │ │ ├── search-memories.mdx │ │ │ └── update-memory.mdx │ │ ├── organization/ │ │ │ ├── add-org-member.mdx │ │ │ ├── create-org.mdx │ │ │ ├── delete-org.mdx │ │ │ ├── get-org-members.mdx │ │ │ ├── get-org.mdx │ │ │ └── get-orgs.mdx │ │ ├── organizations-projects.mdx │ │ ├── project/ │ │ │ ├── add-project-member.mdx │ │ │ ├── create-project.mdx │ │ │ ├── delete-project.mdx │ │ │ ├── get-project-members.mdx │ │ │ ├── get-project.mdx │ │ │ └── get-projects.mdx │ │ └── webhook/ │ │ ├── create-webhook.mdx │ │ ├── delete-webhook.mdx │ │ ├── get-webhook.mdx │ │ └── update-webhook.mdx │ ├── api-reference.mdx │ ├── changelog.mdx │ ├── components/ │ │ ├── embedders/ │ │ │ ├── config.mdx │ │ │ ├── models/ │ │ │ │ ├── aws_bedrock.mdx │ │ │ │ ├── azure_openai.mdx │ │ │ │ ├── google_AI.mdx │ │ │ │ ├── huggingface.mdx │ │ │ │ ├── langchain.mdx │ │ │ │ ├── lmstudio.mdx │ │ │ │ ├── ollama.mdx │ │ │ │ ├── openai.mdx │ │ │ │ ├── together.mdx │ │ │ │ └── vertexai.mdx │ │ │ └── overview.mdx │ │ ├── llms/ │ │ │ ├── config.mdx │ │ │ ├── models/ │ │ │ │ ├── anthropic.mdx │ │ │ │ ├── aws_bedrock.mdx │ │ │ │ ├── azure_openai.mdx │ │ │ │ ├── deepseek.mdx │ │ │ │ ├── google_AI.mdx │ │ │ │ ├── groq.mdx │ │ │ │ ├── langchain.mdx │ │ │ │ ├── litellm.mdx │ │ │ │ ├── lmstudio.mdx │ │ │ │ ├── mistral_AI.mdx │ │ │ │ ├── ollama.mdx │ │ │ │ ├── openai.mdx │ │ │ │ ├── sarvam.mdx │ │ │ │ ├── together.mdx │ │ │ │ ├── vllm.mdx │ │ │ │ └── xAI.mdx │ │ │ └── overview.mdx │ │ ├── rerankers/ │ │ │ ├── config.mdx │ │ │ ├── custom-prompts.mdx │ │ │ ├── models/ │ │ │ │ ├── cohere.mdx │ │ │ │ ├── huggingface.mdx │ │ │ │ ├── llm.mdx │ │ │ │ ├── llm_reranker.mdx │ │ │ │ ├── sentence_transformer.mdx │ │ │ │ └── zero_entropy.mdx │ │ │ ├── optimization.mdx │ │ │ └── overview.mdx │ │ └── vectordbs/ │ │ ├── config.mdx │ │ ├── dbs/ │ │ │ ├── azure.mdx │ │ │ ├── azure_mysql.mdx │ │ │ ├── baidu.mdx │ │ │ ├── cassandra.mdx │ │ │ ├── chroma.mdx │ │ │ ├── databricks.mdx │ │ │ ├── elasticsearch.mdx │ │ │ ├── faiss.mdx │ │ │ ├── langchain.mdx │ │ │ ├── milvus.mdx │ │ │ ├── mongodb.mdx │ │ │ ├── neptune_analytics.mdx │ │ │ ├── opensearch.mdx │ │ │ ├── pgvector.mdx │ │ │ ├── pinecone.mdx │ │ │ ├── qdrant.mdx │ │ │ ├── redis.mdx │ │ │ ├── s3_vectors.mdx │ │ │ ├── supabase.mdx │ │ │ ├── upstash-vector.mdx │ │ │ ├── valkey.mdx │ │ │ ├── vectorize.mdx │ │ │ ├── vertex_ai.mdx │ │ │ └── weaviate.mdx │ │ └── overview.mdx │ ├── contributing/ │ │ ├── development.mdx │ │ └── documentation.mdx │ ├── cookbooks/ │ │ ├── companions/ │ │ │ ├── ai-tutor.mdx │ │ │ ├── local-companion-ollama.mdx │ │ │ ├── nodejs-companion.mdx │ │ │ ├── quickstart-demo.mdx │ │ │ ├── travel-assistant.mdx │ │ │ ├── voice-companion-openai.mdx │ │ │ └── youtube-research.mdx │ │ ├── essentials/ │ │ │ ├── building-ai-companion.mdx │ │ │ ├── choosing-memory-architecture-vector-vs-graph.mdx │ │ │ ├── controlling-memory-ingestion.mdx │ │ │ ├── entity-partitioning-playbook.mdx │ │ │ ├── exporting-memories.mdx │ │ │ ├── memory-expiration-short-and-long-term.mdx │ │ │ └── tagging-and-organizing-memories.mdx │ │ ├── frameworks/ │ │ │ ├── chrome-extension.mdx │ │ │ ├── eliza-os-character.mdx │ │ │ ├── gemini-3-with-mem0-mcp.mdx │ │ │ ├── llamaindex-multiagent.mdx │ │ │ ├── llamaindex-react.mdx │ │ │ ├── mirofish-swarm-memory.mdx │ │ │ └── multimodal-retrieval.mdx │ │ ├── integrations/ │ │ │ ├── agents-sdk-tool.mdx │ │ │ ├── aws-bedrock.mdx │ │ │ ├── healthcare-google-adk.mdx │ │ │ ├── mastra-agent.mdx │ │ │ ├── neptune-analytics.mdx │ │ │ ├── openai-tool-calls.mdx │ │ │ └── tavily-search.mdx │ │ ├── operations/ │ │ │ ├── content-writing.mdx │ │ │ ├── deep-research.mdx │ │ │ ├── email-automation.mdx │ │ │ ├── support-inbox.mdx │ │ │ └── team-task-agent.mdx │ │ └── overview.mdx │ ├── core-concepts/ │ │ ├── memory-operations/ │ │ │ ├── add.mdx │ │ │ ├── delete.mdx │ │ │ ├── search.mdx │ │ │ └── update.mdx │ │ └── memory-types.mdx │ ├── docs.json │ ├── integrations/ │ │ ├── agentops.mdx │ │ ├── agno.mdx │ │ ├── autogen.mdx │ │ ├── aws-bedrock.mdx │ │ ├── camel-ai.mdx │ │ ├── crewai.mdx │ │ ├── dify.mdx │ │ ├── elevenlabs.mdx │ │ ├── flowise.mdx │ │ ├── google-ai-adk.mdx │ │ ├── keywords.mdx │ │ ├── langchain-tools.mdx │ │ ├── langchain.mdx │ │ ├── langgraph.mdx │ │ ├── livekit.mdx │ │ ├── llama-index.mdx │ │ ├── mastra.mdx │ │ ├── openai-agents-sdk.mdx │ │ ├── openclaw.mdx │ │ ├── pipecat.mdx │ │ ├── raycast.mdx │ │ └── vercel-ai-sdk.mdx │ ├── integrations.mdx │ ├── introduction.mdx │ ├── llms.txt │ ├── migration/ │ │ ├── api-changes.mdx │ │ ├── breaking-changes.mdx │ │ ├── oss-to-platform.mdx │ │ └── v0-to-v1.mdx │ ├── open-source/ │ │ ├── configuration.mdx │ │ ├── features/ │ │ │ ├── async-memory.mdx │ │ │ ├── custom-fact-extraction-prompt.mdx │ │ │ ├── custom-update-memory-prompt.mdx │ │ │ ├── graph-memory.mdx │ │ │ ├── metadata-filtering.mdx │ │ │ ├── multimodal-support.mdx │ │ │ ├── openai_compatibility.mdx │ │ │ ├── overview.mdx │ │ │ ├── reranker-search.mdx │ │ │ ├── reranking.mdx │ │ │ └── rest-api.mdx │ │ ├── multimodal-support.mdx │ │ ├── node-quickstart.mdx │ │ ├── overview.mdx │ │ └── python-quickstart.mdx │ ├── openapi.json │ ├── openmemory/ │ │ ├── integrations.mdx │ │ ├── overview.mdx │ │ └── quickstart.mdx │ ├── platform/ │ │ ├── advanced-memory-operations.mdx │ │ ├── contribute.mdx │ │ ├── faqs.mdx │ │ ├── features/ │ │ │ ├── advanced-retrieval.mdx │ │ │ ├── async-client.mdx │ │ │ ├── async-mode-default-change.mdx │ │ │ ├── contextual-add.mdx │ │ │ ├── criteria-retrieval.mdx │ │ │ ├── custom-categories.mdx │ │ │ ├── custom-instructions.mdx │ │ │ ├── direct-import.mdx │ │ │ ├── entity-scoped-memory.mdx │ │ │ ├── expiration-date.mdx │ │ │ ├── feedback-mechanism.mdx │ │ │ ├── graph-memory.mdx │ │ │ ├── graph-threshold.mdx │ │ │ ├── group-chat.mdx │ │ │ ├── mcp-integration.mdx │ │ │ ├── memory-export.mdx │ │ │ ├── multimodal-support.mdx │ │ │ ├── platform-overview.mdx │ │ │ ├── timestamp.mdx │ │ │ ├── v2-memory-filters.mdx │ │ │ └── webhooks.mdx │ │ ├── mem0-mcp.mdx │ │ ├── overview.mdx │ │ ├── platform-vs-oss.mdx │ │ └── quickstart.mdx │ └── templates/ │ ├── api_reference_template.mdx │ ├── concept_guide_template.mdx │ ├── cookbook_template.mdx │ ├── feature_guide_template.mdx │ ├── integration_guide_template.mdx │ ├── migration_guide_template.mdx │ ├── operation_guide_template.mdx │ ├── parameters_reference_template.mdx │ ├── quickstart_template.mdx │ ├── release_notes_template.mdx │ ├── section_overview_template.mdx │ └── troubleshooting_playbook_template.mdx ├── embedchain/ │ ├── CITATION.cff │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── configs/ │ │ ├── anthropic.yaml │ │ ├── aws_bedrock.yaml │ │ ├── azure_openai.yaml │ │ ├── chroma.yaml │ │ ├── chunker.yaml │ │ ├── clarifai.yaml │ │ ├── cohere.yaml │ │ ├── full-stack.yaml │ │ ├── google.yaml │ │ ├── gpt4.yaml │ │ ├── gpt4all.yaml │ │ ├── huggingface.yaml │ │ ├── jina.yaml │ │ ├── llama2.yaml │ │ ├── ollama.yaml │ │ ├── opensearch.yaml │ │ ├── opensource.yaml │ │ ├── pinecone.yaml │ │ ├── pipeline.yaml │ │ ├── together.yaml │ │ ├── vertexai.yaml │ │ ├── vllm.yaml │ │ └── weaviate.yaml │ ├── docs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── _snippets/ │ │ │ ├── get-help.mdx │ │ │ ├── missing-data-source-tip.mdx │ │ │ ├── missing-llm-tip.mdx │ │ │ └── missing-vector-db-tip.mdx │ │ ├── api-reference/ │ │ │ ├── advanced/ │ │ │ │ └── configuration.mdx │ │ │ ├── app/ │ │ │ │ ├── add.mdx │ │ │ │ ├── chat.mdx │ │ │ │ ├── delete.mdx │ │ │ │ ├── deploy.mdx │ │ │ │ ├── evaluate.mdx │ │ │ │ ├── get.mdx │ │ │ │ ├── overview.mdx │ │ │ │ ├── query.mdx │ │ │ │ ├── reset.mdx │ │ │ │ └── search.mdx │ │ │ ├── overview.mdx │ │ │ └── store/ │ │ │ ├── ai-assistants.mdx │ │ │ └── openai-assistant.mdx │ │ ├── community/ │ │ │ └── connect-with-us.mdx │ │ ├── components/ │ │ │ ├── data-sources/ │ │ │ │ ├── audio.mdx │ │ │ │ ├── beehiiv.mdx │ │ │ │ ├── csv.mdx │ │ │ │ ├── custom.mdx │ │ │ │ ├── data-type-handling.mdx │ │ │ │ ├── directory.mdx │ │ │ │ ├── discord.mdx │ │ │ │ ├── discourse.mdx │ │ │ │ ├── docs-site.mdx │ │ │ │ ├── docx.mdx │ │ │ │ ├── dropbox.mdx │ │ │ │ ├── excel-file.mdx │ │ │ │ ├── github.mdx │ │ │ │ ├── gmail.mdx │ │ │ │ ├── google-drive.mdx │ │ │ │ ├── image.mdx │ │ │ │ ├── json.mdx │ │ │ │ ├── mdx.mdx │ │ │ │ ├── mysql.mdx │ │ │ │ ├── notion.mdx │ │ │ │ ├── openapi.mdx │ │ │ │ ├── overview.mdx │ │ │ │ ├── pdf-file.mdx │ │ │ │ ├── postgres.mdx │ │ │ │ ├── qna.mdx │ │ │ │ ├── sitemap.mdx │ │ │ │ ├── slack.mdx │ │ │ │ ├── substack.mdx │ │ │ │ ├── text-file.mdx │ │ │ │ ├── text.mdx │ │ │ │ ├── web-page.mdx │ │ │ │ ├── xml.mdx │ │ │ │ ├── youtube-channel.mdx │ │ │ │ └── youtube-video.mdx │ │ │ ├── embedding-models.mdx │ │ │ ├── evaluation.mdx │ │ │ ├── introduction.mdx │ │ │ ├── llms.mdx │ │ │ ├── retrieval-methods.mdx │ │ │ ├── vector-databases/ │ │ │ │ ├── chromadb.mdx │ │ │ │ ├── elasticsearch.mdx │ │ │ │ ├── lancedb.mdx │ │ │ │ ├── opensearch.mdx │ │ │ │ ├── pinecone.mdx │ │ │ │ ├── qdrant.mdx │ │ │ │ ├── weaviate.mdx │ │ │ │ └── zilliz.mdx │ │ │ └── vector-databases.mdx │ │ ├── contribution/ │ │ │ ├── dev.mdx │ │ │ ├── docs.mdx │ │ │ ├── guidelines.mdx │ │ │ └── python.mdx │ │ ├── deployment/ │ │ │ ├── fly_io.mdx │ │ │ ├── gradio_app.mdx │ │ │ ├── huggingface_spaces.mdx │ │ │ ├── modal_com.mdx │ │ │ ├── railway.mdx │ │ │ ├── render_com.mdx │ │ │ └── streamlit_io.mdx │ │ ├── development.mdx │ │ ├── examples/ │ │ │ ├── chat-with-PDF.mdx │ │ │ ├── community/ │ │ │ │ └── showcase.mdx │ │ │ ├── discord_bot.mdx │ │ │ ├── full_stack.mdx │ │ │ ├── nextjs-assistant.mdx │ │ │ ├── notebooks-and-replits.mdx │ │ │ ├── openai-assistant.mdx │ │ │ ├── opensource-assistant.mdx │ │ │ ├── poe_bot.mdx │ │ │ ├── rest-api/ │ │ │ │ ├── add-data.mdx │ │ │ │ ├── chat.mdx │ │ │ │ ├── check-status.mdx │ │ │ │ ├── create.mdx │ │ │ │ ├── delete.mdx │ │ │ │ ├── deploy.mdx │ │ │ │ ├── get-all-apps.mdx │ │ │ │ ├── get-data.mdx │ │ │ │ ├── getting-started.mdx │ │ │ │ └── query.mdx │ │ │ ├── showcase.mdx │ │ │ ├── slack-AI.mdx │ │ │ ├── slack_bot.mdx │ │ │ ├── telegram_bot.mdx │ │ │ └── whatsapp_bot.mdx │ │ ├── get-started/ │ │ │ ├── deployment.mdx │ │ │ ├── faq.mdx │ │ │ ├── full-stack.mdx │ │ │ ├── integrations.mdx │ │ │ ├── introduction.mdx │ │ │ └── quickstart.mdx │ │ ├── integration/ │ │ │ ├── chainlit.mdx │ │ │ ├── helicone.mdx │ │ │ ├── langsmith.mdx │ │ │ ├── openlit.mdx │ │ │ └── streamlit-mistral.mdx │ │ ├── mint.json │ │ ├── product/ │ │ │ └── release-notes.mdx │ │ ├── rest-api.json │ │ ├── support/ │ │ │ └── get-help.mdx │ │ └── use-cases/ │ │ ├── chatbots.mdx │ │ ├── introduction.mdx │ │ ├── question-answering.mdx │ │ └── semantic-search.mdx │ ├── embedchain/ │ │ ├── __init__.py │ │ ├── alembic.ini │ │ ├── app.py │ │ ├── bots/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── discord.py │ │ │ ├── poe.py │ │ │ ├── slack.py │ │ │ └── whatsapp.py │ │ ├── cache.py │ │ ├── chunkers/ │ │ │ ├── __init__.py │ │ │ ├── audio.py │ │ │ ├── base_chunker.py │ │ │ ├── beehiiv.py │ │ │ ├── common_chunker.py │ │ │ ├── discourse.py │ │ │ ├── docs_site.py │ │ │ ├── docx_file.py │ │ │ ├── excel_file.py │ │ │ ├── gmail.py │ │ │ ├── google_drive.py │ │ │ ├── image.py │ │ │ ├── json.py │ │ │ ├── mdx.py │ │ │ ├── mysql.py │ │ │ ├── notion.py │ │ │ ├── openapi.py │ │ │ ├── pdf_file.py │ │ │ ├── postgres.py │ │ │ ├── qna_pair.py │ │ │ ├── rss_feed.py │ │ │ ├── sitemap.py │ │ │ ├── slack.py │ │ │ ├── substack.py │ │ │ ├── table.py │ │ │ ├── text.py │ │ │ ├── unstructured_file.py │ │ │ ├── web_page.py │ │ │ ├── xml.py │ │ │ └── youtube_video.py │ │ ├── cli.py │ │ ├── client.py │ │ ├── config/ │ │ │ ├── __init__.py │ │ │ ├── add_config.py │ │ │ ├── app_config.py │ │ │ ├── base_app_config.py │ │ │ ├── base_config.py │ │ │ ├── cache_config.py │ │ │ ├── embedder/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aws_bedrock.py │ │ │ │ ├── base.py │ │ │ │ ├── google.py │ │ │ │ └── ollama.py │ │ │ ├── evaluation/ │ │ │ │ ├── __init__.py │ │ │ │ └── base.py │ │ │ ├── llm/ │ │ │ │ ├── __init__.py │ │ │ │ └── base.py │ │ │ ├── mem0_config.py │ │ │ ├── model_prices_and_context_window.json │ │ │ ├── vector_db/ │ │ │ │ ├── base.py │ │ │ │ ├── chroma.py │ │ │ │ ├── elasticsearch.py │ │ │ │ ├── lancedb.py │ │ │ │ ├── opensearch.py │ │ │ │ ├── pinecone.py │ │ │ │ ├── qdrant.py │ │ │ │ ├── weaviate.py │ │ │ │ └── zilliz.py │ │ │ └── vectordb/ │ │ │ └── __init__.py │ │ ├── constants.py │ │ ├── core/ │ │ │ └── __init__.py │ │ ├── data_formatter/ │ │ │ ├── __init__.py │ │ │ └── data_formatter.py │ │ ├── deployment/ │ │ │ ├── fly.io/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── app.py │ │ │ │ └── requirements.txt │ │ │ ├── gradio.app/ │ │ │ │ ├── app.py │ │ │ │ └── requirements.txt │ │ │ ├── modal.com/ │ │ │ │ ├── .gitignore │ │ │ │ ├── app.py │ │ │ │ └── requirements.txt │ │ │ ├── render.com/ │ │ │ │ ├── .gitignore │ │ │ │ ├── app.py │ │ │ │ ├── render.yaml │ │ │ │ └── requirements.txt │ │ │ └── streamlit.io/ │ │ │ ├── .streamlit/ │ │ │ │ └── secrets.toml │ │ │ ├── app.py │ │ │ └── requirements.txt │ │ ├── embedchain.py │ │ ├── embedder/ │ │ │ ├── __init__.py │ │ │ ├── aws_bedrock.py │ │ │ ├── azure_openai.py │ │ │ ├── base.py │ │ │ ├── clarifai.py │ │ │ ├── cohere.py │ │ │ ├── google.py │ │ │ ├── gpt4all.py │ │ │ ├── huggingface.py │ │ │ ├── mistralai.py │ │ │ ├── nvidia.py │ │ │ ├── ollama.py │ │ │ ├── openai.py │ │ │ └── vertexai.py │ │ ├── evaluation/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ └── metrics/ │ │ │ ├── __init__.py │ │ │ ├── answer_relevancy.py │ │ │ ├── context_relevancy.py │ │ │ └── groundedness.py │ │ ├── factory.py │ │ ├── helpers/ │ │ │ ├── __init__.py │ │ │ ├── callbacks.py │ │ │ └── json_serializable.py │ │ ├── llm/ │ │ │ ├── __init__.py │ │ │ ├── anthropic.py │ │ │ ├── aws_bedrock.py │ │ │ ├── azure_openai.py │ │ │ ├── base.py │ │ │ ├── clarifai.py │ │ │ ├── cohere.py │ │ │ ├── google.py │ │ │ ├── gpt4all.py │ │ │ ├── groq.py │ │ │ ├── huggingface.py │ │ │ ├── jina.py │ │ │ ├── llama2.py │ │ │ ├── mistralai.py │ │ │ ├── nvidia.py │ │ │ ├── ollama.py │ │ │ ├── openai.py │ │ │ ├── together.py │ │ │ ├── vertex_ai.py │ │ │ └── vllm.py │ │ ├── loaders/ │ │ │ ├── __init__.py │ │ │ ├── audio.py │ │ │ ├── base_loader.py │ │ │ ├── beehiiv.py │ │ │ ├── csv.py │ │ │ ├── directory_loader.py │ │ │ ├── discord.py │ │ │ ├── discourse.py │ │ │ ├── docs_site_loader.py │ │ │ ├── docx_file.py │ │ │ ├── dropbox.py │ │ │ ├── excel_file.py │ │ │ ├── github.py │ │ │ ├── gmail.py │ │ │ ├── google_drive.py │ │ │ ├── image.py │ │ │ ├── json.py │ │ │ ├── local_qna_pair.py │ │ │ ├── local_text.py │ │ │ ├── mdx.py │ │ │ ├── mysql.py │ │ │ ├── notion.py │ │ │ ├── openapi.py │ │ │ ├── pdf_file.py │ │ │ ├── postgres.py │ │ │ ├── rss_feed.py │ │ │ ├── sitemap.py │ │ │ ├── slack.py │ │ │ ├── substack.py │ │ │ ├── text_file.py │ │ │ ├── unstructured_file.py │ │ │ ├── web_page.py │ │ │ ├── xml.py │ │ │ ├── youtube_channel.py │ │ │ └── youtube_video.py │ │ ├── memory/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── message.py │ │ │ └── utils.py │ │ ├── migrations/ │ │ │ ├── env.py │ │ │ ├── script.py.mako │ │ │ └── versions/ │ │ │ └── 40a327b3debd_create_initial_migrations.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── data_type.py │ │ │ ├── embedding_functions.py │ │ │ ├── providers.py │ │ │ └── vector_dimensions.py │ │ ├── pipeline.py │ │ ├── store/ │ │ │ ├── __init__.py │ │ │ └── assistants.py │ │ ├── telemetry/ │ │ │ ├── __init__.py │ │ │ └── posthog.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── cli.py │ │ │ ├── evaluation.py │ │ │ └── misc.py │ │ └── vectordb/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── chroma.py │ │ ├── elasticsearch.py │ │ ├── lancedb.py │ │ ├── opensearch.py │ │ ├── pinecone.py │ │ ├── qdrant.py │ │ ├── weaviate.py │ │ └── zilliz.py │ ├── examples/ │ │ ├── api_server/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── api_server.py │ │ │ ├── docker-compose.yml │ │ │ ├── requirements.txt │ │ │ └── variables.env │ │ ├── chainlit/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── app.py │ │ │ ├── chainlit.md │ │ │ └── requirements.txt │ │ ├── chat-pdf/ │ │ │ ├── README.md │ │ │ ├── app.py │ │ │ ├── embedchain.json │ │ │ └── requirements.txt │ │ ├── discord_bot/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── discord_bot.py │ │ │ ├── docker-compose.yml │ │ │ ├── requirements.txt │ │ │ └── variables.env │ │ ├── full_stack/ │ │ │ ├── .dockerignore │ │ │ ├── README.md │ │ │ ├── backend/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── .gitignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── models.py │ │ │ │ ├── paths.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── routes/ │ │ │ │ │ ├── chat_response.py │ │ │ │ │ ├── dashboard.py │ │ │ │ │ └── sources.py │ │ │ │ └── server.py │ │ │ ├── docker-compose.yml │ │ │ └── frontend/ │ │ │ ├── .dockerignore │ │ │ ├── .eslintrc.json │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── jsconfig.json │ │ │ ├── next.config.js │ │ │ ├── package.json │ │ │ ├── postcss.config.js │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── PageWrapper.js │ │ │ │ │ ├── chat/ │ │ │ │ │ │ ├── BotWrapper.js │ │ │ │ │ │ └── HumanWrapper.js │ │ │ │ │ └── dashboard/ │ │ │ │ │ ├── CreateBot.js │ │ │ │ │ ├── DeleteBot.js │ │ │ │ │ ├── PurgeChats.js │ │ │ │ │ └── SetOpenAIKey.js │ │ │ │ ├── containers/ │ │ │ │ │ ├── ChatWindow.js │ │ │ │ │ ├── SetSources.js │ │ │ │ │ └── Sidebar.js │ │ │ │ ├── pages/ │ │ │ │ │ ├── [bot_slug]/ │ │ │ │ │ │ └── app.js │ │ │ │ │ ├── _app.js │ │ │ │ │ ├── _document.js │ │ │ │ │ └── index.js │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ └── tailwind.config.js │ │ ├── mistral-streamlit/ │ │ │ ├── README.md │ │ │ ├── app.py │ │ │ ├── config.yaml │ │ │ └── requirements.txt │ │ ├── nextjs/ │ │ │ ├── README.md │ │ │ ├── ec_app/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── app.py │ │ │ │ ├── embedchain.json │ │ │ │ ├── fly.toml │ │ │ │ └── requirements.txt │ │ │ ├── nextjs_discord/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── app.py │ │ │ │ ├── embedchain.json │ │ │ │ ├── fly.toml │ │ │ │ └── requirements.txt │ │ │ ├── nextjs_slack/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── app.py │ │ │ │ ├── embedchain.json │ │ │ │ ├── fly.toml │ │ │ │ └── requirements.txt │ │ │ └── requirements.txt │ │ ├── private-ai/ │ │ │ ├── README.md │ │ │ ├── config.yaml │ │ │ ├── privateai.py │ │ │ └── requirements.txt │ │ ├── rest-api/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── bruno/ │ │ │ │ └── ec-rest-api/ │ │ │ │ ├── bruno.json │ │ │ │ ├── default_add.bru │ │ │ │ ├── default_chat.bru │ │ │ │ ├── default_query.bru │ │ │ │ └── ping.bru │ │ │ ├── configs/ │ │ │ │ └── README.md │ │ │ ├── database.py │ │ │ ├── default.yaml │ │ │ ├── main.py │ │ │ ├── models.py │ │ │ ├── requirements.txt │ │ │ ├── sample-config.yaml │ │ │ ├── services.py │ │ │ └── utils.py │ │ ├── sadhguru-ai/ │ │ │ ├── README.md │ │ │ ├── app.py │ │ │ └── requirements.txt │ │ ├── slack_bot/ │ │ │ ├── Dockerfile │ │ │ └── requirements.txt │ │ ├── telegram_bot/ │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ ├── requirements.txt │ │ │ └── telegram_bot.py │ │ ├── unacademy-ai/ │ │ │ ├── README.md │ │ │ ├── app.py │ │ │ └── requirements.txt │ │ └── whatsapp_bot/ │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── requirements.txt │ │ ├── run.py │ │ └── whatsapp_bot.py │ ├── notebooks/ │ │ ├── anthropic.ipynb │ │ ├── aws-bedrock.ipynb │ │ ├── azure-openai.ipynb │ │ ├── azure_openai.yaml │ │ ├── chromadb.ipynb │ │ ├── clarifai.ipynb │ │ ├── cohere.ipynb │ │ ├── elasticsearch.ipynb │ │ ├── embedchain-chromadb-server.ipynb │ │ ├── embedchain-docs-site-example.ipynb │ │ ├── gpt4all.ipynb │ │ ├── hugging_face_hub.ipynb │ │ ├── jina.ipynb │ │ ├── lancedb.ipynb │ │ ├── llama2.ipynb │ │ ├── ollama.ipynb │ │ ├── openai.ipynb │ │ ├── openai_azure.yaml │ │ ├── opensearch.ipynb │ │ ├── pinecone.ipynb │ │ ├── together.ipynb │ │ └── vertex_ai.ipynb │ ├── poetry.toml │ ├── pyproject.toml │ └── tests/ │ ├── __init__.py │ ├── chunkers/ │ │ ├── test_base_chunker.py │ │ ├── test_chunkers.py │ │ └── test_text.py │ ├── conftest.py │ ├── embedchain/ │ │ ├── test_add.py │ │ ├── test_embedchain.py │ │ └── test_utils.py │ ├── embedder/ │ │ ├── test_aws_bedrock_embedder.py │ │ ├── test_azure_openai_embedder.py │ │ ├── test_embedder.py │ │ └── test_huggingface_embedder.py │ ├── evaluation/ │ │ ├── test_answer_relevancy_metric.py │ │ ├── test_context_relevancy_metric.py │ │ └── test_groundedness_metric.py │ ├── helper_classes/ │ │ └── test_json_serializable.py │ ├── llm/ │ │ ├── conftest.py │ │ ├── test_anthrophic.py │ │ ├── test_aws_bedrock.py │ │ ├── test_azure_openai.py │ │ ├── test_base_llm.py │ │ ├── test_chat.py │ │ ├── test_clarifai.py │ │ ├── test_cohere.py │ │ ├── test_generate_prompt.py │ │ ├── test_google.py │ │ ├── test_gpt4all.py │ │ ├── test_huggingface.py │ │ ├── test_jina.py │ │ ├── test_llama2.py │ │ ├── test_mistralai.py │ │ ├── test_ollama.py │ │ ├── test_openai.py │ │ ├── test_query.py │ │ ├── test_together.py │ │ └── test_vertex_ai.py │ ├── loaders/ │ │ ├── test_audio.py │ │ ├── test_csv.py │ │ ├── test_discourse.py │ │ ├── test_docs_site.py │ │ ├── test_docs_site_loader.py │ │ ├── test_docx_file.py │ │ ├── test_dropbox.py │ │ ├── test_excel_file.py │ │ ├── test_github.py │ │ ├── test_gmail.py │ │ ├── test_google_drive.py │ │ ├── test_json.py │ │ ├── test_local_qna_pair.py │ │ ├── test_local_text.py │ │ ├── test_mdx.py │ │ ├── test_mysql.py │ │ ├── test_notion.py │ │ ├── test_openapi.py │ │ ├── test_pdf_file.py │ │ ├── test_postgres.py │ │ ├── test_slack.py │ │ ├── test_web_page.py │ │ ├── test_xml.py │ │ └── test_youtube_video.py │ ├── memory/ │ │ ├── test_chat_memory.py │ │ └── test_memory_messages.py │ ├── models/ │ │ └── test_data_type.py │ ├── telemetry/ │ │ └── test_posthog.py │ ├── test_app.py │ ├── test_client.py │ ├── test_factory.py │ ├── test_utils.py │ └── vectordb/ │ ├── test_chroma_db.py │ ├── test_elasticsearch_db.py │ ├── test_lancedb.py │ ├── test_pinecone.py │ ├── test_qdrant.py │ ├── test_weaviate.py │ └── test_zilliz_db.py ├── evaluation/ │ ├── Makefile │ ├── README.md │ ├── evals.py │ ├── generate_scores.py │ ├── metrics/ │ │ ├── llm_judge.py │ │ └── utils.py │ ├── prompts.py │ ├── run_experiments.py │ └── src/ │ ├── langmem.py │ ├── memzero/ │ │ ├── add.py │ │ └── search.py │ ├── openai/ │ │ └── predict.py │ ├── rag.py │ ├── utils.py │ └── zep/ │ ├── add.py │ └── search.py ├── examples/ │ ├── graph-db-demo/ │ │ ├── kuzu-example.ipynb │ │ ├── memgraph-example.ipynb │ │ ├── neo4j-example.ipynb │ │ ├── neptune-db-example.ipynb │ │ └── neptune-example.ipynb │ ├── mem0-demo/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ └── chat/ │ │ │ │ └── route.ts │ │ │ ├── assistant.tsx │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── assistant-ui/ │ │ │ │ ├── markdown-text.tsx │ │ │ │ ├── memory-indicator.tsx │ │ │ │ ├── memory-ui.tsx │ │ │ │ ├── theme-aware-logo.tsx │ │ │ │ ├── thread-list.tsx │ │ │ │ ├── thread.tsx │ │ │ │ └── tooltip-icon-button.tsx │ │ │ ├── mem0/ │ │ │ │ ├── github-button.tsx │ │ │ │ ├── markdown.css │ │ │ │ ├── markdown.tsx │ │ │ │ └── theme-aware-logo.tsx │ │ │ └── ui/ │ │ │ ├── alert-dialog.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── popover.tsx │ │ │ ├── scroll-area.tsx │ │ │ └── tooltip.tsx │ │ ├── components.json │ │ ├── eslint.config.mjs │ │ ├── lib/ │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ ├── tailwind.config.ts │ │ └── tsconfig.json │ ├── misc/ │ │ ├── diet_assistant_voice_cartesia.py │ │ ├── fitness_checker.py │ │ ├── healthcare_assistant_google_adk.py │ │ ├── movie_recommendation_grok3.py │ │ ├── multillm_memory.py │ │ ├── personal_assistant_agno.py │ │ ├── personalized_search.py │ │ ├── strands_agent_aws_elasticache_neptune.py │ │ ├── study_buddy.py │ │ ├── test.py │ │ ├── vllm_example.py │ │ └── voice_assistant_elevenlabs.py │ ├── multiagents/ │ │ └── llamaindex_learning_system.py │ ├── multimodal-demo/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── components.json │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── api-settings-popup.tsx │ │ │ │ ├── chevron-toggle.tsx │ │ │ │ ├── header.tsx │ │ │ │ ├── input-area.tsx │ │ │ │ ├── memories.tsx │ │ │ │ ├── messages.tsx │ │ │ │ └── ui/ │ │ │ │ ├── avatar.tsx │ │ │ │ ├── badge.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── scroll-area.tsx │ │ │ │ └── select.tsx │ │ │ ├── constants/ │ │ │ │ └── messages.ts │ │ │ ├── contexts/ │ │ │ │ └── GlobalContext.tsx │ │ │ ├── hooks/ │ │ │ │ ├── useAuth.ts │ │ │ │ ├── useChat.ts │ │ │ │ └── useFileHandler.ts │ │ │ ├── index.css │ │ │ ├── libs/ │ │ │ │ └── utils.ts │ │ │ ├── main.tsx │ │ │ ├── page.tsx │ │ │ ├── pages/ │ │ │ │ └── home.tsx │ │ │ ├── types.ts │ │ │ ├── utils/ │ │ │ │ └── fileUtils.ts │ │ │ └── vite-env.d.ts │ │ ├── tailwind.config.js │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── useChat.ts │ │ └── vite.config.ts │ ├── openai-inbuilt-tools/ │ │ ├── index.js │ │ └── package.json │ ├── vercel-ai-sdk-chat-app/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── components.json │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── api-settings-popup.tsx │ │ │ │ ├── chevron-toggle.tsx │ │ │ │ ├── header.tsx │ │ │ │ ├── input-area.tsx │ │ │ │ ├── memories.tsx │ │ │ │ ├── messages.tsx │ │ │ │ └── ui/ │ │ │ │ ├── avatar.tsx │ │ │ │ ├── badge.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── scroll-area.tsx │ │ │ │ └── select.tsx │ │ │ ├── constants/ │ │ │ │ └── messages.ts │ │ │ ├── contexts/ │ │ │ │ └── GlobalContext.tsx │ │ │ ├── hooks/ │ │ │ │ ├── useAuth.ts │ │ │ │ ├── useChat.ts │ │ │ │ └── useFileHandler.ts │ │ │ ├── index.css │ │ │ ├── libs/ │ │ │ │ └── utils.ts │ │ │ ├── main.tsx │ │ │ ├── page.tsx │ │ │ ├── pages/ │ │ │ │ └── home.tsx │ │ │ ├── types.ts │ │ │ ├── utils/ │ │ │ │ └── fileUtils.ts │ │ │ └── vite-env.d.ts │ │ ├── tailwind.config.js │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ └── yt-assistant-chrome/ │ ├── .gitignore │ ├── README.md │ ├── manifest.json │ ├── package.json │ ├── public/ │ │ ├── options.html │ │ └── popup.html │ ├── src/ │ │ ├── background.js │ │ ├── content.js │ │ ├── options.js │ │ └── popup.js │ ├── styles/ │ │ ├── content.css │ │ ├── options.css │ │ └── popup.css │ └── webpack.config.js ├── mem0/ │ ├── __init__.py │ ├── client/ │ │ ├── __init__.py │ │ ├── main.py │ │ ├── project.py │ │ └── utils.py │ ├── configs/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── embeddings/ │ │ │ ├── __init__.py │ │ │ └── base.py │ │ ├── enums.py │ │ ├── llms/ │ │ │ ├── __init__.py │ │ │ ├── anthropic.py │ │ │ ├── aws_bedrock.py │ │ │ ├── azure.py │ │ │ ├── base.py │ │ │ ├── deepseek.py │ │ │ ├── lmstudio.py │ │ │ ├── ollama.py │ │ │ ├── openai.py │ │ │ └── vllm.py │ │ ├── prompts.py │ │ ├── rerankers/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── cohere.py │ │ │ ├── config.py │ │ │ ├── huggingface.py │ │ │ ├── llm.py │ │ │ ├── sentence_transformer.py │ │ │ └── zero_entropy.py │ │ └── vector_stores/ │ │ ├── __init__.py │ │ ├── azure_ai_search.py │ │ ├── azure_mysql.py │ │ ├── baidu.py │ │ ├── cassandra.py │ │ ├── chroma.py │ │ ├── databricks.py │ │ ├── elasticsearch.py │ │ ├── faiss.py │ │ ├── langchain.py │ │ ├── milvus.py │ │ ├── mongodb.py │ │ ├── neptune.py │ │ ├── opensearch.py │ │ ├── pgvector.py │ │ ├── pinecone.py │ │ ├── qdrant.py │ │ ├── redis.py │ │ ├── s3_vectors.py │ │ ├── supabase.py │ │ ├── upstash_vector.py │ │ ├── valkey.py │ │ ├── vertex_ai_vector_search.py │ │ └── weaviate.py │ ├── embeddings/ │ │ ├── __init__.py │ │ ├── aws_bedrock.py │ │ ├── azure_openai.py │ │ ├── base.py │ │ ├── configs.py │ │ ├── fastembed.py │ │ ├── gemini.py │ │ ├── huggingface.py │ │ ├── langchain.py │ │ ├── lmstudio.py │ │ ├── mock.py │ │ ├── ollama.py │ │ ├── openai.py │ │ ├── together.py │ │ └── vertexai.py │ ├── exceptions.py │ ├── graphs/ │ │ ├── __init__.py │ │ ├── configs.py │ │ ├── neptune/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── neptunedb.py │ │ │ └── neptunegraph.py │ │ ├── tools.py │ │ └── utils.py │ ├── llms/ │ │ ├── __init__.py │ │ ├── anthropic.py │ │ ├── aws_bedrock.py │ │ ├── azure_openai.py │ │ ├── azure_openai_structured.py │ │ ├── base.py │ │ ├── configs.py │ │ ├── deepseek.py │ │ ├── gemini.py │ │ ├── groq.py │ │ ├── langchain.py │ │ ├── litellm.py │ │ ├── lmstudio.py │ │ ├── ollama.py │ │ ├── openai.py │ │ ├── openai_structured.py │ │ ├── sarvam.py │ │ ├── together.py │ │ ├── vllm.py │ │ └── xai.py │ ├── memory/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── graph_memory.py │ │ ├── kuzu_memory.py │ │ ├── main.py │ │ ├── memgraph_memory.py │ │ ├── setup.py │ │ ├── storage.py │ │ ├── telemetry.py │ │ └── utils.py │ ├── proxy/ │ │ ├── __init__.py │ │ └── main.py │ ├── reranker/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── cohere_reranker.py │ │ ├── huggingface_reranker.py │ │ ├── llm_reranker.py │ │ ├── sentence_transformer_reranker.py │ │ └── zero_entropy_reranker.py │ ├── utils/ │ │ ├── factory.py │ │ └── gcp_auth.py │ └── vector_stores/ │ ├── __init__.py │ ├── azure_ai_search.py │ ├── azure_mysql.py │ ├── baidu.py │ ├── base.py │ ├── cassandra.py │ ├── chroma.py │ ├── configs.py │ ├── databricks.py │ ├── elasticsearch.py │ ├── faiss.py │ ├── langchain.py │ ├── milvus.py │ ├── mongodb.py │ ├── neptune_analytics.py │ ├── opensearch.py │ ├── pgvector.py │ ├── pinecone.py │ ├── qdrant.py │ ├── redis.py │ ├── s3_vectors.py │ ├── supabase.py │ ├── upstash_vector.py │ ├── valkey.py │ ├── vertex_ai_vector_search.py │ └── weaviate.py ├── mem0-ts/ │ ├── .gitignore │ ├── .prettierignore │ ├── README.md │ ├── jest.config.js │ ├── jest.integration.config.js │ ├── package.json │ ├── src/ │ │ ├── client/ │ │ │ ├── index.ts │ │ │ ├── mem0.ts │ │ │ ├── mem0.types.ts │ │ │ ├── telemetry.ts │ │ │ ├── telemetry.types.ts │ │ │ └── tests/ │ │ │ ├── helpers.ts │ │ │ ├── integration/ │ │ │ │ ├── batch.test.ts │ │ │ │ ├── crud.test.ts │ │ │ │ ├── global-setup.ts │ │ │ │ ├── global-teardown.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── initialization.test.ts │ │ │ │ ├── management.test.ts │ │ │ │ └── search.test.ts │ │ │ ├── memoryClient.batch.test.ts │ │ │ ├── memoryClient.crud.test.ts │ │ │ ├── memoryClient.init.test.ts │ │ │ ├── memoryClient.project.test.ts │ │ │ ├── memoryClient.search.test.ts │ │ │ ├── memoryClient.users.test.ts │ │ │ ├── memoryClient.webhooks.test.ts │ │ │ └── setup.ts │ │ ├── common/ │ │ │ ├── exceptions.test.ts │ │ │ └── exceptions.ts │ │ ├── community/ │ │ │ ├── .prettierignore │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.ts │ │ │ │ └── integrations/ │ │ │ │ └── langchain/ │ │ │ │ ├── index.ts │ │ │ │ └── mem0.ts │ │ │ └── tsconfig.json │ │ └── oss/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── basic.ts │ │ │ ├── llms/ │ │ │ │ └── mistral-example.ts │ │ │ ├── local-llms.ts │ │ │ ├── utils/ │ │ │ │ └── test-utils.ts │ │ │ └── vector-stores/ │ │ │ ├── azure-ai-search.ts │ │ │ ├── index.ts │ │ │ ├── memory.ts │ │ │ ├── pgvector.ts │ │ │ ├── qdrant.ts │ │ │ ├── redis.ts │ │ │ └── supabase.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── config/ │ │ │ │ ├── defaults.ts │ │ │ │ └── manager.ts │ │ │ ├── embeddings/ │ │ │ │ ├── azure.ts │ │ │ │ ├── base.ts │ │ │ │ ├── google.ts │ │ │ │ ├── langchain.ts │ │ │ │ ├── lmstudio.ts │ │ │ │ ├── ollama.ts │ │ │ │ └── openai.ts │ │ │ ├── graphs/ │ │ │ │ ├── configs.ts │ │ │ │ ├── tools.ts │ │ │ │ └── utils.ts │ │ │ ├── index.ts │ │ │ ├── llms/ │ │ │ │ ├── anthropic.ts │ │ │ │ ├── azure.ts │ │ │ │ ├── base.ts │ │ │ │ ├── google.ts │ │ │ │ ├── groq.ts │ │ │ │ ├── langchain.ts │ │ │ │ ├── lmstudio.ts │ │ │ │ ├── mistral.ts │ │ │ │ ├── ollama.ts │ │ │ │ ├── openai.ts │ │ │ │ └── openai_structured.ts │ │ │ ├── memory/ │ │ │ │ ├── graph_memory.ts │ │ │ │ ├── index.ts │ │ │ │ └── memory.types.ts │ │ │ ├── prompts/ │ │ │ │ └── index.ts │ │ │ ├── storage/ │ │ │ │ ├── DummyHistoryManager.ts │ │ │ │ ├── MemoryHistoryManager.ts │ │ │ │ ├── SQLiteManager.ts │ │ │ │ ├── SupabaseHistoryManager.ts │ │ │ │ ├── base.ts │ │ │ │ └── index.ts │ │ │ ├── tests/ │ │ │ │ ├── better-sqlite3-migration.test.ts │ │ │ │ ├── sqlite-backward-compat.test.ts │ │ │ │ └── sqlite-path-resolution.test.ts │ │ │ ├── types/ │ │ │ │ └── index.ts │ │ │ ├── utils/ │ │ │ │ ├── bm25.ts │ │ │ │ ├── factory.ts │ │ │ │ ├── logger.ts │ │ │ │ ├── memory.ts │ │ │ │ ├── sqlite.ts │ │ │ │ ├── telemetry.ts │ │ │ │ └── telemetry.types.ts │ │ │ └── vector_stores/ │ │ │ ├── azure_ai_search.ts │ │ │ ├── base.ts │ │ │ ├── langchain.ts │ │ │ ├── memory.ts │ │ │ ├── pgvector.ts │ │ │ ├── qdrant.ts │ │ │ ├── redis.ts │ │ │ ├── supabase.ts │ │ │ └── vectorize.ts │ │ ├── tests/ │ │ │ ├── config-manager.test.ts │ │ │ ├── dimension-autodetect.test.ts │ │ │ ├── factory.unit.test.ts │ │ │ ├── google-llm.test.ts │ │ │ ├── graph-memory-parsing.test.ts │ │ │ ├── graph-prompts.test.ts │ │ │ ├── lmstudio-embedder.test.ts │ │ │ ├── lmstudio-llm.test.ts │ │ │ ├── memory.add.test.ts │ │ │ ├── memory.crud.test.ts │ │ │ ├── memory.init.test.ts │ │ │ ├── ollama-embedder.test.ts │ │ │ ├── remove-code-blocks.test.ts │ │ │ ├── storage.unit.test.ts │ │ │ ├── tsup-externals.test.ts │ │ │ ├── vector-store.unit.test.ts │ │ │ └── vector-stores-compat.test.ts │ │ └── tsconfig.json │ ├── tests/ │ │ └── .gitkeep │ ├── tsconfig.json │ ├── tsconfig.test.json │ └── tsup.config.ts ├── openclaw/ │ ├── .gitignore │ ├── .npmrc │ ├── CHANGELOG.md │ ├── README.md │ ├── config.ts │ ├── filtering.ts │ ├── index.test.ts │ ├── index.ts │ ├── isolation.ts │ ├── openclaw-plugin-sdk.d.ts │ ├── openclaw.plugin.json │ ├── package.json │ ├── pnpm-workspace.yaml │ ├── providers.ts │ ├── sqlite-resilience.test.ts │ ├── tsconfig.json │ ├── tsup.config.ts │ └── types.ts ├── openmemory/ │ ├── .gitignore │ ├── CONTRIBUTING.md │ ├── Makefile │ ├── README.md │ ├── api/ │ │ ├── .dockerignore │ │ ├── .env.example │ │ ├── .python-version │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── alembic/ │ │ │ ├── README │ │ │ ├── env.py │ │ │ ├── script.py.mako │ │ │ └── versions/ │ │ │ ├── 0b53c747049a_initial_migration.py │ │ │ ├── add_config_table.py │ │ │ └── afd00efbd06b_add_unique_user_id_constraints.py │ │ ├── alembic.ini │ │ ├── app/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── database.py │ │ │ ├── mcp_server.py │ │ │ ├── models.py │ │ │ ├── routers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── apps.py │ │ │ │ ├── backup.py │ │ │ │ ├── config.py │ │ │ │ ├── memories.py │ │ │ │ └── stats.py │ │ │ ├── schemas.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── categorization.py │ │ │ ├── db.py │ │ │ ├── memory.py │ │ │ ├── permissions.py │ │ │ └── prompts.py │ │ ├── config.json │ │ ├── default_config.json │ │ ├── main.py │ │ └── requirements.txt │ ├── backup-scripts/ │ │ └── export_openmemory.sh │ ├── compose/ │ │ ├── chroma.yml │ │ ├── elasticsearch.yml │ │ ├── faiss.yml │ │ ├── milvus.yml │ │ ├── opensearch.yml │ │ ├── pgvector.yml │ │ ├── qdrant.yml │ │ ├── redis.yml │ │ └── weaviate.yml │ ├── docker-compose.yml │ ├── run.sh │ └── ui/ │ ├── .dockerignore │ ├── .env.example │ ├── Dockerfile │ ├── app/ │ │ ├── apps/ │ │ │ ├── [appId]/ │ │ │ │ ├── components/ │ │ │ │ │ ├── AppDetailCard.tsx │ │ │ │ │ └── MemoryCard.tsx │ │ │ │ └── page.tsx │ │ │ ├── components/ │ │ │ │ ├── AppCard.tsx │ │ │ │ ├── AppFilters.tsx │ │ │ │ └── AppGrid.tsx │ │ │ └── page.tsx │ │ ├── globals.css │ │ ├── layout.tsx │ │ ├── loading.tsx │ │ ├── memories/ │ │ │ ├── components/ │ │ │ │ ├── CreateMemoryDialog.tsx │ │ │ │ ├── FilterComponent.tsx │ │ │ │ ├── MemoriesSection.tsx │ │ │ │ ├── MemoryFilters.tsx │ │ │ │ ├── MemoryPagination.tsx │ │ │ │ ├── MemoryTable.tsx │ │ │ │ └── PageSizeSelector.tsx │ │ │ └── page.tsx │ │ ├── memory/ │ │ │ └── [id]/ │ │ │ ├── components/ │ │ │ │ ├── AccessLog.tsx │ │ │ │ ├── MemoryActions.tsx │ │ │ │ ├── MemoryDetails.tsx │ │ │ │ └── RelatedMemories.tsx │ │ │ └── page.tsx │ │ ├── not-found.tsx │ │ ├── page.tsx │ │ ├── providers.tsx │ │ └── settings/ │ │ └── page.tsx │ ├── components/ │ │ ├── Navbar.tsx │ │ ├── dashboard/ │ │ │ ├── Install.tsx │ │ │ └── Stats.tsx │ │ ├── form-view.tsx │ │ ├── json-editor.tsx │ │ ├── shared/ │ │ │ ├── categories.tsx │ │ │ ├── source-app.tsx │ │ │ └── update-memory.tsx │ │ ├── theme-provider.tsx │ │ ├── types.ts │ │ └── ui/ │ │ ├── accordion.tsx │ │ ├── alert-dialog.tsx │ │ ├── alert.tsx │ │ ├── aspect-ratio.tsx │ │ ├── avatar.tsx │ │ ├── badge.tsx │ │ ├── breadcrumb.tsx │ │ ├── button.tsx │ │ ├── calendar.tsx │ │ ├── card.tsx │ │ ├── carousel.tsx │ │ ├── chart.tsx │ │ ├── checkbox.tsx │ │ ├── collapsible.tsx │ │ ├── command.tsx │ │ ├── context-menu.tsx │ │ ├── dialog.tsx │ │ ├── drawer.tsx │ │ ├── dropdown-menu.tsx │ │ ├── form.tsx │ │ ├── hover-card.tsx │ │ ├── input-otp.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── menubar.tsx │ │ ├── navigation-menu.tsx │ │ ├── pagination.tsx │ │ ├── popover.tsx │ │ ├── progress.tsx │ │ ├── radio-group.tsx │ │ ├── resizable.tsx │ │ ├── scroll-area.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── sheet.tsx │ │ ├── sidebar.tsx │ │ ├── skeleton.tsx │ │ ├── slider.tsx │ │ ├── sonner.tsx │ │ ├── switch.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ ├── textarea.tsx │ │ ├── toast.tsx │ │ ├── toaster.tsx │ │ ├── toggle-group.tsx │ │ ├── toggle.tsx │ │ ├── tooltip.tsx │ │ ├── use-mobile.tsx │ │ └── use-toast.ts │ ├── components.json │ ├── entrypoint.sh │ ├── hooks/ │ │ ├── use-mobile.tsx │ │ ├── use-toast.ts │ │ ├── useAppsApi.ts │ │ ├── useConfig.ts │ │ ├── useFiltersApi.ts │ │ ├── useMemoriesApi.ts │ │ ├── useStats.ts │ │ └── useUI.ts │ ├── next-env.d.ts │ ├── next.config.dev.mjs │ ├── next.config.mjs │ ├── package.json │ ├── postcss.config.mjs │ ├── skeleton/ │ │ ├── AppCardSkeleton.tsx │ │ ├── AppDetailCardSkeleton.tsx │ │ ├── AppFiltersSkeleton.tsx │ │ ├── MemoryCardSkeleton.tsx │ │ ├── MemorySkeleton.tsx │ │ └── MemoryTableSkeleton.tsx │ ├── store/ │ │ ├── appsSlice.ts │ │ ├── configSlice.ts │ │ ├── filtersSlice.ts │ │ ├── memoriesSlice.ts │ │ ├── profileSlice.ts │ │ ├── store.ts │ │ └── uiSlice.ts │ ├── styles/ │ │ ├── animation.css │ │ ├── globals.css │ │ └── notfound.scss │ ├── tailwind.config.ts │ └── tsconfig.json ├── pyproject.toml ├── server/ │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ ├── dev.Dockerfile │ ├── docker-compose.yaml │ ├── main.py │ └── requirements.txt ├── skills/ │ └── mem0/ │ ├── LICENSE │ ├── README.md │ ├── SKILL.md │ ├── references/ │ │ ├── api-reference.md │ │ ├── architecture.md │ │ ├── features.md │ │ ├── integration-patterns.md │ │ ├── quickstart.md │ │ ├── sdk-guide.md │ │ └── use-cases.md │ └── scripts/ │ └── mem0_doc_search.py ├── tests/ │ ├── __init__.py │ ├── configs/ │ │ └── test_prompts.py │ ├── embeddings/ │ │ ├── test_azure_openai_embeddings.py │ │ ├── test_fastembed_embeddings.py │ │ ├── test_gemini_emeddings.py │ │ ├── test_huggingface_embeddings.py │ │ ├── test_lm_studio_embeddings.py │ │ ├── test_ollama_embeddings.py │ │ ├── test_openai_embeddings.py │ │ └── test_vertexai_embeddings.py │ ├── llms/ │ │ ├── test_azure_openai.py │ │ ├── test_azure_openai_structured.py │ │ ├── test_deepseek.py │ │ ├── test_gemini.py │ │ ├── test_groq.py │ │ ├── test_langchain.py │ │ ├── test_litellm.py │ │ ├── test_lm_studio.py │ │ ├── test_ollama.py │ │ ├── test_openai.py │ │ ├── test_together.py │ │ └── test_vllm.py │ ├── memory/ │ │ ├── test_json_prompt_fix.py │ │ ├── test_kuzu.py │ │ ├── test_main.py │ │ ├── test_memgraph_memory.py │ │ ├── test_neo4j_cypher_syntax.py │ │ ├── test_neptune_analytics_memory.py │ │ ├── test_neptune_memory.py │ │ ├── test_safe_deepcopy_config.py │ │ └── test_storage.py │ ├── rerankers/ │ │ ├── conftest.py │ │ ├── test_llm_reranker_config.py │ │ ├── test_llm_reranker_nested_config.py │ │ └── test_llm_reranker_rerank.py │ ├── test_main.py │ ├── test_memory.py │ ├── test_memory_integration.py │ ├── test_proxy.py │ ├── test_telemetry.py │ └── vector_stores/ │ ├── test_azure_ai_search.py │ ├── test_azure_mysql.py │ ├── test_baidu.py │ ├── test_cassandra.py │ ├── test_chroma.py │ ├── test_databricks.py │ ├── test_elasticsearch.py │ ├── test_faiss.py │ ├── test_langchain_vector_store.py │ ├── test_milvus.py │ ├── test_mongodb.py │ ├── test_neptune_analytics.py │ ├── test_opensearch.py │ ├── test_pgvector.py │ ├── test_pinecone.py │ ├── test_qdrant.py │ ├── test_s3_vectors.py │ ├── test_supabase.py │ ├── test_upstash_vector.py │ ├── test_valkey.py │ ├── test_vertex_ai_vector_search.py │ └── test_weaviate.py └── vercel-ai-sdk/ ├── .gitattributes ├── .gitignore ├── README.md ├── config/ │ └── test-config.ts ├── jest.config.js ├── nodemon.json ├── package.json ├── src/ │ ├── index.ts │ ├── mem0-facade.ts │ ├── mem0-generic-language-model.ts │ ├── mem0-provider-selector.ts │ ├── mem0-provider.ts │ ├── mem0-types.ts │ ├── mem0-utils.ts │ ├── provider-response-provider.ts │ └── stream-utils.ts ├── teardown.ts ├── tests/ │ ├── generate-output.test.ts │ ├── mem0-provider-tests/ │ │ ├── mem0-cohere.test.ts │ │ ├── mem0-google.test.ts │ │ ├── mem0-groq.test.ts │ │ ├── mem0-openai-structured-ouput.test.ts │ │ ├── mem0-openai.test.ts │ │ └── mem0_anthropic.test.ts │ ├── mem0-toolcalls.test.ts │ ├── memory-core.test.ts │ ├── text-properties.test.ts │ └── utils-test/ │ ├── anthropic-integration.test.ts │ ├── cohere-integration.test.ts │ ├── google-integration.test.ts │ ├── groq-integration.test.ts │ └── openai-integration.test.ts ├── tsconfig.json └── tsup.config.ts