Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
72e828e
Refactor Application.py and integrate chatbot features
HARIOM-BEEP Jan 7, 2026
baef364
Refactor DockArea.py for chatbot integration
HARIOM-BEEP Jan 7, 2026
3930c61
Enhance ProjectExplorer with netlist analysis
HARIOM-BEEP Jan 7, 2026
79c7317
Refactor redoSimulation method to simplify logic
HARIOM-BEEP Jan 7, 2026
f33b3d9
Create documentation for eSim netlist analysis
HARIOM-BEEP Jan 7, 2026
d9fb82a
Create eSim netlist analysis output contract
HARIOM-BEEP Jan 7, 2026
4b06d30
Initialize eSim Chatbot package with core imports
HARIOM-BEEP Jan 7, 2026
1a5b4a5
Add core functionality for eSim Copilot
HARIOM-BEEP Jan 7, 2026
4d991d7
Add files via upload
HARIOM-BEEP Jan 7, 2026
26ec606
Revise eSim netlist analysis output contract
HARIOM-BEEP Jan 7, 2026
a5e1f33
Add files via upload
HARIOM-BEEP Jan 10, 2026
0d6dd2e
Merge branch 'FOSSEE:master' into master
HARIOM-BEEP Jan 10, 2026
bbd3fc9
Add files via upload
HARIOM-BEEP Jan 14, 2026
cbba3b0
Add files via upload
HARIOM-BEEP Jan 16, 2026
a2b38c0
Fix import statement for browse_path module
HARIOM-BEEP Jan 16, 2026
026e927
Create README for eSim Copilot project
HARIOM-BEEP Jan 16, 2026
a3e7bcd
Add new libraries to requirements.txt for chatbot
HARIOM-BEEP Jan 16, 2026
3d62a51
Add files via upload
HARIOM-BEEP Jan 16, 2026
99ad3d2
Change section splitting method in knowledge_base.py
HARIOM-BEEP Jan 16, 2026
a18715e
Add ingest manuals section to README
HARIOM-BEEP Jan 16, 2026
4381a51
Delete src/chatbot/setup_chatbot.py
HARIOM-BEEP Jan 16, 2026
7d40d76
Change default text model to qwen2.5:3b
HARIOM-BEEP Jan 17, 2026
d446cc6
Update eSim reference manual with new sections
HARIOM-BEEP Jan 17, 2026
7980eda
Remove extra quotation marks in manual
HARIOM-BEEP Jan 17, 2026
a434404
Update README with paddlepaddle installation command
HARIOM-BEEP Jan 17, 2026
37ff858
Fix case sensitivity in Python script command
HARIOM-BEEP Jan 17, 2026
8807f89
Enhance response handling with RAG and topic detection
HARIOM-BEEP Jan 17, 2026
544cd7a
Revise README with updated dependencies and setup
HARIOM-BEEP Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions README_CHATBOT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# eSim Copilot – AI-Assisted Electronics Simulation Tool

eSim Copilot is an AI-powered assistant integrated into **eSim**, designed to help users analyze electronic circuits, debug SPICE netlists, understand simulation errors, and interact using text, voice, and images.

This project combines **PyQt5**, **ngspice**, **Ollama (LLMs)**, **RAG (ChromaDB)**, **OCR**, and **offline speech-to-text** into a single desktop application.

---

## Key Features

- AI assistant for electronics & eSim
- Netlist analysis and error explanation
- ngspice simulation integration
- Circuit image analysis (OCR + vision models)
- Offline speech-to-text (no internet required)
- Knowledge base using RAG (manuals + docs)
- Fully offline-capable (except model downloads)

## Supported Platform

- **Linux only** (Recommended: Ubuntu 22.04 / 23.04 / 24.04)
- Tested on **Ubuntu 22.04 & 24.04**

---

## Python Version (VERY IMPORTANT)

## Supported
- **Python 3.9 – 3.10 (RECOMMENDED)**

Check version:
```bash
python --version

## System Dependencies (Install First)
```bash

sudo apt update
sudo apt upgrade

sudo apt update
sudo apt install -y \
libxcb-xinerama0 \
libxcb-cursor0 \
libxkbcommon-x11-0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-render-util0 \
libxcb-xinput0 \
libxcb-shape0 \
libxcb-randr0 \
libxcb-util1 \
libgl1 \
libglib2.0-0

## Clone the Repository

git clone <https://github.com/HARIOM-BEEP/eSim>
cd eSim-master

## Ollama (LLM Backend)
```bash

curl -fsSL https://ollama.com/install.sh | sh
ollama serve
ollama pull qwen2.5:3b
ollama pull minicpm-v
ollama pull nomic-embed-text

## Offline Speech-to-Text (VOSK)
```bash

mkdir -p ~/vosk-models
cd ~/vosk-models
wget https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip
unzip vosk-model-small-en-us-0.15.zip

export VOSK_MODEL_PATH=~/vosk-models/vosk-model-small-en-us-0.15

echo 'export VOSK_MODEL_PATH=~/vosk-models/vosk-model-small-en-us-0.15' >> ~/.bashrc
source ~/.bashrc

## Python Virtual Environment (Recommended)
```bash

python3.10 -m venv venv
source venv/bin/activate
pip uninstall -y pip
python -m ensurepip
python -m pip install pip==22.3.1
python -m pip install setuptools==65.5.0 wheel==0.38.4

python -m pip install hdlparse==1.0.4 --no-build-isolation

pip install -r requirements.txt

pip install paddlepaddle==2.5.2 \
-f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless
pip install opencv-python-headless==4.6.0.66

## Before running eSim

unset QT_PLUGIN_PATH
export QT_QPA_PLATFORM=xcb

## Ingest manuals for RAG
```bash
cd src
python ingest.py

## Running the Application
```bash
cd src/frontEnd
python Application.py

## Common Warnings (Safe to Ignore)

PaddleOCR init failed: show_log
QSocketNotifier: Can only be used with threads started with QThread
libpng iCCP: incorrect sRGB profile
PyQt sipPyTypeDict() deprecation warnings
Binary file added images/chatbot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 18 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,21 @@ python-dateutil==2.9.0.post0
scipy==1.10.1
six==1.17.0
watchdog==4.0.2
zipp==3.20.2
zipp==3.20.2
ollama
chromadb
sentence-transformers
psutil
protobuf<5
regex
opencv-python
paddleocr==2.7.0.3
paddlepaddle==2.5.2
vosk
sounddevice
requests
tqdm
pyyaml
setuptools==65.5.0
wheel
PyQtWebEngine
11 changes: 11 additions & 0 deletions src/chatbot/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""
eSim Chatbot Package
"""

from .chatbot_core import handle_input, ESIMCopilotWrapper, analyze_schematic

__all__ = [
'handle_input',
'ESIMCopilotWrapper',
'analyze_schematic'
]
Loading