Search This Blog

Showing posts with label LowCode. Show all posts
Showing posts with label LowCode. Show all posts

Friday, March 28, 2025

How to Create and Manage a Microsoft Teams Copilot Agent

Creating and managing a Teams Copilot Agent can significantly enhance your team's productivity and streamline various tasks. In this blog post, we'll walk you through the steps to set up and configure your agent, along with some useful tips to optimize its performance.

Pre-requisites

Before you start, ensure you have access to Copilot in Teams. You may need to be part of the ACL Group that manages access to the agent. Additionally, users in this group must have access to the SharePoint folder where the source data is located.

Step-by-Step Guide

1. Navigate to Copilot in Teams

In Teams, go to the Copilot section under "Chats."

2. Create an Agent

Click on "Create an Agent" and then select "Configure."



3. Select a Template

You can choose a template that will auto-populate instructions and other fields. These instructions essentially define the persona your agent will assume.

Tip: Pick a template of the kind of agent you want, then place the instructions template in ChatGPT or Copilot or OCI Gen AI and ask it to create a persona based on a given context of your choosing.

4. Point the Agent at Source Data

In the "Knowledge" section, point the agent at the source data. Place the files that will serve as the content for the agent in SharePoint or Teams. You can add up to 20 sources in SharePoint.

Tip: Avoid versioning files; store the latest version of the document. Organize the content and folders the agent is pointing to for higher accuracy.



5. Configure Agent Capabilities

If you want to build an agent that generates images or writes code exclusively, check the respective boxes. For a general-purpose conversational agent, leave these boxes unchecked.

6. Set Starter Prompts

These are prompts users will see when they start a conversation with the agent. You can hardcode common prompts to get users started.



7. Create the Agent

Once all the information is filled out, hit "Create" (top right).

8. Set Access Controls

Enter the ACLs to expose the agent to specific users. Copy the link to the agent and share it with the people who will access it (they also need to have Copilot).

Tip: Individual users may not work depending on your company policies; only ACL groups.

Editing an Agent

To edit an agent, go back to "Create an Agent," click on "View all agents," and navigate to the one you want to edit. You can change the instructions or access settings as needed.

If you are using Microsoft Teams, you can create very useful Agents on top of your existing data and make research, discovery and troubleshooting more engaging, it is a great way to assist new employees or help enhance productivity in general!

Friday, October 4, 2024

Oracle Application Express (APEX) - Generative AI Capabilities

Oracle Application Express (APEX) continues to revolutionize the way developers create web applications with its new Generative AI assistant. This cutting-edge feature integrates artificial intelligence into APEX’s low-code environment, allowing developers to accelerate the development process like never before. With the APEX Generative AI assistant, users can now generate SQL queries, PL/SQL and JavaScript code, and even create applications simply by describing their requirements in plain language. This means less time spent writing code and more time focused on refining application logic and design.

By bridging the gap between natural language and complex code generation, the AI assistant significantly reduces the learning curve for new developers while enhancing the efficiency of experienced ones. As Oracle APEX continues to evolve, the inclusion of AI-powered features sets a new standard for rapid application development, providing a powerful toolset that enhances productivity and creativity across all skill levels.

This introduction of generative AI in APEX showcases Oracle’s commitment to integrating advanced technologies that make development more accessible, efficient, and intuitive. Whether you're a seasoned developer or just beginning your journey with APEX, the Generative AI assistant opens up new possibilities for creating robust, data-rich applications faster than ever before.

Let us take a look at how to setup the Generative AI feature and what are some of the uses cases!

Note: click the images below to expand them for ease of use and readability! 

Setup


In order to take advantage of these features, we need to allow APEX to interact with an LLM via the API layer, and to do that we want to navigate to the "Workspace Utilities" area then select the "Generative AI" option.



Once we are there, you can create a trust between your APEX instance and an LLM, in the screenshot below we see the trust setup with Open AI, using an API key that I have access to, and I also show the options available to you besides Open AI, which are Cohere and Oracle's OCI Generative AI Service (which I recommend specially if you already use Oracle Cloud Infrastructure, to take advantage of all the security you already have in place in your Virtual Cloud Network!).



APEX Assistant - SQL Workshop


Now for the exciting part! Within the SQL Workshop, you will see an option to click on the "APEX Assistant" which will open a panel on the right side, allowing you to access the query builder feature!


