Создание SEO-оптимизированных статей на Gemini API и публикация в WordPress

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
476
Баллы
63

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 098
Благодарностей
344
Баллы
83

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
476
Баллы
63
Сменить VPN и GMAIL аккаунты
 
Последнее редактирование:
  • Спасибо
Реакции: indigo666

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 098
Благодарностей
344
Баллы
83

Khaan27

Client
Регистрация
06.10.2014
Сообщения
115
Благодарностей
22
Баллы
18
Так и не получилось запустить
Часть, работающая с нейронкой, выполняется без ошибок, но не выполняются нормально пост запросы к rest api - в result оказывается не ответ в формате json, а код страницы, начинающийся с <!DOCTYPE html>
Кто-нибудь сталкивался с подобным?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113
Кто-нибудь сталкивался с подобным?
1. Проверить работает ли REST API на сайте (по идее Здоровье сайта должно показать)
2. Проверить что стоит плагин для авторизации из моей предыдущей статьи (ссылки в статье).
3. Проверить что УРЛ формируется нормально, и строка авторизации тоже.
 

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3
У меня возникает ошибка в PM на выполнении С# кода "Cleaning data". В логе ни какой ошибки не показывает, просто кубик не выполняется. Версия ЗП 7.7.1.0
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
476
Баллы
63
У меня возникает ошибка в PM на выполнении С# кода "Cleaning data". В логе ни какой ошибки не показывает, просто кубик не выполняется. Версия ЗП 7.7.1.0
Пробуй заменить
C#:
// by Claude v3 - Sonnet
string keyword = project.Variables["keyword"].Value;
keyword = Regex.Replace(keyword, @"<.*?>", string.Empty); // Remove HTML tags
keyword = keyword.Replace("\"", "\\\""); // Escape double quotes
keyword = keyword.Replace("\n", " "); // Replace newlines with spaces
keyword = Regex.Replace(keyword, @"\s+", " "); // Replace multiple spaces with a single space

return keyword;
 
  • Спасибо
Реакции: Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113
У меня возникает ошибка в PM на выполнении С# кода "Cleaning data". В логе ни какой ошибки не показывает, просто кубик не выполняется. Версия ЗП 7.7.1.0
Библиотеку подключили из вложения?
 

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3
Библиотеку подключили из вложения?
Я положил ее в папку с зенно (C:\Program Files\ZennoLab\RU\ZennoPoster Standard V7\7.7.1.0\Progs\ExternalAssemblies).
Ее еще нужно подключать в PM?


Начиная с кода
C#:
using (TidyManaged.Document doc = TidyManaged.Document.FromStream(str)) {
    doc.InputCharacterEncoding = TidyManaged.EncodingType.Utf8;
    doc.OutputCharacterEncoding = TidyManaged.EncodingType.Utf8;
    doc.CleanAndRepair();
    parsed = Regex.Match(doc.Save().Replace("&lt;","<").Replace("&gt;",">").Replace("/&quot;","").Replace("/&quot;",""), @"(?<=<body>)[\w\W]*?(?=</body>)").Value.Trim();

}
кубик перестает выполнятся.
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3
Это код из шаблона, я ничего не менял, библиотека вроде подключена, чего не работает ,хз.
C#:
string content = project.Variables["content"].Value.Replace("**","").Replace("«`html","").Replace("```html","");

content = Regex.Replace(content, @"<(?!p|/p|br|img|strong|/strong|b|/b|li|ul|/li|/ul|ol|/ol|table|/table|td|/td|tr|/tr|tbody|/tbody|th|/th|em|/em|a|/a).*?>", "", System.Text.RegularExpressions.RegexOptions.Multiline|System.Text.RegularExpressions.RegexOptions.IgnoreCase).Trim();

string parsed = "";
MemoryStream str = new MemoryStream(Encoding.UTF8.GetBytes(content));

using (TidyManaged.Document doc = TidyManaged.Document.FromStream(str)) {
    doc.InputCharacterEncoding = TidyManaged.EncodingType.Utf8;
    doc.OutputCharacterEncoding = TidyManaged.EncodingType.Utf8;
    doc.CleanAndRepair();
    parsed = Regex.Match(doc.Save().Replace("&lt;","<").Replace("&gt;",">").Replace("/&quot;","").Replace("/&quot;",""), @"(?<=<body>)[\w\W]*?(?=</body>)").Value.Trim();

}
str.Close();

string html = "";

string [] arr = parsed.Split('\n').Where(val => (val.Length > 5)).ToArray();
    for (int i = 0; i < arr.Length; i++){
        string str1 = arr[i];
        if (str1.Contains("example.com")) continue;
        if (str1.Contains("Lorem ipsum")) continue;
        if (str1.Contains("К сожалению, ")) continue;
        if (str1.Contains(" AI ")) return null;
        html += str1 + " ";
    }
    
    parsed = html.Replace("\r\n"," ").Replace("  "," ");
    str = new MemoryStream(Encoding.UTF8.GetBytes(parsed));

    using (TidyManaged.Document doc1 = TidyManaged.Document.FromStream(str)) {
        doc1.InputCharacterEncoding = TidyManaged.EncodingType.Utf8;
        doc1.OutputCharacterEncoding = TidyManaged.EncodingType.Utf8;
        doc1.CleanAndRepair();
        parsed = Regex.Match(doc1.Save().Replace("&lt;","<").Replace("&gt;",">").Replace("/&quot;","").Replace("/&quot;",""), @"(?<=<body>)[\w\W]*?(?=</body>)").Value.Trim();
    }
    str.Close();
    
    
