Jump to content

Geoffrey Smith

Members
  • Content Count

    27
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Geoffrey Smith

  1. Geoffrey Smith

    Dllama - Local LLM inference Library

    What happened to this?
  2. Geoffrey Smith

    AI Examples

    I have a project that I originally started for a presentation at the ADUG 2023 Symposium, which was on AI and ChatGPT. Since then I have continued to improve it and added more features to it. One of the goals of this project is to provide a library to Delphi Developers that enables them to easily use various AI models / engines that are currently available. Currently this is mostly done through calling various different REST API's that different companies provide, although another goal is to enable models to be used locally where practical. Features include: - Voice Recognition - Text to Speech - Image Generation - Face Detection - Large Language Models (LLM) like GPT. I have created various example programs that exercise the different API's as well. Today, OpenAI released some new features and API's. I have since added support for Dall-e-3 and the Text to Speech engine so far. To find out more have a look at https://github.com/geoffsmith82/Symposium2023
  3. Geoffrey Smith

    CURL to REST Debugger

    Just an slightly related aside. You can use ChatGPT to convert a curl command to delphi code. It is handy because a lot of REST api documentation may have a curl command for a call, but no Delphi version.
  4. Geoffrey Smith

    WebSockets in Use

    Hi, I know that the WebSockets implementation is brand new and still in the daily branch, so I thought I would give you some feedback that it is working for me. I am using it in a project I am going to be presenting at the ADUG Symposium next week. I am using it to connect to a couple of services that do real-time voice recognition. My talk is actually on AI and ChatGPT, but your WebSockets have allowed me to get the voice recognition functionality working! So thanks. If you want to see my talk and how to get my code follow the link below. https://www.adug.org.au/symposium/2023-symposium-melbourne-and-online/
  5. Geoffrey Smith

    WebSockets in Use

    I did my presentation, so you can now find my code at https://github.com/geoffsmith82/Symposium2023
  6. Geoffrey Smith

    OAuth2 bearer token example?

    As you asked for a few examples... here are a few of my projects that use OAuth2 authentication. They also show the authentication process in the web browser. https://github.com/geoffsmith82/GmailAuthSMTP https://github.com/geoffsmith82/DelphiIntuitAccess
  7. Geoffrey Smith

    Windows 11 Speech Recognition

    I am having a go trying to get speech recognition working in Windows 10. In delphi there is a TSpeechRecognition_SpeechRecognizer class in the Winapi.Media file, but I am only getting a useless error. Unfortunately, I can't seem to find any other Delphi code using this class.
  8. Use this project to create some delphi objects that will make it easy to read the file https://github.com/PKGeorgiev/Delphi-JsonToDelphiClass
  9. I would like to suggest for the next version of ICS, the naming of the packaging be updated to follow the document from @Vincent Parrett from Finalbuilder found at https://www.finalbuilder.com/resources/blogs/advice-for-delphi-library-authors This would help with a component I use in project I am developing when new versions of Delphi come out and also help other developers who use ICS in packages. https://github.com/geoffsmith82/delphi-mqtt Most people will not come across this issue unless they create a component that uses ICS.
  10. @FPiette and @Angus Robertson I spoke to the original Author of the component and he was fine having it included into the ICS library. See below. My version has a few minor improvements and you can include that as well.
  11. Here are my thoughts on the tool - hopefully not too obvious for you @Vincent Parrett - Have a default set of template dproj files that should suit most people (maybe different ones for handling different platforms or strip out unneeded stuff like project magician) - Ability to download templates for new versions of Delphi - perhaps these templates could just be stored in a git repository that people could update with git - Option for custom dproj's though also able to be downloaded from a git project - Spit out files required for Delphi Package Manager
  12. @Vincent Parrett I thought I had seen someone write a tool that did this... but haven't been able to find it again after searching for it.
  13. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    I believe the problem with your code is you are not base64url encoding the message. If you have Delphi 11, you could add the code fragment below to your code and I think it should work. uses System.NetEncoding; var MSEncoded : TStringStream; begin MSEncoded := TStringStream.Create; IdMessage.SaveToStream(MS); TNetEncoding.Base64URL.Encode(MS, MSEncoded); end;
  14. I want to be able to change a RAD Server users password programmatically, without using the RAD Server console. Does someone have an example of how to do this. My searching through documentation and the internet has been fruitless. Thanks Geoffrey
  15. Geoffrey Smith

    RAD Server change password for user

    For anyone who is looking for this in the future.... From https://docwiki.embarcadero.com/RADStudio/Sydney/en/Tutorial:_RAD_Server_Client_Application_to_Manage_RAD_Server_Users#Updating_the_RAD_Server_User_Password_Stored_in_the_RAD_Server_Engine where ListView1.Selected.Detail = _id of the user you want to update procedure TForm1.UpdatePasswordClick(Sender: TObject); var LEditedUser: TJSONObject; LUpdatedAt: TBackendEntityValue; begin try if ListView1.Selected <> nil then begin LEditedUser := TJSONObject.Create; LEditedUser.AddPair('password',editedPassword.Text); BackendUsers1.Users.UpdateUser(TListViewItem(ListView1.Selected).Detail,LEditedUser,LUpdatedAt); editedPassword.Text:=''; end; finally LEditedUser.Free; end; end;
  16. Geoffrey Smith

    thread-safe ways to call REST APIs in parallel

    Check out the TRESTRequest.ExecuteAsync function.
  17. Geoffrey Smith

    Delphi integration with Quickbooks using REST

    I have created a demo project that you could look at here https://github.com/geoffsmith82/DelphiIntuitAccess
  18. Geoffrey Smith

    QuickBooks API getting Access Token with OAuth2

    I know this is an old topic... but I have a Delphi example for intuit login's. You can find it here https://github.com/geoffsmith82/DelphiIntuitAccess
  19. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    You need to create that yourself. In this file you need to add the missing constant values to make the project compile.
  20. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    I have updated the demo. The demo now includes saving and loading refresh tokens, as well as checking for expired access_tokens and refreshing them with the refresh_token. Have a look at https://github.com/geoffsmith82/GmailAuthSMTP/ Geoffrey
  21. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    I've updated my project so it now not only sends messages via gmail... but it can send hotmail.com/live.com/outlook.com emails. GmailAuthSMTP supports the XOAUTH2 and OAUTHBEARER authentication types and so could probably support other mail providers if they use those standards as well. https://github.com/geoffsmith82/GmailAuthSMTP/
  22. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    I have now updated my demo to use an TIdSASL derived component that I created. I must admit that it does use the Delphi TOAuth2Authenticator component as well which is not a Indy component... but it has been in Delphi going back quite a few versions.
  23. Geoffrey Smith

    Sending Email via GMail Using OAuth 2.0 via Indy

    Hi @Ugochukwu Mmaduekwe, Have a look at https://github.com/geoffsmith82/GmailAuthSMTP/ I just created a simple demo for you. You will need to get a client_id from google in their developer toolbox. Geoffrey
  24. Hi, I’ve been trying to get the Linux Target platform working in Delphi. I setup PAServer and can connect, but when I download the platform sdk from my Ubuntu 16.04 VM, after some time it asks to overwrite some files that already exist. I can choose yes or no here but I always end up with the error below [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\ld-linux.exe: error: cannot find -lrtlhelper_PIC c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\debug\System.o:System:function System::fpu_init(): error: undefined reference to 'fpu_init' c:\program files (x86)\embarcadero\studio\19.0\lib\Linux64\debug\System.o:System:function System::_GetCPUID(unsigned int, unsigned int): error: undefined reference to '_system_GetCPUID' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) How can I get this to work? Thanks
  25. Geoffrey Smith

    Linux Platform target - problem with linking

    Thanks for that. Problem solved! 🙂 I was expecting Delphi to have a reasonable default for my first ever linux build. Obviously I was wrong about it being reasonable!
×