diff --git a/MenuConfig.xml b/MenuConfig.xml index 3516b8572e..dbe03df8a8 100644 --- a/MenuConfig.xml +++ b/MenuConfig.xml @@ -64,6 +64,9 @@ + + + @@ -92,7 +95,6 @@ - diff --git a/concepts/90 AI Features/00 Overview/00 Overview.md b/concepts/90 AI Features/00 Overview/00 Overview.md new file mode 100644 index 0000000000..49539734bf --- /dev/null +++ b/concepts/90 AI Features/00 Overview/00 Overview.md @@ -0,0 +1 @@ +DevExtreme ships with multiple AI-powered capabilities. You can implement any large language model (LLM) that offers REST/client APIs to activate these capabilities. This includes dedicated AI service providers, as well as self-hosted AI agents. \ No newline at end of file diff --git a/concepts/90 AI Features/00 Overview/10 AI-Powered DevExtreme Features.md b/concepts/90 AI Features/00 Overview/10 AI-Powered DevExtreme Features.md new file mode 100644 index 0000000000..517616c98f --- /dev/null +++ b/concepts/90 AI Features/00 Overview/10 AI-Powered DevExtreme Features.md @@ -0,0 +1,6 @@ +DevExtreme includes the following AI-powered features: + +- DataGrid/TreeList - AI Columns +- Form - Smart Paste +- HTML Editor - AI-Powered Text Editing +- Chat - Integration with AI Assistants \ No newline at end of file diff --git a/concepts/90 AI Features/10 aiIntegration Setup/00 aiIntegration Setup.md b/concepts/90 AI Features/10 aiIntegration Setup/00 aiIntegration Setup.md new file mode 100644 index 0000000000..da11e052a8 --- /dev/null +++ b/concepts/90 AI Features/10 aiIntegration Setup/00 aiIntegration Setup.md @@ -0,0 +1,6 @@ +The aiIntegration type powers AI features in the following components: + +- DataGrid +- Form +- HTML Editor +- TreeList \ No newline at end of file diff --git a/concepts/90 AI Features/10 aiIntegration Setup/10 AI Service Provider Requirements.md b/concepts/90 AI Features/10 aiIntegration Setup/10 AI Service Provider Requirements.md new file mode 100644 index 0000000000..8d32cc2120 --- /dev/null +++ b/concepts/90 AI Features/10 aiIntegration Setup/10 AI Service Provider Requirements.md @@ -0,0 +1 @@ +DevExtreme AI-Powered features support all AI service providers that offer REST or client APIs. This includes self-hosted AI agents. \ No newline at end of file diff --git a/concepts/90 AI Features/10 aiIntegration Setup/20 Connect to an AI Service Provider.md b/concepts/90 AI Features/10 aiIntegration Setup/20 Connect to an AI Service Provider.md new file mode 100644 index 0000000000..cfeb5f55c2 --- /dev/null +++ b/concepts/90 AI Features/10 aiIntegration Setup/20 Connect to an AI Service Provider.md @@ -0,0 +1,161 @@ +To use [aiIntegration]() within your project, import the type as follows: + +--- +##### jQuery + + + + + + + + + +To connect to an AI service provider using REST APIs, implement the [fetch API]() to define an AI request in the [sendRequest]() function within **aiIntegration**.**aiProvider**. Use the **fetch** promise within the [Request]() object returned by **sendRequest** as follows: + + + const aiIntegration = new DevExpress.aiIntegration({ + sendRequest(params) { + const promise = fetch('https://example.org/post', { + method: 'POST', + headers: { ... }, // Add custom headers here, including API authentication headers + body: JSON.stringify(params.prompt), + }).then(async (response) => { + const result = await response.json(); + + return result.output || ''; + }) + + return { + promise, + abort: () => { + // Add an abort request + }, + }; + }, + }); + +##### Angular + + + import { AIIntegration } from 'devextreme-angular/common/ai-integration'; + +aaa + + + import { Component } from '@angular/core'; + import { HttpClient, HttpHeaders } from '@angular/common/http'; + import { AIIntegration } from 'devextreme-angular/common/ai-integration'; + // ... + export class AppComponent { + constructor(private http: HttpClient) {} + provider = { + sendRequest: ({ prompt }) => { + const headers = new HttpHeaders({ + // Add any custom headers here + }); + + const body = JSON.stringify({ prompt }); + + const promise = this.http + .post<{ output?: string }>('https://example.org/post', body, { + headers, + signal: controller.signal, + }) + .toPromise() + .then((result) => result.output || ''); + + return { + promise, + abort: () => { + // Add an abort request + }, + }; + }, + }; + aiIntegration = new AIIntegration(provider); + } + +##### Vue + + + + +aaa + + + + +##### React + + + import { AIIntegration } from 'devextreme-react/common/ai-integration'; + +aaa + + + import { AIIntegration } from 'devextreme-react/common/ai-integration'; + + const provider = { + sendRequest: ({ prompt }) => { + const headers = { + 'Content-Type': 'application/json', + // Add any custom headers here + }; + + const promise = fetch('https://example.org/post', { + method: 'POST', + headers, + body: JSON.stringify({ prompt }), + signal: controller.signal, + }) + .then(async (response) => { + const result = await response.json(); + return result.output || ''; + }); + + return { + promise, + abort: () => { + // Add an abort request + }, + }; + }, + }; + const aiIntegration = new AIIntegration(provider); + +--- \ No newline at end of file diff --git a/concepts/90 AI Features/10 aiIntegration Setup/30 Minimal aiIntegration Configuration.md b/concepts/90 AI Features/10 aiIntegration Setup/30 Minimal aiIntegration Configuration.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/concepts/90 AI Features/10 aiIntegration Setup/40 Specify a System Prompt.md b/concepts/90 AI Features/10 aiIntegration Setup/40 Specify a System Prompt.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/concepts/90 AI Features/10 aiIntegration Setup/50 Process Data and Abort Requests.md b/concepts/90 AI Features/10 aiIntegration Setup/50 Process Data and Abort Requests.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/00 DevExpress MCP Server Configuration.md b/concepts/90 AI Features/20 DevExpress MCP Server Configuration/00 DevExpress MCP Server Configuration.md similarity index 100% rename from concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/00 DevExpress MCP Server Configuration.md rename to concepts/90 AI Features/20 DevExpress MCP Server Configuration/00 DevExpress MCP Server Configuration.md diff --git a/concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/10 Why Use the DevExpress MCP Server.md b/concepts/90 AI Features/20 DevExpress MCP Server Configuration/10 Why Use the DevExpress MCP Server.md similarity index 100% rename from concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/10 Why Use the DevExpress MCP Server.md rename to concepts/90 AI Features/20 DevExpress MCP Server Configuration/10 Why Use the DevExpress MCP Server.md diff --git a/concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/20 Prerequisites and Installation.md b/concepts/90 AI Features/20 DevExpress MCP Server Configuration/20 Prerequisites and Installation.md similarity index 100% rename from concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/20 Prerequisites and Installation.md rename to concepts/90 AI Features/20 DevExpress MCP Server Configuration/20 Prerequisites and Installation.md diff --git a/concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/30 Custom Instructions.md b/concepts/90 AI Features/20 DevExpress MCP Server Configuration/30 Custom Instructions.md similarity index 100% rename from concepts/Common/Integration Guides/05 DevExpress MCP Server Configuration/30 Custom Instructions.md rename to concepts/90 AI Features/20 DevExpress MCP Server Configuration/30 Custom Instructions.md