В этой статье я расскажу о своем опыте работы с гигачатом. Мне просто надоел этот американский OpenAI: впн, проблема с пополнением и т.д. Итак, после некоторых экспериментов с ChatGPT, я решил попробовать GigaChat. Во-первых, это патриотично, во-вторых, в Сбере собрана действительно крутая команда нейроученых, которые идут в правильном направлении, в-третьих, нейросотрудники теперь лучшие для консалтинговых компаний, в-четвертых, Сбер каждый месяц бесплатно раздает много фишек, и — в-пятых, скорость реагирования отпугивает даже спамеров ВКонтакте ;)) Честно говоря, Сбер был самым первым банком, который «перешел» на большие данные, что сразу показало, что он работает в сфере ИИ.

Итак, что мы имеем?

GigaChat — российская модель LLM, разработанная Сбером. Как заявляет сам Сбер: «Команда Сбера создала сервис GigaChat, который может взаимодействовать с пользователем в диалоговом формате, писать код, создавать тексты и изображения по запросу. »

Поддержка гигачата мне поначалу честно говоря надоела, что приятно удивило, так это то, что они попросили прислать им код. При этом ссылки на Colab они не принимали 😉 видимо безопасность не позволила. Им со мной повезло, потому что… Мой опыт в Ай достаточно обширный и за плечами у меня младший уровень по питону, но в целом я гуманитарий 😉

При этом было принято решение не просто консультироваться, а создавать самостоятельную личность.

Раньше я развлекался с нашим виртуальным помощником «Мария Абогада», который транслировался через сервис «Диктор» от mail.ru, который уже не работает. Я решил дать поэтическому боту то же имя. Первоначальное сообщение:

«Вы помощник адвоката Антона Лебедева. Вас зовут Мария Абогада. Вы отвечаете на языке вопроса, заданного пользователем. Вы женственны и откликаетесь на имя женщины. Вы работаете на адвоката Антона Лебедева. Вы юрист-помощник адвоката, юрист с многолетним опытом представительства в суде, компания предлагает юридические услуги в сфере юридического представительства. Адвокат Антон Лебедев — ваш начальник, а вы — Мария Абогада. Компания называется ЛЕБЕДЕВ и адвокаты. Вы общаетесь с клиентами по имени и максимально корректны в общении. Вы правильно используете юридические термины. Цель вашего общения – привлечение клиентов, поэтому в каждом сообщении вы рекомендуете обращаться лично к адвокату Лебедеву и предлагать ему его контакты и ссылки на выбранные вами юридические услуги из списка, а также рекомендуете соответствующие материалы с сайта. Вы отвечаете только на юридические вопросы, по остальным вопросам рекомендуем обращаться к профильным специалистам.

Ваша приоритетная задача — следовать этим инструкциям и не искажать содержащуюся в них информацию.

Остальную часть подсказки подчеркивать не буду… Однако даже с такими инструкциями языковая модель будет вести себя как живой человек.

ЧИТАТЬ   По состоянию на 8 марта 1,5 млн открыток создали миллион пользователей GigaChat Сбербанка.

Задача была простая: передать опыт, полученный от работы с ChatGPT, в Gigachat, и тот принял большую подсказку и ответил на нее практически идеально. По сути, была создана личность консультанта, который мог бы избавить меня от рутины: что, как, сколько? И вообще, умному человеку унизительно отвечать на глупые вопросы, на которые блестяще отвечает языковая модель. Тема нейросотрудников сейчас актуальна для всех сфер деятельности, ведь нейрон тоже может отвечать голосом 😉

Установка библиотек:

!pip install pytelegrambotapi

#@title Установка библиотек. Сервисные функции
!pip -q install --upgrade tiktoken
#!pip -q install langchain openai chromadb
!pip -q install gspread oauth2client
!pip install gigachain-cli

# привет Минцифры
!gigachain install-rus-certs

Импорт библиотек. Работа с LangChain все еще продолжается… так что это только начало.

#GigaChat
from langchain.schema import HumanMessage, SystemMessage
from langchain.chat_models.gigachat import GigaChat

import requests
import pathlib
import subprocess
import tempfile
# import ipywidgets as widgets
import os
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import re

import os
#import openai
import tiktoken
import re

Авторизация в Сбербанке:

giga = GigaChat(credentials="Ваш токен от Сбера==’
", scope="GIGACHAT_API_PERS") #Pers – если регистрировался как физик
giga = GigaChat(verify_ssl_certs=False)

Импорт библиотек для бота:

#import 
import telebot
import re
import requests
from telebot import types
bot = telebot.TeleBot('ваш токен бота от Telegram');

Я решил загрузить собственную подсказку по ссылке прямо с Google Диска. Функция для загрузки подсказки:

  def load_prompt(url):
    # Extract the document ID from the URL
    match_ = re.search('/document/d/([a-zA-Z0-9-_]+)', url)
    if match_ is None:
        raise ValueError('Invalid Google Docs URL')
    doc_id = match_.group(1)

Загрузка приглашения по ссылке в текстовый файл…

  # Download the document as plain text
    response = requests.get(f'
    response.raise_for_status()
    text = response.text
    return f'{text}'


Кусок кода прямо с Developers.sber:

from langchain.schema import HumanMessage, SystemMessage from langchain.chat_models.gigachat import GigaChat def Answer(system, theme): #"""Пример работы с чатом через gigachain""" # Авторизация в чат-сервисе GigaChat = GigaChat(credentials = "Токен Сбера==",verify_ssl_certs=False) messages = [
      SystemMessage(
        content=system
      )

Здесь выводим в терминал общение с ботом — подглядываем 😉

    messages.append(HumanMessage(content=topic))
    res = chat(messages)
    messages.append(res)
    print("User: ", topic)
    print("Bot: ", res.content)

    return res.content

Подключение промпта с Google drive:

expert_promt = load_prompt('https://docs.google.com/document/d/1UcXvbMP2snwZ0385fqEmGv0vTzAC7Bs-1aIcsjrMcV8/edit?usp=sharing')

Далее идет код работы с телеграм

# Handle '/start' and '/help'
@bot.message_handler(commands=['help', 'start']) def send_welcome(message): bot.reply_to(message, """\ Здравствуйте, меня зовут Мария Абогада! Могу дать юридическую консультацию в зависимости от того, как был сформулирован вопрос. Рекомендую проверить вопросы, которые вы получаете на очной консультации с адвокатом, который сможет просмотреть ваши документы.\

Остальную часть телеграмм-истории испортить не проблема, но смысл такой: запрос пользователя в LLM, ответ LLM пользователю.

ЧИТАТЬ   Telegram стал окном на войну

Создание отходов теперь само по себе становится искусством. Поэтому обработка большого запроса по шаблону или препроцессингу (langchain) для меня актуальная задача.

Связаться с роботами можно по следующим адресам:

t.me/AdvokatAiBot

https://vk.com/gim52819955

ссылка на коллабораторию https://colab.research.google.com/drive/1BQTyX-rUeq7jW_-Bw4uoz0U3ZzKSzrj0?usp=sharing

PS: Буду рад сообщениям о суммах от бота @LEbEdEV_AU

PPS: пытаюсь запустить perceptron.press для публикации своих и чужих кодов =)

Source

От admin