Agentic Assistance for Testing Information Systems Smart Knowledge Management System 0.0.1
Fully Local & Privacy Friendly, (only outbound is websearches via Bing Web Search API)
See issues page for current known issues.
A single Python-based CLI tool to:
- generate: Search the web and RAG store, summarize results into a timestamped markdown report.
- ask: Run a RAG-powered Question & Answer session over your previously saved reports.
- refresh: Ingest all markdown (
.md
) reports into a FAISS vector store for future queries.
This tool utilizes AutoGen 0.6.1, the Bing Web Search API (search engine), Ollama (language model), and FAISS (vector database).
flowchart TD
main[main.py CLI] -->|generate| gen[generate_agent.py]
main -->|ask| ask[qa_agent.py]
main -->|refresh| refresh[ingest_reports.py]
gen --> search[BingSearchTool]
gen --> fetch[FetchWebpageTool]
gen --> rag1[RagStore]
gen --> model1[OllamaChatCompletionClient]
ask --> rag2[RagStore]
ask --> model2[OllamaChatCompletionClient]
refresh --> rag3[RagStore]
- Python 3.8 or newer
- Git
- Bing Search API Key: Set the
BING_SEARCH_API_KEY
environment variable to your Bing Search API key. - Bing Search Endpoint (optional): Set the
BING_SEARCH_ENDPOINT
environment variable (default:https://api.bing.microsoft.com/v7.0/search
). - Running Ollama server (default URL:
http://localhost:11434
)
git clone https://your.repo.url/project.git
cd project
Linux/macOS:
python3 -m venv .venv
source .venv/bin/activate
Windows:
python -m venv .venv
.venv\Scripts�ctivate
pip install --upgrade pip
pip install autogen-agentchat==0.6.1 "autogen-ext[ollama]" requests beautifulsoup4 sentence-transformers faiss-cpu
touch tools/__init__.py agents/__init__.py rag/__init__.py
Edit the file config/ollama_config.json
:
{
"model": "llama3",
"base_url": "http://localhost:11434"
}
This command searches the web, summarizes findings using Ollama, and saves the output as a timestamped markdown file:
python main.py generate "quantum computing breakthroughs"
Ingest all existing markdown reports into the FAISS database:
python main.py refresh
Use this to query your RAG database and model knowledge:
python main.py ask "What did we learn about quantum entanglement?"
- Bing Search API: Provide your API key via the
BING_SEARCH_API_KEY
environment variable and optionally override the endpoint withBING_SEARCH_ENDPOINT
. - Ollama model settings: Adjust in
config/ollama_config.json
. - Embedding model: Set in
rag/rag_store.py
(default isall-MiniLM-L6-v2
).
- Connection errors to the Bing Search API or Ollama: Ensure your API key is valid, environment variables are set, and endpoints are correct.
- No reports found during refresh: Confirm that you have run the
generate
command at least once. - FAISS errors: Check file permissions or delete and regenerate the
rag/index.faiss
file.
You are now ready to use the Unified RAG & Research CLI tool.