mem-llm 1.0.6__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mem-llm might be problematic. Click here for more details.

Files changed (36) hide show
  1. mem_llm-1.0.7/CHANGELOG.md +73 -0
  2. {mem_llm-1.0.6/mem_llm.egg-info → mem_llm-1.0.7}/PKG-INFO +1 -1
  3. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/__init__.py +1 -1
  4. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/memory_manager.py +50 -0
  5. {mem_llm-1.0.6 → mem_llm-1.0.7/mem_llm.egg-info}/PKG-INFO +1 -1
  6. {mem_llm-1.0.6 → mem_llm-1.0.7}/setup.py +1 -1
  7. mem_llm-1.0.6/CHANGELOG.md +0 -237
  8. {mem_llm-1.0.6 → mem_llm-1.0.7}/INTEGRATION_GUIDE.md +0 -0
  9. {mem_llm-1.0.6 → mem_llm-1.0.7}/MANIFEST.in +0 -0
  10. {mem_llm-1.0.6 → mem_llm-1.0.7}/QUICKSTART.md +0 -0
  11. {mem_llm-1.0.6 → mem_llm-1.0.7}/QUICKSTART_TR.md +0 -0
  12. {mem_llm-1.0.6 → mem_llm-1.0.7}/README.md +0 -0
  13. {mem_llm-1.0.6 → mem_llm-1.0.7}/STRUCTURE.md +0 -0
  14. {mem_llm-1.0.6 → mem_llm-1.0.7}/docs/CONFIG_GUIDE.md +0 -0
  15. {mem_llm-1.0.6 → mem_llm-1.0.7}/docs/INDEX.md +0 -0
  16. {mem_llm-1.0.6 → mem_llm-1.0.7}/docs/README.md +0 -0
  17. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/config.yaml.example +0 -0
  18. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/config_from_docs.py +0 -0
  19. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/config_manager.py +0 -0
  20. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/knowledge_loader.py +0 -0
  21. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/llm_client.py +0 -0
  22. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/mem_agent.py +0 -0
  23. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/memory_db.py +0 -0
  24. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/memory_tools.py +0 -0
  25. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm/prompt_templates.py +0 -0
  26. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm.egg-info/SOURCES.txt +0 -0
  27. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm.egg-info/dependency_links.txt +0 -0
  28. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm.egg-info/requires.txt +0 -0
  29. {mem_llm-1.0.6 → mem_llm-1.0.7}/mem_llm.egg-info/top_level.txt +0 -0
  30. {mem_llm-1.0.6 → mem_llm-1.0.7}/requirements.txt +0 -0
  31. {mem_llm-1.0.6 → mem_llm-1.0.7}/setup.cfg +0 -0
  32. {mem_llm-1.0.6 → mem_llm-1.0.7}/tests/test_integration.py +0 -0
  33. {mem_llm-1.0.6 → mem_llm-1.0.7}/tests/test_llm_client.py +0 -0
  34. {mem_llm-1.0.6 → mem_llm-1.0.7}/tests/test_mem_agent.py +0 -0
  35. {mem_llm-1.0.6 → mem_llm-1.0.7}/tests/test_memory_manager.py +0 -0
  36. {mem_llm-1.0.6 → mem_llm-1.0.7}/tests/test_memory_tools.py +0 -0