In the above we see the assistant joining two tables for us, in this example! We simply asked whether two tables in the current schema could be joined, and it provided the SQL statement to do just that! This can be very useful when seeking assistance in writing complex SQL for a data lineage you may not be very familiar with, and it is also something you cannot easily accomplish in another tool, like Chat GPT, because the APEX Assistant has access to the metadata in your database directly, making things easier!

Besides the query builder feature, we have the general assistance mode, where we can ask it to develop code for us, modify and optimize code, etc. In this example we ask it to write a PLSQL stored procedure:


Notice how the "insert" feature will drop the code provided into your development canvas automatically!

In this next example, we switched the language to JavaScript, and asked a question a bit more complex:


Create Applications using Gen AI


Besides the AI Assistant in the SQL Workshop, there's another very useful feature, this time in the App Builder!

Here another option is introduced, to use a conversational agent to generate apps, in addition to existing options like creating an app from a file!



This is a powerful feature to get you started with your application, and I am excited to see how it evolves in the feature allowing for more customization and increased usability, but it is definitely a step in the right direction!

Conclusion


As we saw, there's plenty of new features to be excited about in the way of Generative AI within APEX, and I am very excited to see how these features evolve over time, but they are certainly already powerful, particularly the Assistant in the SQL Workshop, and if you use APEX already, there is no reason not to jump on these very cool features!

Saturday, April 20, 2024

Oracle Rest Dataservices (ORDS) - An Introduction, Use Cases and Examples

Oracle Rest Dataservices (ORDS) is truly an underrated feature of the Oracle Database, and now with it being an embedded feature in the Cloud Autonomous Databases, it's truly a feature that is a MUST!

Click on the images to zoom in!


