O Persistent AI Memory é um projeto de código aberto desenvolvido para fornecer armazenamento de memória local persistente para assistentes de IA, modelos de linguagem (LLMs) e Copilot no VS Code. Ele armazena registros de diálogo, memória e invocação de ferramentas por meio de um banco de dados SQLite, oferecendo suporte à pesquisa semântica e ao monitoramento de arquivos em tempo real. O sistema é executado em várias plataformas e é compatível com Windows, macOS e Linux, além de ser fácil de instalar e usar imediatamente. Os usuários podem facilmente armazenar e recuperar dados de interação de IA, tornando-o adequado para desenvolvedores, pesquisadores e cenários em que são necessárias memórias de IA localizadas. O projeto está licenciado sob a licença MIT, que permite o uso e a modificação gratuitos.
Lista de funções
- Armazenamento persistente: usando um banco de dados SQLite para manter registros das conversas, memórias e chamadas de ferramentas da IA.
- Pesquisa semântica: a pesquisa semântica de memórias e diálogos é suportada pela tecnologia de incorporação do LM Studio.
- Monitoramento em tempo real: use o watchdog para monitorar os arquivos de conversa e capturar automaticamente as conversas exportadas, como o ChatGPT.
- Registros de invocação de ferramentas: registram o uso de ferramentas do Protocolo de Contexto de Modelo (MCP) para apoiar a autorreflexão da IA.
- Suporte multiplataforma: compatível com Windows, macOS e Linux, adaptado a uma variedade de ambientes de desenvolvimento.
- Instalação simples: fornece scripts de um clique, instalações pip e muitas outras formas de implementação rápida.
- Integração com o VS Code: trabalhe perfeitamente com o Copilot no VS Code para aumentar a eficiência do desenvolvimento.
- Verificação da integridade do sistema: fornece uma interface para visualizar o status do banco de dados e do sistema para garantir uma operação estável.
Usando a Ajuda
Processo de instalação
O Persistent AI Memory oferece uma variedade de métodos de instalação para atender às diferentes necessidades dos usuários. Veja abaixo as etapas detalhadas:
Instalação com um clique (recomendado)
- Linux/macOSExecute o seguinte comando:
curl -sSL https://raw.githubusercontent.com/savantskie/persistent-ai-memory/main/install.sh | bash
O script faz o download e configura automaticamente as dependências, o que o torna ideal para começar rapidamente.
- Windows (computador)Download e execução do arquivo em lote:
curl -sSL https://raw.githubusercontent.com/savantskie/persistent-ai-memory/main/install.bat -o install.bat && install.bat
O script configurará automaticamente o ambiente e estará pronto para ser usado após a instalação.
- instalação manual::
- Armazém de Clonagem:
git clone https://github.com/savantskie/persistent-ai-memory.git cd persistent-ai-memory
- Instale a dependência:
pip install -r requirements.txt pip install -e .
- Dependências de desenvolvimento opcionais:
pip install -e ".[dev]"
- Armazém de Clonagem:
- Instalação direta via pip::
pip install git+https://github.com/savantskie/persistent-ai-memory.git
Ideal para usuários que desejam integrar-se diretamente a projetos existentes.
Após a instalação, o sistema usa como padrão um banco de dados SQLite, com um caminho de armazenamento decustom_memory.db
(personalizável). Para usar um serviço incorporado personalizado, configureembedding_service_url
Por exemplo:
memory = PersistentAIMemorySystem(db_path="custom_memory.db", embedding_service_url="http://localhost:1234/v1/embeddings")
Funções principais
- memória armazenada::
- fazer uso de
store_memory
As funções preservam o conhecimento adquirido pela IA. Exemplo:import asyncio from ai_memory_core import PersistentAIMemorySystem async def main(): memory = PersistentAIMemorySystem() await memory.store_memory("今天学习了Python异步编程") asyncio.run(main())
- As memórias são armazenadas em um banco de dados SQLite com metadados opcionais.
- fazer uso de
- pesquisa semântica::
- aprovar (um projeto de lei ou inspeção etc.)
search_memories
As funções procuram memórias relacionadas:results = await memory.search_memories("Python编程") print(f"找到 {len(results)} 条相关记忆")
- O sistema usa a tecnologia de incorporação do LM Studio para retornar resultados semanticamente relevantes, com 10 retornados por padrão.
- aprovar (um projeto de lei ou inspeção etc.)
- Armazenamento e recuperação de diálogos::
- Armazene o diálogo:
await memory.store_conversation("user", "什么是异步编程?") await memory.store_conversation("assistant", "异步编程允许...")
- Recuperar o histórico de diálogos:
history = await memory.get_conversation_history(limit=100)
- Suporte para pesquisa de diálogos específicos:
conversations = await memory.search_conversations("异步编程", limit=10)
- Armazene o diálogo:
- Monitoramento em tempo real dos arquivos de diálogo::
- Monitore os arquivos de diálogo exportados do ChatGPT:
memory.start_conversation_monitoring("/path/to/conversation/files")
- O sistema captura automaticamente as alterações nos arquivos e as armazena no banco de dados.
- Monitore os arquivos de diálogo exportados do ChatGPT:
- Registro de chamadas de ferramentas::
- Registre as chamadas da ferramenta MCP:
await memory.log_tool_call("tool_name", {"arg": "value"}, "result", metadata={"key": "value"})
- Exibir o histórico de uso da ferramenta:
tool_history = await memory.get_tool_call_history(tool_name="tool_name", limit=100)
- A IA está disponível por meio do
reflect_on_tool_usage
Fazer uma autorreflexão para analisar os padrões de uso da ferramenta.
- Registre as chamadas da ferramenta MCP:
- Verificação da integridade do sistema::
- Verifique o status do sistema:
status = await memory.get_system_health() print(status)
- Retorna o status da conexão do banco de dados e as informações de operação do sistema.
- Verifique o status do sistema:
Operação da função em destaque
- Integração do código VSPara integrar um projeto ao Copilot para VS Code, certifique-se de que a extensão Python e o plug-in do Copilot estejam instalados. Depois de executar o projeto, o Copilot pode acessar diretamente o banco de dados da memória local, melhorando a precisão contextual do autocompletar de código.
- Compatibilidade entre plataformasO sistema se adapta automaticamente a diferentes sistemas operacionais, sem necessidade de configuração adicional; os usuários do Windows podem precisar instalar o Git Bash para executar scripts de shell.
- Otimização da pesquisa semânticaCom o serviço de incorporação do LM Studio, os resultados da pesquisa são mais precisos. Por exemplo, uma pesquisa por "Python" retorna todas as memórias relacionadas a Python, não apenas as correspondências exatas.
advertência
- Assegure uma conexão de rede estável para acessar o LM Studio Embedded Services (padrão)
http://localhost:1234/v1/embeddings
). - Faça backup dos arquivos do banco de dados SQLite regularmente para evitar a perda de dados.
- Se estiver usando o VS Code, é recomendável verificar se o ambiente Python é compatível com as dependências do projeto.
cenário do aplicativo
- Desenvolvedores depurando assistentes de IA
Os desenvolvedores podem usar o Persistent AI Memory para armazenar os dados de interação dos assistentes de IA, analisar padrões de diálogo e otimizar o desempenho do modelo. Por exemplo, ao depurar um chatbot, recupere conversas históricas para melhorar a lógica de resposta. - Pesquisadores analisando modelos de linguagem
Os pesquisadores podem usar a pesquisa semântica e os registros de invocação de ferramentas para analisar o comportamento dos modelos de linguagem em tarefas específicas e gerar dados experimentais. Por exemplo, para estudar a frequência de uso de ferramentas pela IA em tarefas de programação. - Gerenciamento de conhecimento pessoal
Os usuários podem armazenar notas de estudo ou inspirações como memórias e recuperá-las rapidamente por meio de pesquisa semântica. Por exemplo, um aluno pode armazenar anotações do curso e pesquisar "aprendizado de máquina" para encontrar conteúdo relevante. - Melhoria da eficiência do código VS
Os programadores podem armazenar conhecimentos relacionados ao código no sistema e combiná-los com o Copilot para melhorar a precisão contextual do preenchimento de código. Por exemplo, armazenar a documentação da API do projeto para acesso rápido a descrições de funções relevantes.
QA
- Como você garante a privacidade dos dados?
Os dados são armazenados em um banco de dados SQLite local, eliminando a necessidade de uploads da Internet e protegendo a privacidade. Os usuários podem personalizar o caminho do banco de dados para controlar ainda mais o acesso aos dados. - Quais modelos de IA são suportados?
O sistema é compatível com modelos que suportam o protocolo MCP, como Claude, GPT, Llama, etc., e também pode ser integrado ao Copilot via VS Code. - E se a instalação falhar?
Verifique se a versão do Python (recomenda-se a versão 3.8+) e as dependências do pip estão completas. Consulte a página de problemas do repositório do GitHub ou tente instalá-lo manualmente. - Qual é a precisão da pesquisa semântica?
Depende do modelo de incorporação do LM Studio para maior precisão. Os usuários podem ajustar o URL do serviço de incorporação para usar um modelo mais robusto.