VirgoFash Advanced
VirgoFash is a local-first deterministic Python search and answer engine.
Important
VirgoFash does not use an LLM, AI model, OpenAI/Gemini API, or paid API.
It produces answers using:
- deterministic NLP
- built-in knowledge
- concurrent web search
- result ranking
- snippet extraction
- duplicate removal
- deterministic response templates
So it can produce an LLM-like experience for supported tasks, but it is not a real language model.
Requirements
- Python 3.10+
- Internet connection for web search
httpxpytestpytest-asyncio
Project structure
virgofash/
├── __init__.py
├── __main__.py
├── answer.py
├── core.py
├── exceptions.py
├── knowledge.py
└── nlp.py
tests/
├── test_answer.py
└── test_core.py
1. Install
From the project root:
python -m pip install -e .
python -m pip install pytest pytest-asyncio httpx
2. Run tests
python -m pytest -q
Expected: all tests pass.
3. Test one question
python -c "import asyncio; from virgofash import ask; r=asyncio.run(ask('What is AI?')); print(r.answer)"
4. Interactive mode
This is the easiest way to use VirgoFash:
python -m virgofash
Then:
You: hello
VirgoFash: Hello! How can I help you?
You: What is AI?
VirgoFash: ...
You: What is Python?
VirgoFash: ...
You: What is FastAPI?
VirgoFash: ...
You: exit
5. Web-search question
For questions not in the built-in knowledge base, VirgoFash searches its providers:
You: What happened in ...
The answer is built from returned search snippets. Provider failures are isolated.
6. Python API
import asyncio
from virgofash import ask
result = asyncio.run(ask("What is FastAPI?"))
print(result.answer)
for source in result.sources:
print(source.title)
print(source.url)
7. What this project can and cannot do
Can
- answer common built-in definitions
- detect greetings/questions/search queries
- search multiple providers concurrently
- rank and deduplicate results
- construct deterministic summaries from snippets
- expose a clean Python API
- run as an interactive terminal assistant
Cannot
- reason like a neural language model
- reliably understand every natural-language question
- generate arbitrary original explanations with LLM-level fluency
- guarantee provider availability
- replace a real LLM
Troubleshooting
ImportError: cannot import name 'ask'
Make sure virgofash/__init__.py contains:
from .answer import AnswerEngine, AnswerResponse, AnswerSource, ask
PowerShell accidentally receives Python code
Do not paste Python source directly into PowerShell. Put Python code inside .py files. PowerShell is for commands such as:
python -m pytest -q
python -m virgofash
Internet provider failure
A provider may fail because of network restrictions, rate limits, HTML changes, or temporary downtime. VirgoFash records failed providers instead of crashing the whole aggregation.
License
MIT
Release files for virgofash 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| virgofash-0.2.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| virgofash-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.6 kB
Release files / virgofash-0.2.0.tar.gz
| Download URL | virgofash-0.2.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c1fe45a65b071bc6ee89e9e8407810eed653dcd4ea6cb57c216f7224bd50696d
|
|
BLAKE2b-256 checksum How to use checksums |
c9b4882de0f7dc8f97e81a3ce343f6e5f89bfcb3206fdc175d6a54bbee140178
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / virgofash-0.2.0-py3-none-any.whl
| Download URL | virgofash-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4947732e5b2584c86fd62c108b3f75ff9b3eca2a18b4ae24c643679be450b245
|
|
BLAKE2b-256 checksum How to use checksums |
82e672ca4b5690819648b766fa983721960e7d2552f80922d3a2e2465e35bc0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|