Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2024-01-02 (4 days ago) | | Not yet rated by the users | | Total: 22 This week: 22 | | All time: 11,094 This week: 4 |
|
Description | | Author |
This package implements a Telegram bot that can interact with Ollama AI models.
It implements new commands for a Telegram bot that can use the Ollama artificial intelligence models to interact with users.
This package can use the Ollama API to send user queries entered in Telegram and return the Ollama API query responses.
Telegram bot to interact with llama models
ImplemeTelegram bot to interact with ollama models
| |
|
|
Innovation award
Nominee: 7x
Winner: 1x |
|
Example
<?php
use Mateodioev\OllamaBot\Cache\UserCache;
use Mateodioev\OllamaBot\Db\MysqlDatabase;
use Mateodioev\OllamaBot\Events\{CancellCompletation, Chat, PrivateTextListener, SetModel, Start, ViewCompletionDetails};
use Mateodioev\OllamaBot\Repository\MysqlUserRepository;
use Mateodioev\TgHandler\{Bot, Log};
use function Mateodioev\OllamaBot\env;
require __DIR__ . '/vendor/autoload.php';
\Dotenv\Dotenv::createImmutable(__DIR__)->load();
// Create logger
$logStreams = new Log\BulkStream(
new Log\TerminalStream(),
// (new Log\PhpNativeStream())->activate(env('LOG_DIR', __DIR__))
);
$logger = new Log\Logger($logStreams);
// Create bot
$bot = new Bot(env('BOT_TOKEN'), $logger);
$logStreams->add(new Log\BotApiStream($bot->getApi(), (int) env('BOT_LOG_CHANNEL_ID')));
$bot->onEvent(Start::get())
->onEvent(Chat::get())
->onEvent(SetModel::get())
->onEvent(CancellCompletation::get())
->onEvent(new PrivateTextListener())
->onEvent(new ViewCompletionDetails());
$db = new MysqlDatabase('mysql:host=' . env('DB_HOST') . ';dbname=' . env('DB_NAME') . ';charset=utf8mb4', env('DB_USER'), env('DB_PASS'));
UserCache::setRepo(new MysqlUserRepository($db));
$bot->longPolling(
(int) env('BOT_POLLING_TIMEOUT', 60),
(bool) env('BOT_POLLING_IGNORE_OLD_UPDATES', false),
(bool) env('BOT_ASYNC', true)
);
|
Details
Ollama telegram bot
This bot helps you to interact with ollama models
https://github.com/Mateodioev/ollama-bot/assets/68271130/6cbec742-994b-4f79-85cf-804ec95663ad
Commands
If you want to generate a completion just send a private message to the bot or if you want to use in a public group use the command /chat
followed by the text of your choice. Other commands:
-
`/setmodel` Change your current model
-
`/start`
Installation
Requirements:
-
\>= PHP 8.2
-
Mysql
-
Access to ollama api
Steps
-
Clone this repository
git clone https://github.com/Mateodioev/ollama-bot.git
cd ollama-bot
-
Install dependencies
composer install --optimize-autoloader --no-interaction --no-dev
-
Setup your database mysql with file `db/main.sql`
-
Create an edit .env file
cp .env.example .env
vim .env # Or use your favorite editor
-
Run the bot
php index.php
Note
> If your default model is diferent to codellama
for example llama2
, edit the file src/Events/Middlewares.php
line 13
See ollama docs in https://github.com/jmorganca/ollama
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.