Skip to content

Conversation

kxynos
Copy link

@kxynos kxynos commented Aug 30, 2025

Checklist

Description
Setup/how to:

  • I am using a Mac to host GPT4all. So I am using SSH to expose the localhost.
ssh -R 4891:127.0.0.1:4891 -N VM_IP
  • Start GPT4all and in Settings mark Enable local API Server (this is listening on localhost (127.0.0.1) on port 4891.

Using the PasswordCheck example in your VM start radare2:

$ r2 PasswordCheck
[0x100001b34]> decai -e lang=swift
[0x100001b34]> decai -e baseurl=http://localhost:4891
[0x100001b34]> decai -e api=gpt4all
[0x100001b34]> decai -d

kxynos added 3 commits August 30, 2025 19:16
Added support for local API server gpt4all by Nomic
Added maxTokens support to GPT4all
Added to GPT4all, temperature as 0.1 to enable deterministic option
@trufae
Copy link
Contributor

trufae commented Aug 31, 2025

Isnt gpt4all just following the openapi endpoints? Because i think theres no need to have a specific provider for it

@kxynos
Copy link
Author

kxynos commented Aug 31, 2025

I am with you. I wanted to avoid creating another option. GPT4all provides a OpenAI-compatible API which is similar to VLLM (r2aiVLLM) interface. Do you want me to enhance that one with options to make it work ? Because the GPT4all API won't work with the current setup. More options are needed.

@trufae
Copy link
Contributor

trufae commented Aug 31, 2025

I had pending in my head to review all the endpoint providers to reduce the duplicated logic because the endpoints are quite standard nowadays and the only that changes is the baseurl which may be tied to the provider. It will be good to make this happen and simplify because imho its easy to have baseurl than host/port. Also better to have api=claude when it means provider=anthropic;baseurl=…;api=openapi, etc

so yeah im all to make this redesign happen and if you want to take it go for it! I dont have time to write and test, but in open to discuss and review if you are in the mood :)

thanks for taking care of it.

also, this approach comes as an inheritance from r2ai-py which also is reflected in r2ai-c, but decai is defintively better for drafting and making changes and when the final design is made we can then update r2ai-c in sync (the python implementation is abandoned)

@trufae
Copy link
Contributor

trufae commented Sep 7, 2025

@kxynos ping?

@kxynos
Copy link
Author

kxynos commented Sep 7, 2025

I will see what is possible. I have started refactoring the code.

@trufae
Copy link
Contributor

trufae commented Sep 25, 2025

did you started the refactor @kxynos ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants