SAS Viya Copilot shows that an embedded LLM chat interface helps productivity inside SAS tools: code generation, explanation, natural language Q&A, and so on. Right now that's only available to SAS Viya 4+ customers, and it's tied to one fixed backend (Microsoft Azure AI Foundry). Many SAS users, especially in regulated industries like pharma, will stay on SAS 9.4 Foundation for years. They have no equivalent native option. I'd like to propose a chat pane for SAS Studio and/or Enterprise Guide on 9.4 Foundation, similar to Viya Copilot's code assistant. The key difference: the LLM call should be a documented macro hook that users can override, not a fixed vendor backend. This lets organizations point the chat pane at whatever provider their data governance allows: OpenAI, Anthropic, or a self-hosted model. Why this is feasible SAS programmers already build this by hand using PROC HTTP and the JSON libname engine to call LLM APIs from SAS 9.4, parsing each provider's JSON response and using the macro language to build prompts dynamically. See "Getting a Prompt Response Using ChatGPT and SAS" (PHUSE EU Connect 2024) (proceedings:) and the related SAS Ask the Expert session, "How Can the SAS Macro Language Enhance LLM Integration in SAS 9.4 for Clinical Programming?" (How Can the SAS Macro Language Enhance LLM Integration in SAS® 9.4 for... - SAS Support Communities) This proves the integration works against SAS 9.4. It just isn't native. SAS already has a precedent for macro-driven, interactive dialogue with a user: %WINDOW and %DISPLAY in the classic Display Manager System. A window pauses execution, takes input, and resumes. They're limited to classic windowing mode and don't render in EG or Studio, but they show the underlying idea (macro code driving back and forth with a user) is already part of SAS's own toolkit. A modern equivalent, a persistent chat pane in SAS Studio and EG, would bring that same idea to the interfaces 9.4 users actually work in. Proposed capability A chat pane in SAS Studio / Enterprise Guide, similar in placement to Viya Copilot's code pane. A documented macro or API hook so the LLM call itself (endpoint, auth, payload, response parsing) is supplied by the customer, not hardcoded to one vendor. Conversation state kept across turns in a session, so follow-up questions keep context. Ability to insert LLM-suggested code straight into the active editor, like Viya Copilot does. SAS already has a way to keep credentials out of the log: PROC PWENCODE. Right now, anyone wiring up an LLM API call by hand has to manage the API key carefully or risk it showing up in plain text in the log or saved code. A native chat pane should use the same encoding approach by default, so this is a known, solved problem within SAS rather than a new one. This closes the AI-assistant gap between SAS 9.4 Foundation and SAS Viya without requiring a platform migration, and respects the need for regulated organisations to choose or self-host their own LLM provider rather than use one fixed backend.
... View more