DARP엔진
DARP를 위한 MCP 검색엔진.
DARPEngine은 온라인에 호스팅된 MCP 서버의 메타데이터를 저장하고 스마트 검색 기능을 제공합니다.
특징
- 간단한 CLI
- 검색을 위한 API 접근
- 수동으로 연결하기 위한 검색 결과를 검색하는 MCP 도구
- 서버 기반 라우팅 MCP 도구: 사용자 요청에 대해 찾은 도구를 사용하여 모든 질문에 답변합니다.
곧 출시 예정
.well-known/mcp.json
지원- 무한 궤도
- 좋은 프런트엔드
- 호스팅 버전
- 다양한 수준의 SSL 인증서를 검증하고 이 정보를 능숙하게 통합하여 민감한 MCP 서버를 스푸핑하기 어렵게 만듭니다.
설치
지엑스피1
시작하기
제공된 MCP 도구를 사용하여 DARPEngine을 MCP 클라이언트(예: Claude Desktop 또는 Cursor)에 연결할 수 있습니다. SSE 모드를 선택하고 엔드포인트로 http://localhost:4689/sse
지정하기만 하면 됩니다.
직접 CLI 사용
또 다른 방법은 CLI를 사용하는 것입니다. 대부분의 스크립트는 표준 Python 라이브러리와만 호환되지만, 라우팅 도구는 MCP 패키지를 필요로 합니다. 스크립트 설치는 다음과 같이 할 수 있습니다.
conda create -n darp 'python>=3.10'
conda activate darp
pip install -r mcp_server/requirements.txt
설치가 끝나면 스크립트를 사용할 수 있습니다.
우선, 엔진에 다음과 같은 MCP 서버를 추가해야 합니다.
$ python scripts/darp-add.py --url http://memelabs.ai:3006/sse --name code_analysis --description "Analyze gitlab repo for quality, topics, packages use"
그러면 다음과 같은 요청을 할 수 있습니다.
$ python scripts/darp-search.py "Analyze https://github.com/BenderV/autochat"
Found 1 servers:
code_analysis
라우팅 도구를 사용하면 더욱 유용한 결과를 얻을 수 있습니다.
$ python scripts/darp-router.py "Analyze https://github.com/BenderV/autochat"
assistant: [tool_calls]
[tool] ...
[tool] ...
[tool] ...
assistant:
### Code Quality
The code in the AutoChat repository demonstrates a good level of quality concerning **readability**, **maintainability**, and adherence to best practices:
- **Readability**: Consistent naming conventions are evident, with adherence to Python's PEP 8 styling guidelines. Descriptive function and variable names enhance the understanding of the code's purpose.
- **Maintainability**: The code is structured to allow easy updates and modifications, with a clear separation of concerns observed through the use of classes and methods handling distinct functionalities.
- **Best Practices**: Extensive use of exception handling, type annotations, and docstrings reflect best practices in Python development. Some TODO comments suggest areas for improvement, indicating that further attention is needed.
### Code Structure
The code is organized into multiple files and modules, each serving a distinct purpose:
- **Modular Design**: Various classes (e.g., `Autochat`, `Image`, `Message`) indicate a well-structured object-oriented design that promotes separation of concerns, making the code easier to navigate.
- **Logical Organization**: Files are logically separated based on functionality. For example, `chat.py` focuses on chat-related logic, while `model.py` handles message and image processing. The utility functions in `utils.py` enhance reusability.
- **Testing**: The presence of a test file (`tests/test_utils.py`) shows commitment to testing, crucial for code reliability. The use of `unittest` indicates a structured approach to testing individual components.
### Main Functionality
The code appears to be part of an **AutoChat package**, providing a framework for building conversational agents. Key functionalities include:
- **Chat Management**: The `Autochat` class acts as the main interface for managing conversations, handling message history, context, and interaction limits.
- **Message Handling**: Classes like `Message` and `MessagePart` enable structured message creation and processing, accommodating different message types, including text and images.
- **Functionality Extensions**: Methods like `add_tool` and `add_function` allow dynamic addition of tools and functions, facilitating customization of the chat experience.
- **Provider Integration**: Different API provider integrations (e.g., OpenAI, Anthropic) are encapsulated within respective classes, allowing flexibility in backend communication.
- **Utilities**: Utility functions offer additional capabilities such as CSV formatting and function parsing that support main chat operations.
Overall, the codebase is well-organized and showcases a thoughtful approach to developing a conversational AI framework. There is room for further refinement and enhancement, particularly in documentation and clarity of variable names.
### Library Usage
The project makes use of **AI libraries**, indicated by its functionality related to conversational agents and integration with AI service providers. This supports its ability to manage interactions with AI models efficiently.
### Summary
The AutoChat project is a chat system designed for communication with various AI models, primarily through the `Autochat` class, which manages conversations and supports complex message types, including text and images. The code is moderately complex due to its integration with external APIs and its ability to handle diverse interactions through extensible methods like `add_tool` and `add_function`. The quality of code is commendable, featuring a well-structured modular design that promotes readability and maintainability, although some areas require further documentation and refinement, such as clarifying variable names and enhancing comments. The organization into separate files for models, utilities, and tests aids development, but the utility functions could benefit from better categorization for improved clarity.
물론, 결과의 유용성은 엔진에 연결하는 MCP 서버에 따라 달라집니다.
도움과 지원을 받으세요
토론 섹션 을 통해 자유롭게 소통해 주시기 바랍니다.
기여하다
자세한 내용은 Docling에 기여하기를 읽어보세요.
X에서 저희를 팔로우하세요: https://x.com/DARP\_AI
특허
DARPEngine 코드베이스는 MIT 라이선스에 따라 사용됩니다.