//add tags
MatchCollection mc1 = Regex.Matches(parsed, @"(?<=<strong>).*?(?=</strong>)");
MatchCollection mc2 = Regex.Matches(parsed, @"(?<=<b>).*?(?=</b>)");
List<Match> mc = mc1.OfType<Match>().Concat(mc2.OfType<Match>()).Where(m => m.Success).ToList();
var tags = project.Lists["tags"];
for (int i = 0; i < mc.Count; i++){
    var regex = new Regex(Regex.Escape(mc[i].Value));
    if (mc[i].Value.Length < 30 && !mc[i].Value.Contains("&") && !mc[i].Value.Contains("\"") && mc[i].Value.Split(' ').Length < 3 && mc[i].Value.Length > 2){
        tags.Add(Regex.Replace(mc[i].Value.ToLower(), @"[^0-9a-zA-Zа-яА-Я\s]+", "").Trim());//replace all instead letters and numbers
    }
}
//end add tags
    
if (parsed.Length > 20){
    return parsed.Replace("\r\n"," ").Replace("  "," ").Replace("\"","\\\"").Replace("\\\\\"","\\\"");
} else {
    return null;
}
 

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113
Я могу сейчас начать с вами общаться как с полным нубом (наведите курсор на строку "TidyManaged.Document", что вы видите во всплывающем тултипе?), но возраст вашей регистрации 2011 не вяжется с этой банальной проблемой.

Вообще этот кубик Cleaning data это моя отсебятина. Чистки у меня имеют массу вариантов в зависимости от АИшек (а их юзаю минимум 4 сейчас), где-то это скорее костыли из прошлого, особенно из веб-АИшек.
Для Джемини, чтобы стартануть, можно и отключить чистку. А уж потом, для полировки результата, придётся погрузиться.
 

vovanchis

Пользователь
Регистрация
14.03.2017
Сообщения
37
Благодарностей
0
Баллы
6
Проверить GAC нужно конечно, есть там TidyManaged или нет.
Как раз для нуба подскажете, где это посмотреть?)) В папку ExternalAssemblies этот файлик закинул.

Ещё вопрос, если я запускаю впн сша-совский (planetvpn софтина) на компе, у меня будут проходить запросы от зенно как от usa? апи ключ гемини дал мне через браузер таким макаром
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113
Как раз для нуба подскажете, где это посмотреть?))
119726

если я запускаю впн сша-совский (planetvpn софтина) на компе, у меня будут проходить запросы от зенно как от usa?
Теоретически да, тогда можно не использовать прокси при запросах.
 

winsdor77

Client
Регистрация
04.12.2011
Сообщения
23
Благодарностей
6
Баллы
3
Удалось победить мне проблему. Как тут уже выше писали, нужно добавить библиотеку libtidy.dll в папку ExternalAssemblies .
Шаблон парсит и постит. Добавил к нему загрузку картинок из другой статьи. Сделал тестовый блог, для тренировок и экспериментов.

Осталось выбрать тематику, напарсить ключей, картинок нагенерировать, сделать ядра семантические, шаблон для вордпресс настроить, и все это потом индекс гугла отправить))))
 
  • Спасибо
Реакции: Astraport и Mavrikman
Регистрация
23.03.2015
Сообщения
1 130
Благодарностей
659
Баллы
113
Кто ни будь встречал в продаже ключи Gemini?
Мне один удалось получить, я по запарке сделал запрос без прокси и улетел в бан(
 

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 534
Благодарностей
898
Баллы
113
Кто-то юзает? Гемини пишет что у него на бесплатном тарифе теперь 50 запросов в день и не более 2 в минуту? Кто-то уже с этим стокнулся или на старые токены это не действует?
И еще есть вверху плашка что со второго мая что-то там у них снова меняется
"We're updating our terms of service, effective May 2, 2024, to cover pay-as-you-go options in Gemini API. If your project(s) have billing enabled under your Cloud Billing account(s), associated API usage will be charged starting on that date. Google AI Studio will still be free of charge."
Я так понял что вэбморда гемини и дальше будет бесплатной а вот по АПИ хрен его знает
Кто что слышал?
 
Последнее редактирование:
  • Спасибо
Реакции: bizzon

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 534
Благодарностей
898
Баллы
113
В общем, бразы, докладаю)))
По старому апи-ключу около тысячи запросов в день делает и не ахает. Больше не пытался. да мне и не нужно
По новым ключам не пробовал и новых ключей не брал
Но на их сайте сейчас написано ограничение для бесплатников на 2 запроса в минуту и на 50 запросов в день, так что хрен знает.
Вот такая, понимашь, загогулина)))
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)