local-deep-research 0.5.9__py3-none-any.whl → 0.6.1__py3-none-any.whl

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.
Files changed (90) hide show
  1. local_deep_research/__version__.py +1 -1
  2. local_deep_research/advanced_search_system/candidate_exploration/progressive_explorer.py +11 -1
  3. local_deep_research/advanced_search_system/questions/browsecomp_question.py +32 -6
  4. local_deep_research/advanced_search_system/strategies/focused_iteration_strategy.py +32 -8
  5. local_deep_research/advanced_search_system/strategies/source_based_strategy.py +2 -0
  6. local_deep_research/api/__init__.py +2 -0
  7. local_deep_research/api/research_functions.py +177 -3
  8. local_deep_research/benchmarks/graders.py +150 -5
  9. local_deep_research/benchmarks/models/__init__.py +19 -0
  10. local_deep_research/benchmarks/models/benchmark_models.py +283 -0
  11. local_deep_research/benchmarks/ui/__init__.py +1 -0
  12. local_deep_research/benchmarks/web_api/__init__.py +6 -0
  13. local_deep_research/benchmarks/web_api/benchmark_routes.py +862 -0
  14. local_deep_research/benchmarks/web_api/benchmark_service.py +920 -0
  15. local_deep_research/config/llm_config.py +106 -21
  16. local_deep_research/defaults/default_settings.json +447 -2
  17. local_deep_research/error_handling/report_generator.py +10 -0
  18. local_deep_research/llm/__init__.py +19 -0
  19. local_deep_research/llm/llm_registry.py +155 -0
  20. local_deep_research/metrics/db_models.py +3 -7
  21. local_deep_research/metrics/search_tracker.py +25 -11
  22. local_deep_research/search_system.py +12 -9
  23. local_deep_research/utilities/log_utils.py +23 -10
  24. local_deep_research/utilities/thread_context.py +99 -0
  25. local_deep_research/web/app_factory.py +32 -8
  26. local_deep_research/web/database/benchmark_schema.py +230 -0
  27. local_deep_research/web/database/convert_research_id_to_string.py +161 -0
  28. local_deep_research/web/database/models.py +55 -1
  29. local_deep_research/web/database/schema_upgrade.py +397 -2
  30. local_deep_research/web/database/uuid_migration.py +265 -0
  31. local_deep_research/web/routes/api_routes.py +62 -31
  32. local_deep_research/web/routes/history_routes.py +13 -6
  33. local_deep_research/web/routes/metrics_routes.py +264 -4
  34. local_deep_research/web/routes/research_routes.py +45 -18
  35. local_deep_research/web/routes/route_registry.py +352 -0
  36. local_deep_research/web/routes/settings_routes.py +382 -22
  37. local_deep_research/web/services/research_service.py +22 -29
  38. local_deep_research/web/services/settings_manager.py +53 -0
  39. local_deep_research/web/services/settings_service.py +2 -0
  40. local_deep_research/web/static/css/styles.css +8 -0
  41. local_deep_research/web/static/js/components/detail.js +7 -14
  42. local_deep_research/web/static/js/components/details.js +8 -10
  43. local_deep_research/web/static/js/components/fallback/ui.js +4 -4
  44. local_deep_research/web/static/js/components/history.js +6 -6
  45. local_deep_research/web/static/js/components/logpanel.js +14 -11
  46. local_deep_research/web/static/js/components/progress.js +51 -46
  47. local_deep_research/web/static/js/components/research.js +250 -89
  48. local_deep_research/web/static/js/components/results.js +5 -7
  49. local_deep_research/web/static/js/components/settings.js +32 -26
  50. local_deep_research/web/static/js/components/settings_sync.js +24 -23
  51. local_deep_research/web/static/js/config/urls.js +285 -0
  52. local_deep_research/web/static/js/main.js +8 -8
  53. local_deep_research/web/static/js/research_form.js +267 -12
  54. local_deep_research/web/static/js/services/api.js +18 -18
  55. local_deep_research/web/static/js/services/keyboard.js +8 -8
  56. local_deep_research/web/static/js/services/socket.js +53 -35
  57. local_deep_research/web/static/js/services/ui.js +1 -1
  58. local_deep_research/web/templates/base.html +4 -1
  59. local_deep_research/web/templates/components/custom_dropdown.html +5 -3
  60. local_deep_research/web/templates/components/mobile_nav.html +3 -3
  61. local_deep_research/web/templates/components/sidebar.html +9 -3
  62. local_deep_research/web/templates/pages/benchmark.html +2697 -0
  63. local_deep_research/web/templates/pages/benchmark_results.html +1274 -0
  64. local_deep_research/web/templates/pages/benchmark_simple.html +453 -0
  65. local_deep_research/web/templates/pages/cost_analytics.html +1 -1
  66. local_deep_research/web/templates/pages/metrics.html +212 -39
  67. local_deep_research/web/templates/pages/research.html +8 -6
  68. local_deep_research/web/templates/pages/star_reviews.html +1 -1
  69. local_deep_research/web_search_engines/engines/search_engine_arxiv.py +14 -1
  70. local_deep_research/web_search_engines/engines/search_engine_brave.py +15 -1
  71. local_deep_research/web_search_engines/engines/search_engine_ddg.py +20 -1
  72. local_deep_research/web_search_engines/engines/search_engine_google_pse.py +26 -2
  73. local_deep_research/web_search_engines/engines/search_engine_pubmed.py +15 -1
  74. local_deep_research/web_search_engines/engines/search_engine_retriever.py +192 -0
  75. local_deep_research/web_search_engines/engines/search_engine_tavily.py +307 -0
  76. local_deep_research/web_search_engines/rate_limiting/__init__.py +14 -0
  77. local_deep_research/web_search_engines/rate_limiting/__main__.py +9 -0
  78. local_deep_research/web_search_engines/rate_limiting/cli.py +209 -0
  79. local_deep_research/web_search_engines/rate_limiting/exceptions.py +21 -0
  80. local_deep_research/web_search_engines/rate_limiting/tracker.py +506 -0
  81. local_deep_research/web_search_engines/retriever_registry.py +108 -0
  82. local_deep_research/web_search_engines/search_engine_base.py +161 -43
  83. local_deep_research/web_search_engines/search_engine_factory.py +14 -0
  84. local_deep_research/web_search_engines/search_engines_config.py +20 -0
  85. local_deep_research-0.6.1.dist-info/METADATA +374 -0
  86. {local_deep_research-0.5.9.dist-info → local_deep_research-0.6.1.dist-info}/RECORD +89 -64
  87. local_deep_research-0.5.9.dist-info/METADATA +0 -420
  88. {local_deep_research-0.5.9.dist-info → local_deep_research-0.6.1.dist-info}/WHEEL +0 -0
  89. {local_deep_research-0.5.9.dist-info → local_deep_research-0.6.1.dist-info}/entry_points.txt +0 -0
  90. {local_deep_research-0.5.9.dist-info → local_deep_research-0.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,420 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: local-deep-research
3
- Version: 0.5.9
4
- Summary: AI-powered research assistant with deep, iterative analysis using LLMs and web searches
5
- Author-Email: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>, HashedViking <6432677+HashedViking@users.noreply.github.com>
6
- License: MIT License
7
-
8
- Copyright (c) 2025 LearningCircuit
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy
11
- of this software and associated documentation files (the "Software"), to deal
12
- in the Software without restriction, including without limitation the rights
13
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- copies of the Software, and to permit persons to whom the Software is
15
- furnished to do so, subject to the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included in all
18
- copies or substantial portions of the Software.
19
-
20
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
- SOFTWARE.
27
-
28
- Classifier: Programming Language :: Python :: 3
29
- Classifier: License :: OSI Approved :: MIT License
30
- Classifier: Operating System :: OS Independent
31
- Project-URL: Homepage, https://github.com/LearningCircuit/local-deep-research
32
- Project-URL: Bug Tracker, https://github.com/LearningCircuit/local-deep-research/issues
33
- Requires-Python: >=3.10
34
- Requires-Dist: langchain>=0.3.18
35
- Requires-Dist: langchain-community>=0.3.17
36
- Requires-Dist: langchain-core>=0.3.34
37
- Requires-Dist: langchain-ollama>=0.2.3
38
- Requires-Dist: langchain-openai>=0.3.5
39
- Requires-Dist: langchain-anthropic>=0.3.13
40
- Requires-Dist: duckduckgo_search>=7.3.2
41
- Requires-Dist: python-dateutil>=2.9.0
42
- Requires-Dist: typing_extensions>=4.12.2
43
- Requires-Dist: justext
44
- Requires-Dist: playwright
45
- Requires-Dist: beautifulsoup4
46
- Requires-Dist: flask>=3.1.0
47
- Requires-Dist: flask-cors>=3.0.10
48
- Requires-Dist: flask-socketio>=5.1.1
49
- Requires-Dist: sqlalchemy>=1.4.23
50
- Requires-Dist: wikipedia
51
- Requires-Dist: arxiv>=1.4.3
52
- Requires-Dist: pypdf
53
- Requires-Dist: sentence-transformers
54
- Requires-Dist: faiss-cpu
55
- Requires-Dist: pydantic>=2.0.0
56
- Requires-Dist: pydantic-settings>=2.0.0
57
- Requires-Dist: toml>=0.10.2
58
- Requires-Dist: platformdirs>=3.0.0
59
- Requires-Dist: dynaconf
60
- Requires-Dist: requests>=2.28.0
61
- Requires-Dist: tiktoken>=0.4.0
62
- Requires-Dist: xmltodict>=0.13.0
63
- Requires-Dist: lxml>=4.9.2
64
- Requires-Dist: pdfplumber>=0.9.0
65
- Requires-Dist: unstructured>=0.10.0
66
- Requires-Dist: google-search-results
67
- Requires-Dist: importlib-resources>=6.5.2
68
- Requires-Dist: setuptools>=78.1.0
69
- Requires-Dist: flask-wtf>=1.2.2
70
- Requires-Dist: optuna>=4.3.0
71
- Requires-Dist: elasticsearch==8.14.0
72
- Requires-Dist: methodtools>=0.4.7
73
- Requires-Dist: loguru>=0.7.3
74
- Requires-Dist: cachetools>=5.5.2
75
- Requires-Dist: matplotlib>=3.10.3
76
- Requires-Dist: pandas>=2.2.3
77
- Requires-Dist: plotly>=6.0.1
78
- Requires-Dist: kaleido==0.2.1
79
- Requires-Dist: aiohttp>=3.9.0
80
- Description-Content-Type: text/markdown
81
-
82
- # Local Deep Research
83
-
84
- <div align="center">
85
-
86
- [![GitHub stars](https://img.shields.io/github/stars/LearningCircuit/local-deep-research?style=for-the-badge)](https://github.com/LearningCircuit/local-deep-research/stargazers)
87
- [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
88
- [![Discord](https://img.shields.io/discord/1352043059562680370?style=for-the-badge&logo=discord)](https://discord.gg/ttcqQeFcJ3)
89
- [![Reddit](https://img.shields.io/badge/Reddit-r/LocalDeepResearch-FF4500?style=for-the-badge&logo=reddit)](https://www.reddit.com/r/LocalDeepResearch/)
90
-
91
- *AI-powered research assistant that performs deep, iterative analysis using multiple LLMs and web searches*
92
-
93
- <div align="center">
94
- <a href="https://www.youtube.com/watch?v=0ISreg9q0p0">
95
- <img src="https://img.youtube.com/vi/0ISreg9q0p0/0.jpg" alt="Local Deep Research">
96
- <br>
97
- <span>▶️ Watch Video</span>
98
- </a>
99
- </div>
100
-
101
-
102
- </div>
103
-
104
- ## 📋 Overview
105
-
106
- Local Deep Research is a powerful AI research assistant that:
107
-
108
- 1. **Performs iterative, multi-source research** on any topic
109
- 2. **Creates comprehensive reports or quick summaries** with proper citations
110
- 3. **Runs locally** for complete privacy when using local LLMs
111
- 4. **Searches across multiple sources** including academic databases & the web
112
- 5. **Processes your own documents** with vector search (RAG)
113
- 6. **Optimized for speed** with parallel search processing
114
-
115
- Local Deep Research combines the power of large language models with intelligent search strategies to provide well-researched, properly cited answers to complex questions. It can process queries in just seconds with the Quick Summary option, or create detailed reports with proper section organization for more comprehensive analysis.
116
-
117
- ## ⚡ Quick Start
118
-
119
- ### Option 1: Docker (Quickstart no MAC/ARM)
120
-
121
- ```bash
122
- # Step 1: Pull and run SearXNG for optimal search results
123
- docker pull searxng/searxng
124
- docker run -d -p 8080:8080 --name searxng searxng/searxng
125
-
126
- # Step 2: Pull and run Local Deep Research (Please build your own docker on ARM)
127
- docker pull localdeepresearch/local-deep-research
128
- docker run -d -p 5000:5000 --network host --name local-deep-research localdeepresearch/local-deep-research
129
-
130
- # Start containers - Required after each reboot (can be automated with this flag in run command --restart unless-stopped)
131
- docker start searxng
132
- docker start local-deep-research
133
-
134
- ```
135
-
136
- ### Option 2: Docker Compose (Recommended)
137
-
138
- LDR uses Docker compose to bundle the web app and all it's dependencies so
139
- you can get up and running quickly.
140
-
141
- ### Prerequisites
142
-
143
- - [Docker](https://docs.docker.com/engine/install/)
144
- - [Docker Compose](https://docs.docker.com/compose/install/)
145
- - `cookiecutter`: Run `pip install --user cookiecutter`
146
-
147
- Clone the repository:
148
-
149
- ```bash
150
- git clone https://github.com/LearningCircuit/local-deep-research.git
151
- cd local-deep-research
152
- ```
153
-
154
- ### Configuring with Docker Compose
155
-
156
- In the LDR repository, run the following command
157
- to do generate the compose file:
158
-
159
- ```bash
160
- cookiecutter cookiecutter-docker/
161
- ```
162
-
163
- This will prompt you to answer a series of questions. Hit Enter repeatedly
164
- to accept the default values. It should generate a file in the repository called `docker-compose.default.yml`. To run LDR, use the following command:
165
-
166
- ```bash
167
- docker compose -f docker-compose.default.yml up
168
- ```
169
-
170
- Then visit `http://127.0.0.1:5000` to start researching!
171
-
172
- See [here](https://github.com/LearningCircuit/local-deep-research/wiki/Installation#docker-installation-recommended) for more information about
173
- using Docker.
174
-
175
- ### Option 3: Python Package (mostly for programmatic access)
176
-
177
- ```bash
178
- # Install the package
179
- pip install local-deep-research
180
-
181
- # Setup SearXNG for best results
182
- docker pull searxng/searxng
183
- docker run -d -p 8080:8080 --name searxng searxng/searxng
184
-
185
- # Install Ollama and pull a model
186
- # Download from https://ollama.ai and run:
187
- ollama pull gemma3:12b
188
-
189
- # Start the web interface
190
- python -m local_deep_research.web.app
191
- ```
192
-
193
- For programmatic use in your Python code:
194
-
195
- ```python
196
- from local_deep_research import quick_summary
197
-
198
- results = quick_summary(
199
- query="advances in fusion energy",
200
- search_tool="auto",
201
- iterations=1
202
- )
203
- print(results["summary"])
204
- ```
205
-
206
- ### Additional Installation Options
207
-
208
- **Windows**: Docker is the easiest option for Windows users. If preferred, a [Windows Installer](https://github.com/LearningCircuit/local-deep-research/releases/download/v0.1.0/LocalDeepResearch_Setup.exe) is also available.
209
-
210
- For more information on installation options, see [the wiki](https://github.com/LearningCircuit/local-deep-research/wiki/Installation).
211
-
212
- ## 🔍 Research Capabilities
213
-
214
- ### Two Research Modes
215
-
216
- - **Quick Summary**: Fast results (30s-3min) with key information and proper citations
217
- - Perfect for rapid exploration and answering straightforward questions
218
- - Supports multiple search engines in parallel for maximum efficiency
219
- - Tables and structured information can be included when relevant
220
-
221
- - **Detailed Report**: Comprehensive analysis with structured sections, table of contents, and in-depth exploration
222
- - Creates professional-grade reports with proper organization
223
- - Conducts separate research for each section to ensure comprehensive coverage
224
- - Integrates information across sections for a cohesive analysis
225
- - Includes proper citations and reference tracking
226
-
227
- ### Performance Optimization
228
-
229
- - **Use Direct SearXNG**: For maximum speed (bypasses LLM calls needed for engine selection)
230
- - **Adjust Iteration Depth**:
231
- - 1 iteration: Quick factual questions (~30 seconds)
232
- - 2-3 iterations: Complex topics requiring deeper exploration (2-3 minutes)
233
- - 3-5 iterations: Comprehensive research with follow-up investigation (5+ minutes)
234
- - **Choose Appropriate Models**:
235
- - 12B-30B parameter models offer good balance of quality and speed
236
- - For complex research, larger models may provide better synthesis
237
- - **For Detailed Reports**: Expect multiple research cycles (one per section) and longer processing times
238
-
239
- ### Multi-Source Integration
240
-
241
- - **Auto-Engine Selection**: The system intelligently selects the most appropriate search engines for your query
242
- - **Academic Sources**: Direct access to Wikipedia, arXiv, PubMed, Semantic Scholar, and more
243
- - **Web Search**: Via SearXNG, Brave Search, SerpAPI (for Google results), and more
244
- - **Local Document Search**: Search through your private document collections with vector embeddings
245
- - **Cross-Engine Filtering**: Smart result ranking across search engines for better information quality
246
-
247
- ## 🤖 LLM Support
248
-
249
- Local Deep Research works with both local and cloud LLMs:
250
-
251
- ### Local Models (via Ollama)
252
-
253
- Local models provide complete privacy and don't require API keys or internet connection for the LLM component (only search queries go online).
254
-
255
- ```bash
256
- # Install Ollama from https://ollama.ai
257
- ollama pull gemma3:12b # Recommended model
258
- ```
259
-
260
- Recommended local models:
261
- - **Gemma 3 (12B)** - Great balance of quality and speed
262
- - **Mistral (7B/8x7B)** - Fast performance on most hardware
263
- - **Llama 3 (8B/70B)** - Good performance across various tasks
264
-
265
- ### Cloud Models
266
-
267
- Cloud models can provide higher quality results for complex research tasks:
268
-
269
- API keys can be configured directly through the web interface in the settings panel or via environment variables:
270
-
271
- ```bash
272
- # Cloud LLM providers - add to your .env file if not using the web UI
273
- LDR_LLM_ANTHROPIC_API_KEY=your-api-key-here # For Claude models
274
- LDR_LLM_OPENAI_API_KEY=your-openai-key-here # For GPT models
275
- LDR_LLM_OPENAI_ENDPOINT_API_KEY=your-key-here # For OpenRouter or similar services
276
-
277
- # Set your preferred provider and model
278
- LDR_LLM_PROVIDER=ollama # Options: ollama, openai, anthropic, etc.
279
- LDR_LLM_MODEL=gemma3:12b # Model name to use
280
- ```
281
-
282
- ### Supported Providers
283
-
284
- | Provider | Type | Setup | Models |
285
- |----------|------|---------|--------|
286
- | `OLLAMA` | Local | Install from [ollama.ai](https://ollama.ai) | Mistral, Llama, Gemma, etc. |
287
- | `OPENAI` | Cloud | API key required | GPT-3.5, GPT-4, GPT-4o |
288
- | `ANTHROPIC` | Cloud | API key required | Claude 3 Opus, Sonnet, Haiku |
289
- | `OPENAI_ENDPOINT` | Cloud | API key required | Any OpenAI-compatible API |
290
- | `VLLM` | Local | Requires GPU setup | Any supported by vLLM |
291
- | `LMSTUDIO` | Local | Use LM Studio server | Models from LM Studio |
292
- | `LLAMACPP` | Local | Configure model path | GGUF model formats |
293
-
294
- You can easily switch between models in the web interface or via environment variables without reinstalling.
295
-
296
- ## 🌐 Search Engines
297
-
298
- The system leverages multiple search engines to find the most relevant information for your queries.
299
-
300
- ### Core Free Engines (No API Key Required)
301
-
302
- - **`auto`**: Intelligently selects the best engines based on your query (recommended)
303
- - **`wikipedia`**: General knowledge, facts, and encyclopedic information
304
- - **`arxiv`**: Scientific papers and academic research
305
- - **`pubmed`**: Medical and biomedical research and journals
306
- - **`semantic_scholar`**: Academic literature across all fields
307
- - **`github`**: Code repositories, documentation, and technical discussions
308
- - **`searxng`**: Comprehensive web search via local SearXNG instance
309
- - **`wayback`**: Historical web content from Internet Archive
310
-
311
- ### Paid Engines (API Key Required)
312
-
313
- For enhanced web search capabilities, you can configure these additional engines through the settings interface or via environment variables:
314
-
315
- ```bash
316
- # Search API keys (if not using the web UI)
317
- LDR_SEARCH_ENGINE_WEB_SERPAPI_API_KEY=your-key-here # Google results via SerpAPI
318
- LDR_SEARCH_ENGINE_WEB_GOOGLE_PSE_API_KEY=your-key-here # Google Programmable Search
319
- LDR_SEARCH_ENGINE_WEB_BRAVE_API_KEY=your-key-here # Brave Search
320
- ```
321
-
322
- ### Search Engine Comparison
323
-
324
- | Engine | Specialization | Privacy | Speed | Results Quality |
325
- |--------|----------------|---------|-------|-----------------|
326
- | SearXNG | General web | ★★★★★ | ★★★★★ | ★★★★½ |
327
- | Wikipedia | Facts & concepts | ★★★★★ | ★★★★☆ | ★★★★☆ |
328
- | arXiv | Scientific research | ★★★★★ | ★★★★☆ | ★★★★★ |
329
- | PubMed | Medical research | ★★★★★ | ★★★★☆ | ★★★★★ |
330
- | GitHub | Code & tech | ★★★★★ | ★★★☆☆ | ★★★★☆ |
331
- | SerpAPI | Web (Google) | ★★☆☆☆ | ★★★★☆ | ★★★★★ |
332
- | Brave | Web (privacy-focused) | ★★★★☆ | ★★★★☆ | ★★★★☆ |
333
-
334
- ## 📚 Local Document Search (RAG)
335
-
336
- Local Deep Research includes powerful Retrieval Augmented Generation (RAG) capabilities, allowing you to search and analyze your own private documents using vector embeddings:
337
-
338
- ### Supported Document Types
339
-
340
- - PDF files
341
- - Markdown (.md)
342
- - Plain text (.txt)
343
- - Microsoft Word (.docx, .doc)
344
- - Excel spreadsheets (.xlsx, .xls)
345
- - CSV files
346
- - And more
347
-
348
- See [this page](https://github.com/LearningCircuit/local-deep-research/wiki/Configuring-Local-Search) for
349
- configuration instructions.
350
-
351
- ## 🛠️ Advanced Configuration
352
-
353
- ### Web Interface
354
-
355
- The easiest way to configure Local Deep Research is through the web interface, which provides:
356
- - Complete settings management
357
- - Model selection
358
- - Search engine configuration
359
- - Research parameter adjustment
360
- - Local document collection setup
361
-
362
- ### Configuration Documentation
363
-
364
- For detailed configuration options, see our guides:
365
- - [Environment Variables Guide](https://github.com/LearningCircuit/local-deep-research/blob/main/docs/env_configuration.md)
366
- - [SearXNG Setup Guide](https://github.com/LearningCircuit/local-deep-research/blob/main/docs/SearXNG-Setup.md)
367
- - [Docker Usage Guide](https://github.com/LearningCircuit/local-deep-research/blob/main/docs/docker-usage-readme.md)
368
- - [Docker Compose Guide](https://github.com/LearningCircuit/local-deep-research/blob/main/docs/docker-compose-guide.md)
369
-
370
- ### Programmatic Access
371
-
372
- Use the Python API for integration with other tools or scripts:
373
-
374
- ```python
375
- from local_deep_research import quick_summary, generate_report
376
-
377
- # Quick research with custom parameters
378
- results = quick_summary(
379
- query="advances in fusion energy",
380
- search_tool="auto",
381
- iterations=1,
382
- questions_per_iteration=2,
383
- max_results=30,
384
- temperature=0.7
385
- )
386
- print(results["summary"])
387
- ```
388
-
389
- For more examples, see the [programmatic access tutorial](https://github.com/LearningCircuit/local-deep-research/blob/main/examples/programmatic_access.ipynb).
390
-
391
- ## 📊 Examples & Documentation
392
-
393
- For more information and examples of what Local Deep Research can produce:
394
-
395
- - [Example Outputs](https://github.com/LearningCircuit/local-deep-research/tree/main/examples)
396
- - [Documentation](https://github.com/LearningCircuit/local-deep-research/tree/main/docs)
397
- - [Wiki](https://github.com/LearningCircuit/local-deep-research/wiki)
398
-
399
- ## 🤝 Community & Support
400
-
401
- - [Discord](https://discord.gg/ttcqQeFcJ3): Discuss features, get help, and share research techniques
402
- - [Reddit](https://www.reddit.com/r/LocalDeepResearch/): Announcements, updates, and community showcase
403
- - [GitHub Issues](https://github.com/LearningCircuit/local-deep-research/issues): Bug reports and feature requests
404
-
405
- ## 🚀 Contributing
406
-
407
- We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, we'd love to have you as part of our community. Please see our [Contributing Guide](CONTRIBUTING.md) for guidelines on how to get started.
408
-
409
- ## 📄 License & Acknowledgments
410
-
411
- This project is licensed under the MIT License.
412
-
413
- Built with powerful open-source tools:
414
- - [LangChain](https://github.com/hwchase17/langchain) framework for LLM integration
415
- - [Ollama](https://ollama.ai) for local AI model management
416
- - [SearXNG](https://searxng.org/) for privacy-focused web search
417
- - [FAISS](https://github.com/facebookresearch/faiss) for vector similarity search
418
- - [justext](https://github.com/miso-belica/justext) and [Playwright](https://playwright.dev) for web content analysis
419
-
420
- > **Support Free Knowledge:** If you frequently use the search engines in this tool, please consider making a donation to organizations like [Wikipedia](https://donate.wikimedia.org), [arXiv](https://arxiv.org/about/give), or [PubMed](https://www.nlm.nih.gov/pubs/donations/donations.html).