So what? How is it useful? Well, here is a use case where Oracle Integration Cloud is interfacing with Visual Builder to push and pull data from the VBCS Business Objects (BO's) using the REST API layer on the BO's. This is a real use case that many Oracle clients have, specially those that implemented OIC and VBCS back in the Gen 1 days, and using the REST support at the BO layer was the best approach to integrate with VBCS.


In the above we can see that the individual calls to update BO attributes can take a long time, because OIC is iterating through a lot of data, making decisions and making updates. There's also plenty of opportunities for disruption during the API chains, and retriggering is far too complex.

Let us know observe the same scenario, but utilizing ORDS instead:


As noted above, this is far simpler, performs better, less failure points, easier to maintain and support, this is the power of ORDS!

It is a perfect match for VBCS because visual builder wants to speak REST, and ORDS provides an excellent opportunity for that to happen while also taking advantage of the power of the stored procedures to manipulate the BO's at the database level without hitting the VBCS middle tier and relying on complex API interactions.

Below are some additional use cases:


To expand further on the above:

VBCS calls a logging/audit stored procedure exposed as REST via ORDS, to log exceptions being raised in the action chains in VBCS (blocks of code), because right now we have to have user sessions and capture the problem real time via dev tools, unless the message is being handled and shown to the user on the screen, and a lot of them are not, so this is a great way to be proactive and see trends of errors and warnings from user activity.

Many are in the process of replacing BIP reports being used as custom API’s and called from VBCS (which is a common pattern that many have used), by instead utilizing ERP/HCM API’s where feasible, but there's always cases where we will still need to use BIP in this manner, because API support doesn't have the columns or filters required, or the API may just not exist, as an example.

My recommendation here is to instead schedule the BIP extracts and load the data to the VBCS ATP (if you have your own tenant database for VBCS, which you should), then create stored procedures to retrieve it from VBCS via REST, and that way you do not hammer ERP/HCM via the BIP layer, and just hit it once when the scheduled job runs instead. If you don't use VBCS but extract data out of ERP/HCM into your own downstream database, you can do the same rather than allowing direct API traffic into ERP/HCM, and this isn't limited to BIP extracts. Meaning, you can extract data from Fusion using BICC, and other means better than BIP, into a warehouse or data lake and then use ORDS to create an API layer for systems, if the frequency of data needs align.

Lastly, the below talks about the simplicity of deploying ORDS assets, which is very important due to stringent requirements from TO Security around code quality scanning and vulnerabilities with tools like SonarQube. Since ORDS and APEX when exported are just SQL and PLSQL files, there's not much to be concerned about, unlike with high code frameworks with extensive projects with hundreds of files in the build artifacts).


ORDS is an excellent tool on it's own right, and when paired with APEX it can do wonders, but that's a topic for another day!

Sunday, March 24, 2024

Oracle OCI Gen AI Services and Enhancing Developer Productivity

Let’s talk about Oracle’s OCI Gen AI Service, Generative AI Service | Oracle [oracle.com], in the context of the developer productivity opportunities that exist because of it which can transform development shops to be more efficient all-around!

I am currently exploring the OCI service for areas such as the below, and will write a follow-up entry relative to my findings:

  • Code generation and auto-completion: With generative AI, the potential to write code using AI to greatly speed up building extensions and integrations will be a game changer, much like how data scientists can now write R & Python code exponentially faster using ChatGPT like services, so can writing extensions and integrations become far less manual for you.
    • More time could be spent on design, unit testing and other aspects versus manual development.
  • Code refactoring & bug fixing: Asking the AI to code review, improve, make suggestions around implementation for custom code is something already available for high code programming languages like C#, Python, PLSQL and Java in tools like ChatGPT, and this can increase quality and reduce bugs.
    • You can embed AI reviews to your peer review process, as well as during the build process to optimize performance and reduce logic errors.
    • To help with KT’s when flexing with staff or when a developer is touching a code base they did not previously own, the developer can ask the AI service to explain logic, speeding up the learning process exponentially.
  • Automated Test Generation: having the ability for the AI to generate test scenarios and test cases, in supported frameworks, based on the implementation and logic would save time and reduce defects.
    • We can ask the AI to interpret code and suggest unit test scenarios and even build them (depending on the framework).
  • Code comparisons: rather than using tools like Beyond Compare, to manually inspect differences in code bases, you can ask the AI to inspect it for you and produce a comparison report with intelligence built in (meaning, really explain what is different, not just highlight text differences).
  • Code notation & summarization: imagine uploading code to the AI service and asking for a detailed implementation report with steps and explanations, and even a technical design and graphical support such as sequence diagrams.
    • This would be very helpful for custom code where technical designs were not clearly documented or not documented at all (more prevalent now due to the Agile methodology putting less emphasis on documentation) and useful for onboarding new developers and support staff, for product delivery to hand off artifacts to operations, etc.
    • The time savings from not having to write detailed technical designs would be fantastic, and in general to speed up any developer working on a case by asking the AI to summarize and explain sections of the code.
I can produce many other scenarios, but I think I’ve made my point.

So, why Oracle since there’s similar services in the industry? I believe the Oracle services can have a competitive advantage because Oracle AI data models should yield higher accuracy with frameworks such as Oracle JET, Java, PLSQL, Fast Formulas, etc. since Oracle owns those frameworks and uses the AI service internally as part of their own DevOps processes, and the AI model could learn overtime as your developers utilize the service, and it would learn from usage, on top of Oracle’s tuning of the service over time. Lastly, it would be within your secure VCN and OCI environment, so privacy and security should not be a concern if you already have an OCI tenancy, and this is a major factor for many wishing to adopt Gen AI safely.

I think the usage of this, for the moment, is limited to high code frameworks such as Java, PLSQL, C#, Oracle JET (JavaScript), Python etc. but we would be very interested in extending the usability and benefits to middleware technology such as Oracle Integration, for the same reasons listed in this blog.

To that end, I have raised an Idea in Customer connect for the integration of the OCI Gen AI Service to Oracle Integration Gen 3 (OIC) going back to September of last year, so please support this idea over in Cloud Customer Connect by voting and commenting on it (Idea Number: 713448): Generative AI for OIC — Cloud Customer Connect (oracle.com) [community.oracle.com]

Stay tuned for my findings over the next few weeks, as I explore the Gen AI service for these use cases!

Oracle Generative AI Strategy and Options

The software industry continues to innovate and iterate upon AI capabilities, and Oracle is clearly investing heavily in this space as well, with very exciting developments being announced recently.

Below are highly informative strategy updates that you may want to review relative to Oracle’s AI strategy and recent developments.
The below graphic shows Oracle's AI Technical Stack and where recent investments have been made:


Click on the image to maximize it

These AI services are the same used by Oracle internally to develop AI capabilities in the Fusion applications and Fusion analytics, etc. now exposed for customers to utilize as well.

Something that Greg mentions in the first video, is the GenAI Agents beta recently launched, that is a service that allows you to have a conversation with your data within your autonomous database. Also, there's a new feature now called "Autonomous database select AI", also seen above, here's a GREAT blog about it: Introducing Select AI - Natural Language to SQL Generation on Autonomous Database (oracle.com)

I think that both the GenAI Agents and the Select AI feature should be considered as part of any modern Data Strategy, particularly when the data sources are Oracle applications (such as ERP & HCM), once your Autonomous Datawarehouse (ADW) has the Fusion data in it via BICC, you can use these features there without moving the data to a third-party tool to do similar operations (which can increase your cost of ownership and decrease technology technical stack harmony (meaning using too many vendor products unnecessarily)).

Imagine transforming part of your workforce from writing reports to being able to have conversations with the data without A) Having to move it elsewhere B) Having to spend a lot of time writing complex queries and designing intricate reports. Their workload could shift from designing and building reports, to tuning the data model and talking with the data, and this could then be expanded to end users over time, where internal teams would then focus on data model tuning, and everyone else is just talking with the data.

