chore: remove files (#1467)
<!-- .github/pull_request_template.md --> ## Description <!-- Please provide a clear, human-generated description of the changes in this PR. DO NOT use AI-generated descriptions. We want to understand your thought process and reasoning. --> ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Other (please specify): ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
This commit is contained in:
commit
ac833d14a1
2 changed files with 0 additions and 231 deletions
153
cognee-gui.py
153
cognee-gui.py
|
|
@ -1,153 +0,0 @@
|
|||
import sys
|
||||
import asyncio
|
||||
|
||||
try:
|
||||
import cognee
|
||||
from PySide6.QtWidgets import (
|
||||
QApplication,
|
||||
QWidget,
|
||||
QPushButton,
|
||||
QLineEdit,
|
||||
QFileDialog,
|
||||
QVBoxLayout,
|
||||
QHBoxLayout,
|
||||
QLabel,
|
||||
QMessageBox,
|
||||
QTextEdit,
|
||||
QProgressDialog,
|
||||
)
|
||||
from PySide6.QtCore import Qt
|
||||
|
||||
from qasync import QEventLoop # Import QEventLoop from qasync
|
||||
except ImportError as e:
|
||||
print(
|
||||
"\nPlease install Cognee with optional gui dependencies or manually install missing dependencies.\n"
|
||||
)
|
||||
print("\nTo install with poetry use:")
|
||||
print("\npoetry install -E gui\n")
|
||||
print("\nOr to install with poetry and all dependencies use:")
|
||||
print("\npoetry install --all-extras\n")
|
||||
print("\nTo install with pip use: ")
|
||||
print('\npip install ".[gui]"\n')
|
||||
raise e
|
||||
|
||||
|
||||
class FileSearchApp(QWidget):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.selected_file = None
|
||||
self.init_ui()
|
||||
|
||||
def init_ui(self):
|
||||
# Horizontal layout for file upload and visualization buttons
|
||||
button_layout = QHBoxLayout()
|
||||
|
||||
# Button to open file dialog
|
||||
self.file_button = QPushButton("Upload File to Cognee", parent=self)
|
||||
self.file_button.clicked.connect(self.open_file_dialog)
|
||||
button_layout.addWidget(self.file_button)
|
||||
|
||||
# Button to visualize data
|
||||
self.visualize_button = QPushButton("Visualize Data", parent=self)
|
||||
self.visualize_button.clicked.connect(lambda: asyncio.ensure_future(self.visualize_data()))
|
||||
button_layout.addWidget(self.visualize_button)
|
||||
|
||||
# Label to display selected file path
|
||||
self.file_label = QLabel("No file selected", parent=self)
|
||||
|
||||
# Line edit for search input
|
||||
self.search_input = QLineEdit(parent=self)
|
||||
self.search_input.setPlaceholderText("Enter text to search...")
|
||||
|
||||
# Button to perform search; schedule the async search on click
|
||||
self.search_button = QPushButton("Cognee Search", parent=self)
|
||||
self.search_button.clicked.connect(lambda: asyncio.ensure_future(self._cognee_search()))
|
||||
|
||||
# Text output area for search results
|
||||
self.result_output = QTextEdit(parent=self)
|
||||
self.result_output.setReadOnly(True)
|
||||
self.result_output.setPlaceholderText("Search results will appear here...")
|
||||
|
||||
# Progress dialog
|
||||
self.progress_dialog = QProgressDialog("Processing..", None, 0, 0, parent=self)
|
||||
self.progress_dialog.setWindowModality(Qt.WindowModal)
|
||||
self.progress_dialog.setCancelButton(None) # Remove the cancel button
|
||||
self.progress_dialog.close()
|
||||
|
||||
# Layout setup
|
||||
layout = QVBoxLayout()
|
||||
layout.addLayout(button_layout)
|
||||
layout.addWidget(self.file_label)
|
||||
layout.addWidget(self.search_input)
|
||||
layout.addWidget(self.search_button)
|
||||
layout.addWidget(self.result_output)
|
||||
|
||||
self.setLayout(layout)
|
||||
self.setWindowTitle("Cognee")
|
||||
self.resize(500, 300)
|
||||
|
||||
def open_file_dialog(self):
|
||||
file_path, _ = QFileDialog.getOpenFileName(
|
||||
self, "Select a File", "", "All Files (*.*);;Text Files (*.txt)"
|
||||
)
|
||||
if file_path:
|
||||
self.selected_file = file_path
|
||||
self.file_label.setText(f"Selected: {file_path}")
|
||||
asyncio.ensure_future(self.process_file_async())
|
||||
|
||||
async def process_file_async(self):
|
||||
"""Asynchronously add and process the selected file."""
|
||||
# Disable the entire window
|
||||
self.progress_dialog.show()
|
||||
self.setEnabled(False)
|
||||
try:
|
||||
await cognee.add(self.selected_file)
|
||||
await cognee.cognify()
|
||||
except Exception as e:
|
||||
QMessageBox.critical(self, "Error", f"File processing failed: {str(e)}")
|
||||
# Once finished, re-enable the window
|
||||
self.setEnabled(True)
|
||||
self.progress_dialog.close()
|
||||
|
||||
async def _cognee_search(self):
|
||||
"""Performs an async search and updates the result output."""
|
||||
# Disable the entire window
|
||||
self.setEnabled(False)
|
||||
self.progress_dialog.show()
|
||||
|
||||
try:
|
||||
search_text = self.search_input.text().strip()
|
||||
result = await cognee.search(query_text=search_text)
|
||||
print(result)
|
||||
# Assuming result is a list-like object; adjust if necessary
|
||||
self.result_output.setText(result[0])
|
||||
except Exception as e:
|
||||
QMessageBox.critical(self, "Error", f"Search failed: {str(e)}")
|
||||
|
||||
# Once finished, re-enable the window
|
||||
self.setEnabled(True)
|
||||
self.progress_dialog.close()
|
||||
|
||||
async def visualize_data(self):
|
||||
"""Async slot for handling visualize data button press."""
|
||||
import webbrowser
|
||||
from cognee.api.v1.visualize.visualize import visualize_graph
|
||||
import os
|
||||
import pathlib
|
||||
|
||||
html_file = os.path.join(pathlib.Path(__file__).parent, ".data", "graph_visualization.html")
|
||||
await visualize_graph(html_file)
|
||||
webbrowser.open(f"file://{html_file}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
# Create a qasync event loop and set it as the current event loop
|
||||
loop = QEventLoop(app)
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
window = FileSearchApp()
|
||||
window.show()
|
||||
|
||||
with loop:
|
||||
loop.run_forever()
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
# cognee Graduates from GitHub Secure Open Source Program
|
||||
|
||||
*Building Trust and Security in AI Memory Systems*
|
||||
|
||||
We're excited to announce that **cognee** has successfully graduated from the GitHub Secure Open Source Program! This milestone reflects our commitment to maintaining the highest standards of security and reliability in open source AI infrastructure.
|
||||
|
||||
## What is cognee?
|
||||
|
||||
cognee is an open source library that provides **memory for AI agents in just 5 lines of code**. It transforms raw data into structured knowledge graphs through our innovative ECL (Extract, Cognify, Load) pipeline, enabling AI systems to build dynamic memory that goes far beyond traditional RAG systems.
|
||||
|
||||
### Key Features:
|
||||
- **Interconnected Knowledge**: Links conversations, documents, images, and audio transcriptions
|
||||
- **Scalable Architecture**: Loads data to graph and vector databases using only Pydantic
|
||||
- **30+ Data Sources**: Manipulates data while ingesting from diverse sources
|
||||
- **Developer-Friendly**: Reduces complexity and cost compared to traditional RAG implementations
|
||||
|
||||
## GitHub Secure Open Source Program Achievement
|
||||
|
||||
The GitHub Secure Open Source Program helps maintainers adopt security best practices and ensures that critical open source projects meet enterprise-grade security standards. Our graduation demonstrates that cognee has successfully implemented:
|
||||
|
||||
- **Security-first development practices**
|
||||
- **Comprehensive vulnerability management**
|
||||
- **Secure dependency management**
|
||||
- **Code quality and review processes**
|
||||
- **Community safety guidelines**
|
||||
|
||||
## Why This Matters for AI Development
|
||||
|
||||
As AI systems become more prevalent in production environments, security becomes paramount. cognee's graduation from this program means developers can confidently build AI memory systems knowing they're using infrastructure that meets rigorous security standards.
|
||||
|
||||
### Benefits for Our Community:
|
||||
- **Enterprise Adoption**: Companies can deploy cognee with confidence in security-sensitive environments
|
||||
- **Vulnerability Response**: Our security practices ensure rapid identification and resolution of potential issues
|
||||
- **Supply Chain Security**: Dependencies are carefully managed and regularly audited
|
||||
- **Trust & Transparency**: Open source development with security-first principles
|
||||
|
||||
## What's Next?
|
||||
|
||||
With over **5,000 GitHub stars** and a growing community of developers, cognee continues to evolve. We recently launched **Cogwit beta** - our fully-hosted AI Memory platform, and our [research paper](https://arxiv.org/abs/2505.24478) demonstrates the effectiveness of our approach.
|
||||
|
||||
Our commitment to security doesn't end with graduation. We'll continue following best practices and contributing to the broader conversation about secure AI infrastructure.
|
||||
|
||||
## Get Started Today
|
||||
|
||||
Ready to add intelligent memory to your AI applications? Get started with cognee:
|
||||
|
||||
```python
|
||||
import cognee
|
||||
import asyncio
|
||||
|
||||
async def main():
|
||||
# Add your data
|
||||
await cognee.add("Your document content here")
|
||||
|
||||
# Transform into knowledge graph
|
||||
await cognee.cognify()
|
||||
|
||||
# Query intelligently
|
||||
results = await cognee.search("What insights can you find?")
|
||||
|
||||
for result in results:
|
||||
print(result)
|
||||
|
||||
asyncio.run(main())
|
||||
```
|
||||
|
||||
## Join Our Community
|
||||
|
||||
- 🌟 [Star us on GitHub](https://github.com/topoteretes/cognee)
|
||||
- 💬 [Join our Discord](https://discord.gg/NQPKmU5CCg)
|
||||
- 📖 [Read our documentation](https://docs.cognee.ai/)
|
||||
- 🚀 [Try Cogwit beta](https://platform.cognee.ai/)
|
||||
|
||||
The future of AI memory is secure, scalable, and open source. We're grateful for the GitHub team's support and excited to continue building the infrastructure that powers the next generation of intelligent applications.
|
||||
|
||||
---
|
||||
|
||||
*About cognee: We're building the memory layer for AI agents, enabling them to learn, remember, and reason across conversations and data sources. Our open source approach ensures that advanced AI memory capabilities are accessible to developers worldwide.*
|
||||
Loading…
Add table
Reference in a new issue