@@ -0,0 +1,73 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [1.0.4] - 2025-10-13
6
+
7
+ ### Added
8
+ - ✨ Config-free knowledge base support - KB now works without config.yaml
9
+ - ✨ Smart keyword extraction for knowledge base search (Turkish & English stopwords)
10
+ - ✨ Enhanced KB context injection - KB data injected directly into user message
11
+ - ✨ Automatic user profile extraction (name, favorite_food, location)
12
+ - ✨ Turkish language support for profile extraction
13
+ - ✨ SQL-JSON memory compatibility methods (`update_user_profile`, `add_user`, `get_statistics` in MemoryManager)
14
+ - 📚 New example: `example_knowledge_base.py`
15
+ - 🧪 Comprehensive test suite: `comprehensive_test.py`
16
+
17
+ ### Fixed
18
+ - 🐛 Knowledge base not being used without config.yaml
19
+ - 🐛 LLM ignoring knowledge base information
20
+ - 🐛 User profiles returning empty dictionaries
21
+ - 🐛 Profile updates not working correctly with SQL memory
22
+ - 🐛 Keyword search failing with Turkish queries
23
+ - 🐛 Preferences not being parsed from SQL storage
24
+
25
+ ### Improved
26
+ - ⚡ Better KB-first response priority in system prompts
27
+ - ⚡ More accurate answers from knowledge base
28
+ - ⚡ Stronger instruction for using KB data
29
+ - ⚡ Enhanced search algorithm with stopword filtering
30
+ - 📖 Better documentation and examples
31
+
32
+ ### Changed
33
+ - 🔄 KB context now injected into user message (instead of separate system message)
34
+ - 🔄 System prompt rewritten for better KB utilization
35
+ - 🔄 Profile storage method (preferences stored as JSON in SQL)
36
+
37
+ ## [1.0.3] - 2025-10-12
38
+
39
+ ### Added
40
+ - 📦 Initial PyPI release
41
+ - 🎯 Core memory features (JSON & SQL)
42
+ - 🤖 Ollama integration
43
+ - 💾 Knowledge base system
44
+ - 🛠️ User tools
45
+ - ⚙️ Configuration management
46
+
47
+ ### Features
48
+ - Memory-enabled AI agent
49
+ - JSON and SQL memory backends
50
+ - Knowledge base integration
51
+ - User profile management
52
+ - Conversation history
53
+ - Configuration from YAML/documents
54
+
55
+ ## [1.0.2] - 2025-10-11
56
+
57
+ ### Internal
58
+ - 🔧 Package structure improvements
59
+ - 📝 Documentation updates
60
+
61
+ ## [1.0.1] - 2025-10-10
62
+
63
+ ### Fixed
64
+ - 🐛 Import errors after package rename
65
+ - 📦 Package directory naming issues
66
+
67
+ ## [1.0.0] - 2025-10-09
68
+
69
+ ### Initial Release
70
+ - 🎉 First stable release
71
+ - 🤖 Memory-enabled AI assistant
72
+ - 💾 JSON memory management
73
+ - 🔌 Ollama integration
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mem-llm
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: Memory-enabled AI assistant with local LLM support
5
5
  Home-page: https://github.com/emredeveloper/Mem-LLM
6
6
  Author: C. Emre Karataş
@@ -24,7 +24,7 @@ try:
24
24
  except ImportError:
25
25
  __all_pro__ = []
26
26
 
27
- __version__ = "1.0.6"
27
+ __version__ = "1.0.7"
28
28
  __author__ = "C. Emre Karataş"
29
29
 
