# PythonAIBrain

Make your first AI Assistant in Python. No complex setup, no advanced coding. Just install, configure, and run!

---

## Installation

Install the PythonAIBrain package:

```bash
pip install pythonaibrain==1.1.0
````

---

## Modules

* Camera
* TTS (Text To Speech)
* PTT (PDF To Text)
* ITT (Image To Text)
* MethAI
* Search
* Memory
* Context
* Brain
* Advance Brain

---

## Camera Module

The `pyaitk` toolkit supports Camera to click photos and make videos. It can save photos/videos and send them to PyAI for processing.

### Example: Start your camera

```python
import pyaitk
from pyaitk import Camera
import tkinter as tk

root = tk.Tk()          # Create GUI
Camera(root)            # Start camera and pass root as master
root.mainloop()         # Run the GUI
```

Or simply:

```python
from pyaitk.Camera import Start
Start()
```

Or via Brain module:

```python
from pyaitk import Brain

brain = Brain()
brain.load()
brain.process_messages('Click Photo')
```

---

## TTS (Text To Speech)

Converts text to speech in male or female voice.

### Example

```python
import pyaitk
from pyaitk import TTS

tts = TTS(text='Hello World')
tts.say(voice='Male')    # Male voice
tts.say(voice='Female')  # Female voice
```

By default, `tts.say()` uses the male voice.

---

## PTT (PDF To Text)

Extracts text from a PDF or image.

### Example

```python
import pyaitk
from pyaitk import PTT

ptt = PTT(path='example.pdf')  # Provide your file path
print(ptt)                     # Extracted text output
```

---

## Context Module

Extracts answers from a given text context.

### Example

```python
import pyaitk
from pyaitk import Contexts

context = '''
Patanjali Ayurved is an Indian company. It was founded by Baba Ramdev and Acharya Balkrishna in 2006.
'''

question = 'Who founded Patanjali Ayurved?'
contexts = Contexts()
answer = contexts.ask(context=context, question=question)
print(answer)
```

---

## Brain Module

A simple AI brain module that classifies input messages and extracts entities like name, location, and age.

### Message types classified

* Question
* Answer
* Command
* Shutdown
* Make Directory
* Statement
* Name
* Know
* Start

### Notes:

* `Shutdown` and `Start` commands require terminal support and **do not work on Android or iOS.**
* `Make Directory` creates folders on your device.
* `Statement` is any plain text that is not a command/question.
* `Name` detects if a message contains a person's name.

### How to create `intents.json`

```json
{
  "intents": [
    {
      "tag": "greeting",
      "patterns": ["Hi", "Hello", "Hey", "What's up?", "Howdy"],
      "responses": ["Hello! How can I help you today?", "Hey there!", "Hi! What can I do for you?"]
    },
    {
      "tag": "bye",
      "patterns": ["Bye", "See you soon", "Take care"],
      "responses": ["Bye! Have a great day", "See you"]
    }
  ]
}
```

Save this as a `.json` file and provide it to the Brain module.

### Usage

```python
from pyaitk import Brain

brain = Brain(intents_path='intents.json')  # or Brain() with default
brain.train()
brain.save()
message = input('Message: ')
message_type = brain.predict_message_type(message=message)

if message_type in ['Question', 'Answer']:
    print(f'Answer: {brain.process_messages(message=message)}')
```
Or,
```python
from pyaitk import Brain

brain = Brain()
brain.load()
message = input('Message: ')
message_type = brain.predict_message_type(message=message)

if message_type in ['Question', 'Answer']:
    print(f'Answer: {brain.process_messages(message=message)}')
```


---

## Advance Brain Module

An advanced version of the Brain module with smarter classification and better entity recognition.

### Usage

```python
from pyaitk import AdvanceBrain

advance_brain = AdvanceBrain(intents_path='intents.json')  # or AdvanceBrain()

message = input('Message: ')
message_type = advance_brain.predict_message_type(message=message)

if message_type in ['Question', 'Answer']:
    print(f'Answer: {advance_brain.process_messages(message=message)}')
```

### Same limitations apply as Brain module for commands.

---

## Python AI Modules Summary

| Module Name  | Description                                 |
| ------------ | ------------------------------------------- |
| Brain        | Basic AI brain using `.json` knowledge base |
| AdvanceBrain | Advanced AI brain with better understanding |
| TTS          | Text to speech                              |
| STT          | Speech to text                              |
| TTI          | Text to image                               |
| ITT          | Image to text extraction                    |
| Camera       | Capture photos and videos                   |
| Context      | Get answers from text contexts              |

---

## Built-in AI Assistant - PyBrain

If you prefer not to code your own AI, use the built-in **PyBrain** GUI or web assistant.

### GUI

```python
import PyAgent
PyAgent.App()
```

### Web Server

```python
from PyAgent import PYAS
PYAS.app.run(debug=False)
```

Or

```python
from PyAgent import Server
server = Server()
server.run()
```

---

## Visit [PyPI](https://pypi.org/project/pythonaibrain) for installation and more details.

---

**Start building your AI assistant today with PythonAIBrain!**
