![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (Ruby) AI: Simple ConversationSee more AI ExamplesInitiates a conversation and sends two requests. The second request includes the transcript of the messages between the user and assistant from the first request.Note: This example requires Chilkat v11.2.0 or greater. 
 require 'chilkat' success = false # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. ai = Chilkat::CkAi.new() # The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity". # Support for additional providers will be added in future versions of Chilkat. ai.put_Provider("claude") # Use your provider's API key. ai.put_ApiKey("MY_API_KEY") # Choose a model. ai.put_Model("claude-opus-4-1-20250805") # Create a new conversation to be maintained locally in memory. # If the conversation is the first to be created, it is also automatically selected. systemMsg = "You are a helpful assistant" developerMsg = "Respond only with markdown" conversationName = "test_conversation" ai.NewConvo(conversationName,systemMsg,developerMsg) # ------------------------------------------------------------------------------------------- # Make the first request... # Add a text input. ai.InputAddText("Say Hello") # Ask the AI for text output. success = ai.Ask("text") if (success == false) print ai.lastErrorText() + "\n"; exit end # Get the text response. sbResponse = Chilkat::CkStringBuilder.new() ai.GetOutputTextSb(sbResponse) print sbResponse.getAsString() + "\n"; print "----" + "\n"; # ------------------------------------------------------------- # The response is in markdown format. # Also see Markdown to HTML Conversion Examples. # ------------------------------------------------------------- # Sample output: # # Hello! 👋 # ## Welcome! # It's **great** to meet you. How can I *assist* you today? # --- # Feel free to ask me anything, and I'll respond in `markdown` format. # ------------------------------------------------------------------------------------------- # Send the 2nd request in the conversation. ai.InputAddText("Thanks for saying Hello. Please give me a 2 sentence bit of wisdom from Confucious.") success = ai.Ask("text") if (success == false) print ai.lastErrorText() + "\n"; exit end # Get the text response. sbResponse.Clear() ai.GetOutputTextSb(sbResponse) print sbResponse.getAsString() + "\n"; # Sample output: # ## Wisdom from Confucius # > *"The man who moves a mountain begins by carrying away small stones. It does not matter how slowly you go as long as you do not stop."* # These words remind us that **persistence** and **patience** are the keys to achieving even the most daunting goals. 🏔️ # ------------------------------------------------------------------------------------------- # Look at the conversation so far... # json = Chilkat::CkJsonObject.new() ai.ExportConvo(conversationName,json) json.put_EmitCompact(false) print json.emit() + "\n"; # Note: The conversation transcript format exported and imported by Chilkat is always the OpenAI format, # regardless of the AI provider. (Chilkat translates the format from OpenAI to whatever is needed by the actual AI provider being used.) # { # "input": [ # { # "role": "system", # "content": [ # { # "type": "input_text", # "text": "You are a helpful assistant" # } # ] # }, # { # "role": "developer", # "content": [ # { # "type": "input_text", # "text": "Respond only with markdown" # } # ] # }, # { # "role": "user", # "content": [ # { # "type": "input_text", # "text": "Say Hello" # } # ] # }, # { # "role": "assistant", # "content": [ # { # "type": "output_text", # "text": "# Hello! 👋\n\n**Welcome!** It's *great* to meet you.\n\nHow can I assist you today?" # } # ] # }, # { # "role": "user", # "content": [ # { # "type": "input_text", # "text": "Thanks for saying Hello. Please give me a 2 sentence bit of wisdom from Confucious." # } # ] # }, # { # "role": "assistant", # "content": [ # { # "type": "output_text", # "text": "## Wisdom from Confucius\n\n> *\"The man who moves a mountain begins by carrying away small stones. It does not matter how slowly you go as long as you do not stop.\"*\n\nThese words remind us that **persistence** and **patience** are the keys to achieving even the most daunting goals. 🏔️" # } # ] # } # ] # }  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.