opex-ai
Version:
AI tools: rewriter, summarizer, text generator, chat with ai, image classifier
164 lines (135 loc) • 6.26 kB
Markdown
# opex-ai
### generateText
#### Example
```js
const { generateText } = require("opex-ai")
await generateText(`Рассказ на тему: Мои летние каникулы. на 4000 символов, 9 класс
`)
//или await generateText("Жил был Великий Белый Гриб") :)
```
#### Usage
```js
await generateText(text)
```
#### `text`
- начальная фраза по которой он будет генерировать текст (в некоторых случаях может попытаться дать ответ на вопрос или написать текст на данную тему, но в основном просто продолжит текст после этой фразы )
### summarize
#### Usage
```js
await summarize(text, num_beams, num_return_sequences, length_penalty,genstrategy,no_repeat_ngram_size)
```
#### `text`
- оригинальный текст для переписывания
#### `num_beams`
- default: 8
- границы 1-40+
- количество источников генерации текста
#### `num_return_sequences`
- кол-во примеров, из которых выбирается лучший вариант.
- default: 7
- границы: 1 - 50
- чем болше тем лучше качество
- при большом количестве может долго обрабатывать или выдать ошибку
#### `no_repeat_ngram_size`
- все ngrams такого размера могут встречаться только один раз.
- default: 5;
#### `length_penalty`
- параметр генерации текста length_penalty — экспоненциальный штраф к длине.
- default: 2.0;
#### `genstrategy`
- параметр переключения между стратегиями генерации (0 — для beam search, 1 — для sampling).
- default: 0;
top_k — параметр top_k текста для генерации. Дефолтное значение 30;
top_p — параметр top_p текста для генерации. Дефолтное значение 0.95.
### rewrite
#### Usage
```js
await rewrite (text, temperature, top_k, top_p, repetition_penalty, num_return_sequences, range_mode)
```
#### `text`
- оригинальный текст для переписывания
#### `temperature`
- default: 1
- границы: 0.1 - 1.9
- параметр температуры текста для генерации.
- Температура текста - его актуальность(~качество).
- Чем она выше, тем ближе текст к идеальному прототипу
- Чем меньше коэффициент тем ближе к оригиналу
#### `top_k`
- default: 50
- границы: 1 - 300
- Коэффициент показывает насколько тема близка или аналогична теме запроса. Уникальность текста.
#### `top_p`
- default: 0.7
- границы: 0.1 - 150
- параметр отвечает за то сколько процентов оригинала содержится в статье
- чем меньше, тем больше оригинального текста содержится в переписанном тексте
#### `repetition_penalty`
- (штраф за повторные реплики.)
- default: 0.1-1.99
- определяет, сколько раз каждое выражение должно пройти проверку на соответствие по запросу
#### `num_return_sequences`
- кол-во примеров, из которых выбирается лучший рерайт.
- default: 5
- границы: 1 - 40+
- чем болше тем лучше качество
- при большом количестве может долго обрабатывать или выдать ошибку
#### `range_mode`
- выбор режима ранжирования кандидатов ("bertscore"/"classifier").
- default: сразу оба
### chat
#### Подключение
#### - SQLite3
```js
const SQLite3 = require('better-sqlite3');
var db = new SQLite3("./db.sqlite")
const { SQLite3Chat } = require('opex-ai')
const ai = new SQLite3Chat(db,"ОрехБот"/*?bot_name*/);
```
#### - MySQL
```js
const MySQL = require('mysql-database');
const database = new MySQL()
const db = await database.connect({
host: "localhost",
user: "root",
password: "passwrd",
database: "db"
})
db.on('connected',(connection) => {
log('Database Connected');
})
const { MySQLChat } = require('opex-ai')
const ai = new MySQLChat(db,"ОрехБот"/*?bot_name*/);
```
#### Functions
```js
await ai.sendMessage(msg,?id))
//отправляет сообщение боту, и возвращает ответ
await ai.getAllMessages(?id)
//возвращает массив сообщений указанного чата
await ai.deleteData(?id)
// Удаляет все сообщения по указанному айди ( если указать "all" в поле id, то удалятся все сообщения из всех чатов)
//Если вы используете только один чат, можно не указывать айди, по умолчанию будет использоваться 123456
```
#### Можно вручную указать массив сообщений
```js
const { chat } = require("opex-ai")
history = [
"привет",
"привет, как дела?",
"хорошо, а у тебя как?"
]
await chat(history,?bot_name="Орех")
```
```js
const { chat } = require("opex-ai")
await chat(["Привет, как дела?"],"Ева")
```
#### `history`
- история сообщений в виде массива
- контекст, чтобы бот мог отвечать, по смыслу учитывая прошлые сообщения
#### `bot_name`
- можно указать имя бота
### Developers
- package by: [OpexDev](https://t.me/OpexDev)