30
30
  __all__ = [
@@ -259,4 +259,54 @@ class MemoryManager:
259
259
  self.load_memory(user_id)
260
260
 
261
261
  return self.user_profiles.get(user_id)
262
+
263
+ def update_user_profile(self, user_id: str, updates: Dict) -> None:
264
+ """
265
+ Update user profile (SQL-compatible alias)
266
+
267
+ Args:
268
+ user_id: User ID
269
+ updates: Fields to update
270
+ """
271
+ return self.update_profile(user_id, updates)
272
+
273
+ def add_user(self, user_id: str, name: Optional[str] = None, metadata: Optional[Dict] = None) -> None:
274
+ """
275
+ Add or update user (SQL-compatible method)
276
+
277
+ Args:
278
+ user_id: User ID
279
+ name: User name (optional)
280
+ metadata: Additional metadata (optional)
281
+ """
282
+ self.load_memory(user_id)
283
+ if name and 'name' not in self.user_profiles[user_id]:
284
+ self.user_profiles[user_id]['name'] = name
285
+ if metadata:
286
+ self.user_profiles[user_id].update(metadata)
287
+ self.save_memory(user_id)
288
+
289
+ def get_statistics(self) -> Dict:
290
+ """
291
+ Get general statistics (SQL-compatible method)
292
+
293
+ Returns:
294
+ Statistics dictionary
295
+ """
296
+ all_users = list(self.memory_dir.glob("*.json"))
297
+ total_interactions = 0
298
+
299
+ for user_file in all_users:
300
+ try:
301
+ with open(user_file, 'r', encoding='utf-8') as f:
302
+ data = json.load(f)
303
+ total_interactions += len(data.get('conversations', []))
304
+ except:
305
+ pass
306
+
307
+ return {
308
+ 'total_users': len(all_users),
309
+ 'total_interactions': total_interactions,
310
+ 'knowledge_base_entries': 0 # JSON doesn't have KB
311
+ }
262
312
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mem-llm
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: Memory-enabled AI assistant with local LLM support
5
5
  Home-page: https://github.com/emredeveloper/Mem-LLM
6
6
  Author: C. Emre Karataş
@@ -11,7 +11,7 @@ long_description = (this_directory / "README.md").read_text(encoding='utf-8')
11
11
 
12
12
  setup(
13
13
  name="mem-llm",
14
- version="1.0.6",
14
+ version="1.0.7",
15
15
  author="C. Emre Karataş",
16
16
  author_email="karatasqemre@gmail.com", # PyPI için gerekli - kendi emailinizi yazın
17
17
  description="Memory-enabled AI assistant with local LLM support",
@@ -1,237 +0,0 @@
1
- # 📋 Değişiklik Günlüğü
2
-
3
- ## [2.0.0] - 2025-10-13
4
-
5
- ### 🎉 Major Update - Production Ready!
6
-
7
- #### ✨ Yeni Özellikler
8
-
9
- ##### 💾 SQL Veritabanı Desteği (`memory_db.py`)
10
- - SQLite tabanlı kalıcı bellek sistemi
11
- - Kullanıcı profilleri tablosu
12
- - Konuşma geçmişi tablosu
13
- - Bilgi bankası tablosu
14
- - Senaryo şablonları tablosu
15
- - Performans optimizasyonlu indeksler
16
- - Thread-safe bağlantı yönetimi
17
-
18
- ##### 🎨 Prompt Şablon Sistemi (`prompt_templates.py`)
19
- - 8 hazır kullanıma hazır şablon:
20
- 1. **customer_service** - Müşteri hizmetleri
21
- 2. **tech_support** - Teknik destek
22
- 3. **sales_assistant** - Satış danışmanı
23
- 4. **education_tutor** - Eğitim asistanı
24
- 5. **health_advisor** - Sağlık bilgilendirme
25
- 6. **personal_assistant** - Kişisel asistan
26
- 7. **booking_assistant** - Rezervasyon sistemi
27
- 8. **hr_assistant** - İK asistanı
28
- - Değişken destekli şablon sistemi
29
- - Runtime'da şablon değiştirme
30
- - Özel şablon ekleme desteği
31
-
32
- ##### 📚 Bilgi Bankası Sistemi (`knowledge_loader.py`)
33
- - Önceden tanımlı problem/çözüm veritabanı
34
- - E-ticaret bilgi bankası (kargo, iade, ödeme, sipariş vb.)
35
- - Teknik destek bilgi bankası
36
- - JSON/YAML dosyasından yükleme
37
- - Programatik kayıt ekleme
38
- - Kategori bazlı arama
39
- - Öncelik (priority) sistemi
40
- - Anahtar kelime eşleştirme
41
-
42
- ##### ⚙️ Yapılandırma Sistemi (`config.yaml`, `config_manager.py`)
43
- - YAML tabanlı konfigürasyon
44
- - Modüler ayar grupları:
45
- - LLM ayarları (model, temperature, vb.)
46
- - Bellek ayarları (backend, cleanup vb.)
47
- - Prompt ayarları (şablon, değişkenler)
48
- - Bilgi bankası ayarları
49
- - Güvenlik ayarları
50
- - Loglama ayarları
51
- - Performans ayarları
52
- - Analytics ayarları
53
- - Nokta notasyonu ile kolay erişim
54
- - Environment variable desteği
55
- - Runtime'da yeniden yükleme
56
-
57
- ##### 🚀 MemAgentPro (`mem_agent_pro.py`)
58
- - SQL + Config + KB + Prompt entegrasyonu
59
- - Gelişmiş loglama sistemi
60
- - Performans metrikleri
61
- - Otomatik bilgi bankası yükleme
62
- - Context-aware cevaplar
63
- - Metadata desteği
64
- - İstatistik ve raporlama
65
- - Production-ready yapı
66
-
67
- #### 📖 Dokümantasyon
68
-
69
- ##### `INTEGRATION_GUIDE.md`
70
- - Kapsamlı entegrasyon rehberi
71
- - Flask/FastAPI API örnekleri
72
- - Docker deployment
73
- - PostgreSQL entegrasyonu
74
- - Özel bilgi bankası oluşturma
75
- - Excel import
76
- - Nginx reverse proxy
77
- - Systemd service
78
- - Güvenlik best practices
79
- - Monitoring ve logging
80
- - Troubleshooting
81
-
82
- ##### `README_UPDATED.md`
83
- - v2.0 özellikleri
84
- - Hızlı başlangıç
85
- - Yapılandırma örnekleri
86
- - Prompt şablonları rehberi
87
- - Bilgi bankası kullanımı
88
- - API entegrasyon örnekleri
89
- - Production deployment
90
- - Performans metrikleri
91
-
92
- ##### `CHANGELOG.md`
93
- - Detaylı değişiklik listesi
94
- - Versiyon karşılaştırması
95
- - Migrasyon rehberi
96
-
97
- #### 🔧 İyileştirmeler
98
-
99
- - **Performans**: SQL indeksleri ile %300 hızlanma
100
- - **Ölçeklenebilirlik**: 1000+ kullanıcı desteği
101
- - **Güvenlik**: Rate limiting, input validation
102
- - **Monitoring**: Prometheus metrikleri hazır
103
- - **Loglama**: Yapılandırılabilir log seviyesi
104
-
105
- #### 🔌 Entegrasyon Örnekleri
106
-
107
- ##### `example_pro_usage.py`
108
- - Temel kurulum örneği
109
- - Bilgi bankası kullanımı
110
- - Prompt şablonları demo
111
- - Bellek ve bağlam örneği
112
- - İstatistik raporlama
113
-
114
- #### 📦 Paket Güncellemeleri
115
-
116
- ##### `requirements.txt`
117
- - pyyaml>=6.0.1 eklendi (config için)
118
- - Opsiyonel bağımlılıklar dokümante edildi:
119
- - Flask/FastAPI (web API)
120
- - PostgreSQL (dış DB)
121
- - Pandas (Excel import)
122
- - Prometheus (monitoring)
123
-
124
- ##### `__init__.py`
125
- - Pro version importları
126
- - Graceful fallback (Pro olmadan da çalışır)
127
- - Versiyon 2.0.0
128
-
129
- #### 🏗️ Mimari Değişiklikler
130
-
131
- **Eski Yapı (v1.0):**
132
- ```
133
- MemAgent → MemoryManager (JSON) → LLM
134
- ```
135
-
136
- **Yeni Yapı (v2.0):**
137
- ```
138
- MemAgentPro → ConfigManager
139
- → SQLMemoryManager
140
- → PromptManager
141
- → KnowledgeLoader
142
- → LLMClient
143
- ```
144
-
145
- #### 🔄 Geriye Dönük Uyumluluk
146
-
147
- - `MemAgent` (basit versiyon) hala çalışır
148
- - JSON bellek sistemi korundu
149
- - Mevcut kodlar kırılmadan çalışır
150
- - Pro özellikler opsiyonel
151
-
152
- ---
153
-
154
- ## [1.0.0] - 2025-10-13 (İlk Sürüm)
155
-
156
- ### ✨ İlk Özellikler
157
-
158
- - Temel `MemAgent` sınıfı
159
- - JSON tabanlı bellek yönetimi
160
- - Ollama LLM entegrasyonu
161
- - Basit sohbet sistemi
162
- - Kullanıcı profilleri
163
- - Konuşma geçmişi
164
- - Bellek arama
165
- - Basit örnekler
166
-
167
- ---
168
-
169
- ## Migrasyon Rehberi: v1.0 → v2.0
170
-
171
- ### JSON'dan SQL'e Geçiş
172
-
173
- ```python
174
- # Eski (v1.0)
175
- from mem_agent import MemAgent
176
- agent = MemAgent()
177
-
178
- # Yeni (v2.0) - Basit kullanım aynı
179
- from mem_agent import MemAgent
180
- agent = MemAgent() # Hala çalışır!
181
-
182
- # Yeni (v2.0) - Pro özellikler
183
- from mem_agent_pro import MemAgentPro
184
- agent = MemAgentPro() # SQL + Config + KB
185
- ```
186
-
187
- ### Veri Migrasyonu
188
-
189
- ```python
190
- # JSON verilerini SQL'e taşıma
191
- import json
192
- from memory_db import SQLMemoryManager
193
-
194
- sql_db = SQLMemoryManager("memories.db")
195
-
196
- # Eski JSON dosyalarını oku
197
- for json_file in Path("memories").glob("*.json"):
198
- with open(json_file) as f:
199
- data = json.load(f)
200
-
201
- user_id = data['profile']['user_id']
202
- sql_db.add_user(user_id, data['profile'].get('name'))
203
-
204
- for conv in data['conversations']:
205
- sql_db.add_interaction(
206
- user_id=user_id,
207
- user_message=conv['user_message'],
208
- bot_response=conv['bot_response'],
209
- metadata=conv.get('metadata')
210
- )
211
- ```
212
-
213
- ---
214
-
215
- ## Planlanan Özellikler (v2.1+)
216
-
217
- - [ ] Vector database desteği (semantic search)
218
- - [ ] Çoklu model desteği (GPT-4, Claude vb.)
219
- - [ ] Sesli konuşma (speech-to-text)
220
- - [ ] Sentiment analizi
221
- - [ ] Otomatik öğrenme (feedback loop)
222
- - [ ] Multi-language support
223
- - [ ] Web UI dashboard
224
- - [ ] Real-time analytics
225
- - [ ] WebSocket desteği
226
- - [ ] Kubernetes deployment
227
-
228
- ---
229
-
230
- ## Katkıda Bulunanlar
231
-
232
- - C. Emre Karataş - Initial work & v2.0 major update
233
-
234
- ---
235
-
236
- **Tam değişiklik listesi**: [v1.0...v2.0](https://github.com/yourusername/mem-agent/compare/v1.0...v2.0)
237
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes