diff options
| -rw-r--r-- | readme | 3 | ||||
| -rw-r--r-- | requirements.txt | 1 | ||||
| -rwxr-xr-x | search.py | 6 |
3 files changed, 9 insertions, 1 deletions
| @@ -1,6 +1,8 @@ | |||
| 1 | #Installation: (pytorch higher version should work as well, the gpu i have is a bit old) | 1 | #Installation: (pytorch higher version should work as well, the gpu i have is a bit old) |
| 2 | python3 -m venv venv && source venv/bin/activate | 2 | python3 -m venv venv && source venv/bin/activate |
| 3 | pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121 | 3 | pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121 |
| 4 | Python 3.10+ (developed on 3.12.9) | ||
| 5 | please use nvidia gpu, it vvv slow on cpu | ||
| 4 | 6 | ||
| 5 | #Usage: | 7 | #Usage: |
| 6 | ./search.py "your research question" | 8 | ./search.py "your research question" |
| @@ -14,3 +16,4 @@ This program uses two research tools: | |||
| 14 | - local document(in ./documents) search using an embedding model + ChromaDB for semantic retrieval | 16 | - local document(in ./documents) search using an embedding model + ChromaDB for semantic retrieval |
| 15 | - web search using duckduckgo | 17 | - web search using duckduckgo |
| 16 | A local llm orchestrates the research loop, deciding when enough information has been gathered, then provides a final concise summary. | 18 | A local llm orchestrates the research loop, deciding when enough information has been gathered, then provides a final concise summary. |
| 19 | |||
diff --git a/requirements.txt b/requirements.txt index d003057..dc1372f 100644 --- a/requirements.txt +++ b/requirements.txt | |||
| @@ -4,6 +4,7 @@ transformers | |||
| 4 | accelerate | 4 | accelerate |
| 5 | sentence-transformers | 5 | sentence-transformers |
| 6 | chromadb | 6 | chromadb |
| 7 | pysqlite3-binary | ||
| 7 | httpx | 8 | httpx |
| 8 | beautifulsoup4 | 9 | beautifulsoup4 |
| 9 | ddgs | 10 | ddgs |
| @@ -3,8 +3,12 @@ | |||
| 3 | multi-agent deep research thingy | 3 | multi-agent deep research thingy |
| 4 | """ | 4 | """ |
| 5 | 5 | ||
| 6 | # SQLite workaround for ChromaDB on older systems | ||
| 7 | __import__('pysqlite3') | ||
| 8 | import sys | ||
| 9 | sys.modules['sqlite3'] = sys.modules.pop('pysqlite3') | ||
| 6 | 10 | ||
| 7 | import os, re, sys | 11 | import os, re |
| 8 | from dataclasses import dataclass, field | 12 | from dataclasses import dataclass, field |
| 9 | from pathlib import Path | 13 | from pathlib import Path |
| 10 | import torch | 14 | import torch |
