![]()  | 
  
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
 
      (Tcl) 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. 
 load ./chilkat.dll set success 0 # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set ai [new_CkAi] # The provider can be "openai", "google", "claude", "deepseek", "xai", or "perplexity". # Support for additional providers will be added in future versions of Chilkat. CkAi_put_Provider $ai "claude" # Use your provider's API key. CkAi_put_ApiKey $ai "MY_API_KEY" # Choose a model. CkAi_put_Model $ai "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. set systemMsg "You are a helpful assistant" set developerMsg "Respond only with markdown" set conversationName "test_conversation" CkAi_NewConvo $ai $conversationName $systemMsg $developerMsg # ------------------------------------------------------------------------------------------- # Make the first request... # Add a text input. CkAi_InputAddText $ai "Say Hello" # Ask the AI for text output. set success [CkAi_Ask $ai "text"] if {$success == 0} then { puts [CkAi_lastErrorText $ai] delete_CkAi $ai exit } # Get the text response. set sbResponse [new_CkStringBuilder] CkAi_GetOutputTextSb $ai $sbResponse puts [CkStringBuilder_getAsString $sbResponse] puts "----" # ------------------------------------------------------------- # 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. CkAi_InputAddText $ai "Thanks for saying Hello. Please give me a 2 sentence bit of wisdom from Confucious." set success [CkAi_Ask $ai "text"] if {$success == 0} then { puts [CkAi_lastErrorText $ai] delete_CkAi $ai delete_CkStringBuilder $sbResponse exit } # Get the text response. CkStringBuilder_Clear $sbResponse CkAi_GetOutputTextSb $ai $sbResponse puts [CkStringBuilder_getAsString $sbResponse] # 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... # set json [new_CkJsonObject] CkAi_ExportConvo $ai $conversationName $json CkJsonObject_put_EmitCompact $json 0 puts [CkJsonObject_emit $json] # 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. 🏔️" # } # ] # } # ] # } delete_CkAi $ai delete_CkStringBuilder $sbResponse delete_CkJsonObject $json  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.