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 ответов

81 просмотр

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

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

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

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

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта