Hola gente, la consulta es la siguiente, estoy usando bastante la AI de DeepSeek para asistirme [1] y pensé en implementarlo en el formulario de mi aplicación, basicamente puse un webview (para ver la respuesta), un textarea (para usarlo como prompt), un textbox (para poner mi APIkey personal) y un boton (para enviar la consulta).
Lo primero que hice, fue preguntarle al propio DeepSeek si esto era posible y que limitaciones tengo. En la versión gratuita el limite está en la cantidad de tokens de los que se dispone, la cantidad que ofrece me alcanzan, ya que es lo que uso hoy y no tengo problemas.
Este es el código de una que me sugirio (tuve que agregar los componentes gb.webview y gb.net
Código:
' En el evento Click del botón "Enviar"
Public Sub btnSENDai_Click()
' Obtén el texto del TextArea
Dim sPrompt As String = txtPROMPT.Text
' URL de la API de DeepSeek
Dim sUrl As String = "https://api.deepseek.com/v1/chat/completions"
' Tu clave de API de DeepSeek
Dim sApiKey As String = txtAPIKEY.Text
' Crea el JSON para la solicitud
Dim sJson As String = "{ \"model\": \"deepseek-chat\", \"messages\": [{\"role\": \"user\", \"content\": \"" & sPrompt & "\"}] }"
' Configura la solicitud HTTP
Dim hClient As NetClient
hClient = New NetClient As "NetClient"
' Configura los encabezados
hClient.RequestHeaders["Content-Type"] = "application/json"
hClient.RequestHeaders["Authorization"] = "Bearer " & sApiKey
' Envía la solicitud POST
hClient.Post(sUrl, sJson)
End
' En el evento Complete del NetClient
Public Sub hClient_Complete()
' Obtén la respuesta
Dim sResponse As String = hClient.ResponseText
' Parsea la respuesta JSON (puedes usar una librería JSON para esto)
Dim sMessage As String = ParseJsonResponse(sResponse)
' Muestra la respuesta en el componente WebKit
WebViewAI.Text = sMessage
End
' Función para parsear la respuesta JSON (ejemplo básico)
Public Function ParseJsonResponse(sJson As String) As String
' Aquí debes implementar la lógica para extraer el mensaje de la respuesta JSON
' Este es un ejemplo básico:
Dim sMessage As String
Dim iStart As Integer = InStr(sJson, "\"content\":\"") + 11
Dim iEnd As Integer = InStr(iStart, sJson, "\"")
If iStart > 0 And iEnd > 0 Then
sMessage = Mid(sJson, iStart, iEnd - iStart)
Else
sMessage = "Error: No se pudo parsear la respuesta JSON."
Endif
Return sMessage
End
Por supuesto, como es de esperar (ya anunciado por Shordi en algún hilo, por ahí) no funciona, pero la idea del proceso a desarrollar es clara.
Mi pregunta es si alguien del foro tiene experiencia (y tiempo) para explicar como funciona gb.net.
Saludos y gracias de antemano.
[1] en el proceso de edición de libros, utilizo DeepSeek para automatizar tareas, tales como hacer la traducción de diferentes metadatos que inyecto dentro de los libros a 3 idiomas (inglés, francés y portugues), otro uso muy repetido es que me busqué info faltante en las referencias bibliograficas y que me las pase directamente formateadas en biblatex.