Цел: Това ръководство предоставя стъпка по стъпка преглед на това как да изградите функционален чатбот в Telegram, който работи на вашия компютър, използвайки безплатен, локално хостван Large Language Model (LLM).
Стъпка 1: Създаване на Телеграм Бот

Регистрирайте бота в Telegram, за да получите API ключ, използвайки BotFather бот.
- Намерете BotFather: Потърсете @BotFather в Telegram.
- Създайте бота: Изпратете командата /newbot и следвайте инструкциите, за да зададете име и потребителско име.
- Получете API токен: BotFather ще предостави токен. Този ключ позволява на вашия Python скрипт да контролира бота.
Стъпка 2: Настройте Локален AI (Ollama)

Използвайте Ollama да стартирате AI модели локално безплатно. Той управлява изтеглянето и стартирането на моделите.
- Инсталирайте Ollama: Изтеглете и инсталирайте Ollama за вашата операционна система. Тя работи като фонова услуга.
- Изтеглете Модел: Изберете модел въз основа на вашите нужди от скорост спрямо интелигентност и го изтеглете през терминала.
- Малки Модели (e.g., phi, gemma:2b): По-бърз, използва по-малко памет. Подходящ за приоритизиране на скоростта.
- Големи Модели (e.g., mistral, gemma:7b): По-умен, но много по-бавен без графичен процесор.
Използвайте тази команда, за да изтеглите Модел:
ollama pull <model_name>
3. Верифицирайте инсталацията: Вижте всички локални модели с тази команда:
ollama list
Услугата Ollama работи във фонов режим, което прави модела достъпен за вашия скрипт.
Стъпка 3: Python Скрипт

Python скриптът свързва Telegram бота с изкуствения интелект Ollama.
Основна функционалност:
- Специфики на Бота (System Prompt): Променлива “system prompt” определя личността и правилата на бота. Изкуственият интелект използва това, за да насочва всички свои отговори.
# Example system prompt
system_prompt = """
You are a helpful AI assistant.
Keep answers friendly and concise.
"""
2. Обработка на съобщения: Функция се задейства, когато потребител изпрати съобщение.
3. Комуникация с Ollama: Тази функция изпраща потребителското съобщение и историята на чата до локалната услуга Ollama, за да получи отговор.
# import ollama
response = ollama.chat(
model="your_chosen_model_name",
messages=conversation_history
)
ai_response = response['message']['content'].strip()
4. Implementing Memory (Database): The bot saves chat history to a local SQLite database file for permanent memory. It reads the history before a request and saves the updated history after a response.
Стъпка 4: Стартиране на Бота
Стартирайте основния Python скрипт от вашия терминал, за да стартирате бота.
python main.py
Скриптът ще проверява за нови съобщения и ботът ще бъде активен.
Стъпка 5: Заключителни съображения
Разбирането на компромисите от локалното използване на AI е ключово.

- Скорост: Работата на процесор вместо на специален графичен процесор е основният проблем. Това причинява бавно време за реакция.
- Интелигентност: Съществува пряк компромис между скоростта и интелигентността. По-малките и по-бързи модели са по-малко способни и по-склонни да правят грешки или да „халюцинират“.
- Хардуер: Моделите са ресурсоемки. Те изискват значителна RAM памет и могат да натоварят максимално процесора ви, забавяйки целия компютър, докато генерират отговор.