Additionally, this would all be happening within the secure boundaries of your OCI tenancy, reducing concerns around privacy and security that often worries the mind!

Real life examples for those using ERP and HCM that could be made possible in the near future:

%sql

SELECT AI how many invoices are past due

SELECT AI how many suppliers do we consistently not pay on time, and what are the reasons

SELECT AI how many expenses will be past due by next week

SELECT AI how many people under my organization may retire over the next 5 years

SELECT AI how many people under my organization will lose vacation by end of year

No more reports, just conversations with the data..!

Tuesday, April 25, 2023

Low Code Development and Oracle APEX

Low code development is in fashion, and there's many offerings in the market that allow the power of low code development to be unlocked by the enterprise. The allure of low code is the time to market, where solutions, particularly web apps, can be quickly created by following a wizard, and can really be done by non-developers or "citizen" developers. Due to its benefits, many companies have adopted a low code strategy to supplement their existing software engineering offerings, where possible, specially where subject matter experts in the business could leverage low code in a self-service capacity, if the requirements aren't too complex.

Oracle APEX is available at no extra cost with your Oracle database, additionally, if you have an Autonomous database (in OCI), APEX (and ORDS - Oracle Rest Data services), already comes available and enabled in the autonomous databases. This allows you to create applications very quickly on top of the data you already have in your database, minimizing data movement, simplifying security and support, and more. For more information regarding APEX, and to try it for free, you can visit https://apex.oracle.com/en/.

I have observed where companies, who already own Oracle Database licenses and have a large footprint in the space, bypass Oracle APEX and jump on paid low code offerings from other vendors, and whereas this post will not focus heavily on what Oracle APEX is, because it's very well documented as it has been around for over 20 years already, there's definitely content that those trying to jump on APEX or even experienced users may not be aware of, and will be shared here.

The APEX Product Managers are Jayson Hanes and Monica Godoy, you can find them on LinkedIn and follow them for news, etc.


Below you will find information about the APEX Roadmap, training, events, and more:

  1. APEX 23.1 is out, the feature set can be viewed at https://apex.oracle.com/en/platform/features/whats-new-231/.
  2. Past Roadmap and Upcoming Road (see Appendix A)
  3. Training and Certifications (see Appendix B)
  4. Events calendar for APEX: https://apex.oracle.com/pls/apex/r/grand_prix/apex-events/events?session=6298691857842
  5. APEX Office Hours with Oracle (see Appendix C)
  6. APEX Idea Lab (Different from the Cloud Customer Connect Idea Lab) (see Appendix D)
  7. Cost model in OCI (see Appendix E)
Appendix A (Roadmaps)

Past Roadmap:



Upcoming Roadmap (Post 23.1):



Appendix B (Training)

You can try APEX for free at: https://apex.oracle.com/en/

There’s also professional training available, as seen below.


Appendix C (Office Hours)


Appendix D (Ideas)


Appendix E (OCI Cost)


If you own Oracle Databases and want a low code solution that uses data from your Oracle databases primarily (although APEX can connect to other sources via API's and "DB Links"), then APEX is truly your best bet, among all the low code solutions.