169 похожих чатов

Сурсы: Import std/asyncdispatch, std/httpclient, std/json, std/sequtils,

std/strutils,
std/unicode,
std/unidecode,
std/uri,
uuid4,
regex


const
GPT4_API* = "https://you.com/api/streamingSearch"


proc completeGpt4*(prompt: string): Future[string] {.async.} =
let u = $uuid4()
echo u
var client = newAsyncHttpClient(
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 YaBrowser/24.4.0.0 Safari/537.36",
headers = {
"content-type": "application/json",
"cache-control": "no-cache, no-cache",
"accept": "*/*",
"accept-language": "ru,en;q=0.9,la;q=0.8,af;q=0.7,de;q=0.6,ko;q=0.5",
"referer": "https://you.com/search?q=gpt4&tbm=youchat",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 YaBrowser/24.4.0.0 Safari/537.36",
"cookie": "safesearch_guest=Off; uuid_guest=" & u,
}.newHttpHeaders,
maxRedirects = 10
)
let args = encodeQuery({
"q": prompt,
"page": "1",
"count": "10",
"safeSearch": "Off",
"onShoppingPage": "false",
"mkt": "",
"responseFilter": "WebPages,Translations,TimeZone,Computation,RelatedSearches",
"domain": "youchat",
"queryTraceId": u,
"chat": "[]"
})
let response = await client.get(GPT4_API & "?" & args)
echo GPT4_API & "?" & args
return await response.body()


when isMainModule:
let data = waitFor completeGpt4("что ты умеешь?")
echo data

4 ответов

50 просмотров

ну в целом ты же понимаешь что в версии на питоне чуть лучше симулируется браузер, а в версии nim тебе выводится капча?

Qtless-Qtless Автор вопроса
OnigiriDeveloper
ну в целом ты же понимаешь что в версии на питоне ...

я вижу, что капча, но я не смог решить проблему, поэтому и решил тут спросить

где headers и userAgent используется?

создай временную ссылку на webhook.site, сделай на нее запрос, посмотри что все таки в заголовках приходит

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта