opex-ai
v2.1.0
Published
AI tools: rewriter, summarizer, text generator, chat with ai, image classifier
Downloads
15
Maintainers
Readme
opex-ai
generateText
Example
const { generateText } = require("opex-ai")
await generateText(`Рассказ на тему: Мои летние каникулы. на 4000 символов, 9 класс
`)
//или await generateText("Жил был Великий Белый Гриб") :)
Usage
await generateText(text)
text
- начальная фраза по которой он будет генерировать текст (в некоторых случаях может попытаться дать ответ на вопрос или написать текст на данную тему, но в основном просто продолжит текст после этой фразы )
summarize
Usage
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
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
const SQLite3 = require('better-sqlite3');
var db = new SQLite3("./db.sqlite")
const { SQLite3Chat } = require('opex-ai')
const ai = new SQLite3Chat(db,"ОрехБот"/*?bot_name*/);
- MySQL
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
await ai.sendMessage(msg,?id))
//отправляет сообщение боту, и возвращает ответ
await ai.getAllMessages(?id)
//возвращает массив сообщений указанного чата
await ai.deleteData(?id)
// Удаляет все сообщения по указанному айди ( если указать "all" в поле id, то удалятся все сообщения из всех чатов)
//Если вы используете только один чат, можно не указывать айди, по умолчанию будет использоваться 123456
Можно вручную указать массив сообщений
const { chat } = require("opex-ai")
history = [
"привет",
"привет, как дела?",
"хорошо, а у тебя как?"
]
await chat(history,?bot_name="Орех")
const { chat } = require("opex-ai")
await chat(["Привет, как дела?"],"Ева")
history
- история сообщений в виде массива
- контекст, чтобы бот мог отвечать, по смыслу учитывая прошлые сообщения
bot_name
- можно указать имя бота
Developers
- package by: OpexDev