Добавлена интеграция с Qdrant для поиска по векторам
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
1. ✅ Создать Memory Bank структуру
|
||||
2. 🔄 Продолжить документирование архитектуры и паттернов
|
||||
3. ⏳ Обновлять Memory Bank после значимых изменений
|
||||
4. ⏳ Добавить Qdrant в Memory Bank
|
||||
|
||||
## 🔍 Важные решения
|
||||
|
||||
@@ -61,6 +62,11 @@
|
||||
"Token": "",
|
||||
"Username": "",
|
||||
"SpaceKey": ""
|
||||
},
|
||||
"Qdrant": {
|
||||
"Url": "", // URL Qdrant сервера
|
||||
"ApiKey": "", // Опционально для авторизации
|
||||
"DefaultCollection": "knowledge" // Default коллекция для векторного поиска
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -125,6 +125,22 @@ TUI показывает:
|
||||
- Статус подов
|
||||
- Последние events
|
||||
- Кнопки действий
|
||||
- Векторные индексы Qdrant (если используется)
|
||||
```
|
||||
|
||||
### Сценарий 4: Поиск знаний через Qdrant
|
||||
|
||||
```
|
||||
User (via AI): "Как настроить деплой nginx?"
|
||||
↓
|
||||
AI вызывает: qdrantKnowledgeTools/search({
|
||||
query: "nginx деплой настройка",
|
||||
vector_embedding: [0.1, 0.2, ...]
|
||||
})
|
||||
↓
|
||||
Qdrant возвращает релевантные документы
|
||||
↓
|
||||
AI предоставляет из Confluence/документации
|
||||
```
|
||||
|
||||
## Метрики успеха
|
||||
@@ -133,6 +149,7 @@ TUI показывает:
|
||||
|---------|------|
|
||||
| Время на задачу (Jira) | -50% после интеграции |
|
||||
| Время на задачу (K8s) | -70% после интеграции |
|
||||
| Время на поиск знаний | -60% с Qdrant |
|
||||
| Довольство пользователей | >4.5/5 |
|
||||
| Количество инцидентов | Снизить на -30% |
|
||||
|
||||
@@ -163,4 +180,4 @@ TUI показывает:
|
||||
|
||||
---
|
||||
|
||||
*Документ описывает почему проект существует и как должен работать пользователь.*
|
||||
*Документ описывает почему проект существует и как должен работать пользователь.*
|
||||
|
||||
@@ -50,6 +50,15 @@
|
||||
- `create_branch` — создать ветку
|
||||
- `delete_branch` — удалить ветку
|
||||
|
||||
### Qdrant Integration (Vector DB)
|
||||
|
||||
- ✅ CRUD коллекции (создание, удаление)
|
||||
- ✅ Добавление/обновление документов (upsert)
|
||||
- ✅ Векторный поиск по коллекции
|
||||
- ✅ Удаление документов по ID
|
||||
- ✅ Поддержка метрик (Cosine, Euclid, Dot)
|
||||
- ✅ Поддержка API ключа (опционально)
|
||||
|
||||
### MCP Server
|
||||
|
||||
- ✅ HTTP Transport MCP 1.2.0
|
||||
@@ -168,7 +177,7 @@
|
||||
|
||||
**Состояние**: Development
|
||||
|
||||
**Последний commit**: `e96bab114ea1a58f3ea7bd5ab40d4645d456cd8f`
|
||||
**Последний commit**: `b5fe2623b3d14333a7138c22456862bff3781b82`
|
||||
|
||||
**Что работает**: Все основные функциональности готовы
|
||||
|
||||
|
||||
@@ -18,16 +18,17 @@
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ Services Layer (IToolModule) │
|
||||
│ ┌──────────┐ ┌───────────────┐ ┌────────────────────┐ │
|
||||
│ │JiraTools │ │ConfluenceTools│ │KubernetesTools │ │
|
||||
│ └──────────┘ └───────────────┘ └────────────────────┘ │
|
||||
│ ┌──────────┐ ┌───────────────┐ ┌────────────────────┐ ┌─────┐│
|
||||
│ │JiraTools │ │ConfluenceTools│ │KubernetesTools │ │Qdrant││
|
||||
│ └──────────┘ └───────────────┘ └────────────────────┘ └─────┘│
|
||||
│ └────────────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ External API Layer │
|
||||
│ ┌──────────┐ ┌───────────────┐ ┌────────────────────┐ │
|
||||
│ │ Jira API │ │Confluence API │ │ K8s API │ │
|
||||
│ └──────────┘ └───────────────┘ └────────────────────┘ │
|
||||
│ ┌──────────┐ ┌───────────────┐ ┌────────────────────┐ ┌────┐│
|
||||
│ │ Jira API │ │Confluence API │ │ K8s API │ │Qdr│ │
|
||||
│ └──────────┘ └───────────────┘ └────────────────────┘ └───┘ │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
@@ -289,4 +290,33 @@ Console.WriteLine
|
||||
|
||||
---
|
||||
|
||||
*Файл описывает систему архитектуры, ключевые компоненты и потоки данных. Обновлять при введении новых архитектурных решений.*
|
||||
### Qdrant Client Provider Pattern
|
||||
|
||||
**File**: `LazyBear.MCP/Services/Qdrant/QdrantClientProvider.cs`
|
||||
|
||||
```csharp
|
||||
public class QdrantClientProvider
|
||||
{
|
||||
private readonly IConfiguration _config;
|
||||
|
||||
public QdrantClient GetClient()
|
||||
{
|
||||
// Конфиг из appsettings.json
|
||||
var url = _config["Qdrant:Url"];
|
||||
var apiKey = _config["Qdrant:ApiKey"] ?? string.Empty;
|
||||
|
||||
return new QdrantClient(url, apiKey);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Fallback порядок**:
|
||||
1. Explicit URL из конфига
|
||||
2. Environment variable QDRANT_URL
|
||||
3. Localhost default
|
||||
|
||||
**Ответственность**: Создание клиентов Qdrant с поддержкой API ключа (опционально)
|
||||
|
||||
---
|
||||
|
||||
*Файл описывает систему архитектуры, ключевые компоненты и потоки данных. Обновлять при введении новых архитектурных решений.*
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
| **Model Context Protocol** | 1.2.0 | MCP стандарт |
|
||||
| **Kubernetes Client** | 13+ | .NET SDK для K8s |
|
||||
| **RazorConsole** | Latest | TUI framework |
|
||||
| **Qdrant.Client** | Latest | Векторный поиск,知识库 |
|
||||
|
||||
### Файлы конфигурации
|
||||
|
||||
@@ -101,6 +102,10 @@ LazyBear.MCP/
|
||||
│ │ └── JiraClientProvider.cs
|
||||
│ ├── Confluence/
|
||||
│ │ └── ConfluencePagesTools.cs
|
||||
│ ├── Qdrant/
|
||||
│ │ ├── QdrantClientProvider.cs
|
||||
│ │ ├── QdrantKnowledgeTools.cs
|
||||
│ │ └── QdrantToolModule.cs
|
||||
│ └── Kubernetes/
|
||||
│ ├── K8sConfigTools.cs
|
||||
│ ├── K8sDeploymentTools.cs
|
||||
@@ -215,6 +220,13 @@ echo '{"jsonrpc":"2.0","id":1,"method":"k8sPodsTools/getPodStatus","params":{"na
|
||||
|
||||
- `Jira:Url` обязателен, иначе инициализация провайдера может упасть
|
||||
- `Kubernetes:KubeconfigPath` может быть пустым — используется fallback
|
||||
- `Qdrant:Url` обязателен для векторного поиска, если используется
|
||||
- `Qdrant:ApiKey` опционален, но рекомендуется для безопасного доступа
|
||||
|
||||
### Qdrant Gotchas
|
||||
|
||||
- Косинусная метрика — default для векторного поиска
|
||||
- Размер вектора должен быть фиксированным при создании коллекции
|
||||
|
||||
### RazorConsole Gotchas
|
||||
|
||||
|
||||
Reference in New Issue
Block a user