Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2023
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 71
Poder: 11
chenech Va por buen camino
Integrar ChatGPT en aplicación C++ Builder

Por si le sirve a alguien, integrar una llamada al ChatGPT, un edit (EPregunta) para la pregunta y un memo (Memo1) para la respuesta (sustituir las XXX... por el código al registrarse).
Un éxito entre los clientes que tengo, jajajaja todos lo usan mucho ahora.
Código:
try
{
  TNetHeaders AuthHeader;
  AuthHeader.Length = 2;
  AuthHeader[0] = TNameValuePair("Authorization", "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
  AuthHeader[1] = TNameValuePair("Content-Type", "application/json");
  TMemoryStream *salida = new TMemoryStream();
  TMemoryStream *entrada = new TMemoryStream();
  TMemo *memo = new TMemo(Form148);
  memo->Parent = Form148;
  memo->Visible = false;
  memo->Lines->Clear();
  String  ASAux = EPregunta->Text;
  char dest[200];
  UnicodeToUtf8(dest, 200, EPregunta->Text.c_str(), 200);
  ASAux = dest;
  memo->Lines->Add("{\"model\": \"text-davinci-003\", \"prompt\": \"" + ASAux + "\", \"temperature\": 0, \"max_tokens\": 1000}");
  memo->Lines->SaveToStream(salida);
  salida->Position = soFromBeginning;
  NetHTTPC1->Post("https://api.openai.com/v1/completions", salida, entrada, AuthHeader);
  memo->Lines->Clear();
  memo->Lines->LoadFromStream(entrada);
  delete salida;
  delete entrada;
  TJSONObject *o = (TJSONObject*) TJSONObject::ParseJSONValue(TEncoding::ANSI->GetBytes(memo->Lines->Text), 0);
  TJSONArray *a = (TJSONArray*) o->Get("choices")->JsonValue;
  TJSONObject *book = (TJSONObject*) a->Items[0];
  Memo1->Lines->Clear();
  ASAux = book->Pairs[0]->JsonValue->ToString();
  ASAux = StringReplace(ASAux, "\\n\\n", sLineBreak, TReplaceFlags() << rfReplaceAll);
  ASAux = StringReplace(ASAux, "\\n", sLineBreak, TReplaceFlags() << rfReplaceAll);
  Memo1->Lines->Add(ASAux);
  o->Free();
  memo->Free();
}
catch (...)
{
  ShowMessage("Error accediendo a los servicios IA de HFocused");
}

Última edición por Casimiro Notevi fecha: 20-02-2023 a las 18:34:14. Razón: Ajustar código para que entre mejor en el recuadro
Responder Con Cita
  #2  
Antiguo 20-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ChatGPT IA kurono La Taberna 16 18-01-2023 10:41:27
integrar fichero ayuda chm en mi aplicacion jsc Varios 7 04-12-2012 19:27:52
integrar excel a una aplicacion federicorl API de Windows 1 04-01-2007 22:22:32
problemas al integrar una aplicación dentro de otra aranel Varios 1 23-10-2005 02:40:00
integrar mysq al instalador de mi aplicacion ppalmamichi MySQL 1 16-06-2005 10:05:49


La franja horaria es GMT +2. Ahora son las 12:36:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi