Класс GrokClient
— это основной инструмент для работы с Grok, который используется для отправки запросов к модели и автоматического сохранения истории.
📁 Работа с историей:
При инициализации объекта классаGrokClient
автоматически инициализируется объект классаHistory
. История автоматически подгружается из файла при инициализацииGrokClient
.
- 🍪
cookies
: (Не обязательно) Строка или словарь (или список строк / словарей для автоматической смены в случае достижения лимита), представляющий собой cookie сайта grok.com (получается через браузер -> меню разработчика -> Application). - 🖥️
use_xvfb
: Флаг для использования Xvfb на Linux (по умолчаниюTrue
). - 🛡️
proxy
: URL Прокси сервера, используется только в случае региональной блокировки. - 📋
history_msg_count
: Количество сообщений в истории (по умолчанию0
- сохранение истории отключено). - 📂
history_path
: Путь к файлу с историей в JSON-формате. По умолчанию:"chat_histories.json"
. - 📄
history_as_json
: Отправить ли в Grok историю в формате JSON (дляhistory_msg_count > 0
). По умолчанию:True
. - 💾
history_auto_save
: Автоматическая перезапись истории в файл после каждого сообщения. По умолчанию:True
- ⏳
timeout
: Максимальное время на инициализацию клиента. По умолчанию:120
секунд.
- Экземпляр класса
GrokClient
, готовый к использованию.
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
cookies |
str / dict / List[str / dict] |
Cookie сайта grok.com (Не обязательно) | - |
use_xvfb |
bool |
Флаг для использования Xvfb на Linux. | True |
proxy |
str |
URL Прокси сервера, используется только в случае региональной блокировки. | - |
history_msg_count |
int |
Количество сообщений в истории. | 0 (история отключена) |
history_path |
str |
Путь к файлу с историей в JSON-формате. | "chat_histories.json" |
history_as_json |
bool |
Отправлять ли историю в Grok в формате JSON (если > 0). | True |
timeout |
int |
Максимальное время на инициализацию клиента (в секундах). | 120 |
- 🌐 Автоматическая инициализация браузера: При инициализации клиента, сессия Chrome будет запущена автоматически, чтобы подготовить все к отправке запросов.
- 🍪 Автоматическая смена cookie: если передан лист cookies (лист строк или словарей), то, в случае достижения лимита сообщений, произойдёт автоматическая смена cookie — новый порядок будет сохранён для текущего и последующих запросов.
- 🐧 Поддержка Linux: Подробное описание работы на Linux
💡 На Linux без GUI нужно использовать Xvfb для стабильной работы в headless-режиме.
🛠️ Для начала работы с Grok API создайте экземпляр
GrokClient
и используйте его методы, например,ChatCompletion.create
, для отправки запросов.
from grok3api.client import GrokClient
def main():
# Можно добавить лист строк / словарей для автоматической смены в случае достижения лимита
# cookies = "YOUR_COOKIES_FROM_BROWSER"
# client = GrokClient(cookies=cookies)
# Создание клиента (cookies будут автоматически получены, если не переданы)
client = GrokClient()
# Отправляем запрос через ChatCompletion
response = client.ask(message="Привет, Grok!")
print(response.modelResponse.message) # Выводит ответ от Grok
if __name__ == '__main__':
main()
ChatCompletion
: Объект, создаваемый внутриGrokClient
, предоставляет методcreate
для отправки запросов к модели Grok. Подробности смотрите в Описании методаcreate
.
- Обработка ошибок: При инициализации класса возможны исключения (например, если куки не удалось получить). Они логируются через
logger.error
.