Всем привет, сейчас я вам расскажу как можно бесплатно получить API нейросети Qwen AI для своих нужд. Шаг 1. АвторизацияДля начала нужно авторизироваться. Здесь всё максимально просто. Переходим на сайт (https://qwenlm.ai/auth), авторизируемая через Google, Github или почтой.Шаг 2. Получаем токенПосле самой авторизации нужно получить токен, что-бы в будущем через него отправлять сообщения. В чате нам нужно отловить запрос с токеном, для это: Нажимаем F12 > Переходим во вкладку Network > Ставим сортировку по Fetch/XHR запросам (Для удобности) Далее ловим сам запрос отправкой любого сообщения ии. После отправки сообщения в DevTools посыпались различные запросы от клиента, нам нужен только completions, в нём и будет наш токен. Скролим чуть ниже, к полю Authorization, там и лежит наш токен. Well done! Шаг 3. Используем токенТокен получен, используем в коде. К примеру буду приводить код на Python, так как используем REST API из библиотек использую только requests. # Константы TOKEN = "Токен который мы получили на предыдущем шаге" QWEN_URL = "https://chat.qwenlm.ai/api/chat/completions" QWEN_HEADERS = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } Python # Константы TOKEN = "Токен который мы получили на предыдущем шаге" QWEN_URL = "https://chat.qwenlm.ai/api/chat/completions" QWEN_HEADERS = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } Массив из отправленных сообщений может содержать сообщения как от пользователя - user, от ии - assistant, и от системы - system. # Пример сообщений для отправки messages = [ {"role": "user", "content": "Привет!", "extra": {}, "chat_type": "t2t"}, ] # chat_type указываю на t2t для обмена сообщениями (В самом ИИ можно ещё видео и картинки генерировать) Python # Пример сообщений для отправки messages = [ {"role": "user", "content": "Привет!", "extra": {}, "chat_type": "t2t"}, ] # chat_type указываю на t2t для обмена сообщениями (В самом ИИ можно ещё видео и картинки генерировать) В боди запроса можно указать модель ИИ (qwen-max-latest самая мощная на данный момент, на уровне с gpt-4o или даже выше), так же параметр stream отвечает за потоковую передачу сообщений. # Параметры запроса payload = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } Python # Параметры запроса payload = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } Ну и сама отправка запроса и получение ответа от ИИ: # Отправка POST-запроса response = requests.post(QWEN_URL, headers=QWEN_HEADERS, json=payload) # Обработка ответа if response.status_code == 200: result = response.json() print("Ответ от нейросети:", result["choices"][0]["message"]["content"]) else: print(f"Ошибка при отправке запроса: {response.status_code}") print("Текст ошибки:", response.text) Python # Отправка POST-запроса response = requests.post(QWEN_URL, headers=QWEN_HEADERS, json=payload) # Обработка ответа if response.status_code == 200: result = response.json() print("Ответ от нейросети:", result["choices"][0]["message"]["content"]) else: print(f"Ошибка при отправке запроса: {response.status_code}") print("Текст ошибки:", response.text) Тест: Готово! Мы получили полностью рабочую китайскую ИИшку для любых целей. :peka: ЗаключениеКому надо, вот полный код на питончике import requests TOKEN = "Токен который мы получили на шаге 2" QWEN_URL = "https://chat.qwenlm.ai/api/chat/completions" QWEN_HEADERS = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } messages = [ {"role": "user", "content": "Привет!", "extra": {}, "chat_type": "t2t"}, ] payload = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } response = requests.post(QWEN_URL, headers=QWEN_HEADERS, json=payload) if response.status_code == 200: result = response.json() print("Ответ от нейросети:", result["choices"][0]["message"]["content"]) else: print(f"Ошибка при отправке запроса: {response.status_code}") print("Текст ошибки:", response.text) Python import requests TOKEN = "Токен который мы получили на шаге 2" QWEN_URL = "https://chat.qwenlm.ai/api/chat/completions" QWEN_HEADERS = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } messages = [ {"role": "user", "content": "Привет!", "extra": {}, "chat_type": "t2t"}, ] payload = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } response = requests.post(QWEN_URL, headers=QWEN_HEADERS, json=payload) if response.status_code == 200: result = response.json() print("Ответ от нейросети:", result["choices"][0]["message"]["content"]) else: print(f"Ошибка при отправке запроса: {response.status_code}") print("Текст ошибки:", response.text) Спасибо за прочтение! Это была моя первая статья, не бейте сапогом
дополню - код простейшего телеграм бота для этой штуки запускать на aiogram2 а не aiogram3 from aiogram import Bot, Dispatcher, executor, types import requests import os import json # Токен твоего Telegram-бота BOT_TOKEN = "сюда ваш токен бота" # API-ключ Qwen QWEN_API_KEY = "сюда ваш токен нейронки" # URL для Qwen API QWEN_API_URL = "https://chat.qwenlm.ai/api/chat/completions" # Инициализация бота и диспетчера bot = Bot(token=BOT_TOKEN) dp = Dispatcher(bot) # Функция для отправки запроса к Qwen API def get_qwen_response(prompt): headers = { "Authorization": f"Bearer {QWEN_API_KEY}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } messages = [ {"role": "user", "content": prompt, "extra": {}, "chat_type": "t2t"}, ] # chat_type указываю на t2t для обмена сообщениями (В самом ИИ можно ещё видео и картинки генерировать) data = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } response = requests.post(QWEN_API_URL, headers=headers, data=json.dumps(data)) if response.status_code == 200: result = response.json() return result["choices"][0]["message"]["content"] else: return f"Ошибка при получении ответа: {response.text}" # Обработчик команды /start @dp.message_handler(commands=['start']) async def start_command(message: types.Message): await message.reply("Привет! Я бот, который может общаться с тобой через Qwen API. Напиши мне что-нибудь!") # Обработчик текстовых сообщений @dp.message_handler(content_types=types.ContentTypes.TEXT) async def handle_text(message: types.Message): user_message = message.text #await message.typing() # Показывает, что бот печатает # Отправляем запрос к Qwen API qwen_response = get_qwen_response(user_message) # Отправляем ответ пользователю await message.reply(qwen_response) if __name__ == '__main__': executor.start_polling(dp, skip_updates=True) Code from aiogram import Bot, Dispatcher, executor, types import requests import os import json # Токен твоего Telegram-бота BOT_TOKEN = "сюда ваш токен бота" # API-ключ Qwen QWEN_API_KEY = "сюда ваш токен нейронки" # URL для Qwen API QWEN_API_URL = "https://chat.qwenlm.ai/api/chat/completions" # Инициализация бота и диспетчера bot = Bot(token=BOT_TOKEN) dp = Dispatcher(bot) # Функция для отправки запроса к Qwen API def get_qwen_response(prompt): headers = { "Authorization": f"Bearer {QWEN_API_KEY}", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/237.84.2.178 Safari/537.36" } messages = [ {"role": "user", "content": prompt, "extra": {}, "chat_type": "t2t"}, ] # chat_type указываю на t2t для обмена сообщениями (В самом ИИ можно ещё видео и картинки генерировать) data = { "chat_type": "t2t", "messages": messages, "model": "qwen-max-latest", "stream": False } response = requests.post(QWEN_API_URL, headers=headers, data=json.dumps(data)) if response.status_code == 200: result = response.json() return result["choices"][0]["message"]["content"] else: return f"Ошибка при получении ответа: {response.text}" # Обработчик команды /start @dp.message_handler(commands=['start']) async def start_command(message: types.Message): await message.reply("Привет! Я бот, который может общаться с тобой через Qwen API. Напиши мне что-нибудь!") # Обработчик текстовых сообщений @dp.message_handler(content_types=types.ContentTypes.TEXT) async def handle_text(message: types.Message): user_message = message.text #await message.typing() # Показывает, что бот печатает # Отправляем запрос к Qwen API qwen_response = get_qwen_response(user_message) # Отправляем ответ пользователю await message.reply(qwen_response) if __name__ == '__main__': executor.start_polling(dp, skip_updates=True)
здравствуй, твоя статья полезная но ! я попытался инетгрировать ии указав его модель и ключ который я достал и нечего не работает в чем дело???