mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACS-8201] Knowledge Retrieval - getting AI response for one or more selected files (#10229)
* [ACS-8202] basic flow getting ai response for one or more selected files (#9944) * ACS-8202 Getting list of agents * ACS-8202 Mocked agents, used base api from hxi connector * ACS-8202 Search Ai service * ACS-8202 Small correction and mocked data * ACS-8202 Renamed variable * ACS-8202 Added documentation * ACS-8202 Addressed PR comments * ACS-8202 Type change * ACS-8202 Reverted unwatend change * ACS-8202 Reverted unwanted change * ACS-8201 Small correction after rebasing with Angular 15 * [ACS-8398] Unit tests for agents and search ai (#9974) * ACS-8398 Unit tests for search ai api and agents api * ACS-8398 Unit tests for getAnswer function from SearchAiApi, corrections for unit tests for SearchAiApi and AgentsApi * ACS-8398 Unit tests for SearchAiService and AgentService * [ACS-8210] Agent basic details popup (#9956) * [ACS-8573] Allow user to ask question without file selection * [ACS-8312] Display warning about losing response (#10059) * [ACS-8312] Display warning about losing response * [ACS-8312] Display warning about losing response - fixes * [ACS-8432] Sending all file types to HX instead of only the text file types (#10087) * ACS-8201 Fixed issues after rebase * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page (#10132) * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page - review fixes * [ACS-8588] Navigation is triggered twice when leaving Knowledge Retrieval page - review fixes 2 * [ACS-8399] Integrate all changes with backend (#10163) * Answers endpoint fix (#10176) * [ACS-8664] generic question redirection to hx insight (#10174) * ACS-8664 Loading HX insight url * ACS-8664 Added documentation for loading config of Knowledge Retrieval * ACS-8664 Unit tests * ACS-8664 Fixed unit tests * ACS-8664 Fixed unit tests after rebase * ACS-8664 Addressed comment * ACS-8201 Fixed issues after rebase * [ACS-8695] Getting Agent avatar (#10189) * [ACS-8695] Getting Agent avatar * [ACS-8695] Getting Agent avatar - on image load error * [ACS-8695] Getting Agent avatar - removed getAgentAvatar call (#10209) * [ACS-8201] Review fixes --------- Co-authored-by: AleksanderSklorz <115619721+AleksanderSklorz@users.noreply.github.com> Co-authored-by: Aleksander Sklorz <Aleksander.Sklorz@hyland.com>
This commit is contained in:
87
lib/js-api/src/api/content-rest-api/docs/AgentsApi.md
Normal file
87
lib/js-api/src/api/content-rest-api/docs/AgentsApi.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# AgentsApi
|
||||
|
||||
| Method | HTTP request | Description |
|
||||
|-----------------------------------|----------------------------------------------|--------------------------|
|
||||
| [getAgents](#getAgents) | **GET** /agents | Gets all agents. |
|
||||
|
||||
## getAgents
|
||||
|
||||
Gets all agents.
|
||||
A paginated list is returned in the response body. For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"list": {
|
||||
"pagination": {
|
||||
"count": 2,
|
||||
"hasMoreItems": false,
|
||||
"totalItems": 2,
|
||||
"skipCount": 0,
|
||||
"maxItems": 100
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"entry": {
|
||||
"id": "Some id",
|
||||
"name": "Some name",
|
||||
"description": "Some description",
|
||||
"avatarUrl": "Some avatar url"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example**
|
||||
|
||||
```javascript
|
||||
import { AlfrescoApi, AgentsApi } from '@alfresco/js-api';
|
||||
|
||||
const alfrescoApi = new AlfrescoApi(/*..*/);
|
||||
const agentsApi = new AgentsApi(alfrescoApi);
|
||||
|
||||
agentsApi.getAgents().then((agents) => {
|
||||
console.log('API called successfully. Returned data: ' + agents);
|
||||
});
|
||||
```
|
||||
|
||||
**Return type**: [AgentPaging](#AgentPaging)
|
||||
|
||||
# Models
|
||||
|
||||
## AgentPaging
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|------|-------------------------------------|
|
||||
| list | [AgentPagingList](#AgentPagingList) |
|
||||
|
||||
## AgentPagingList
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|----------------|-----------------------------|
|
||||
| **pagination** | [Pagination](Pagination.md) |
|
||||
| **entries** | [AgentEntry[]](#AgentEntry) |
|
||||
|
||||
## AgentEntry
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|-----------|-----------------|
|
||||
| **entry** | [Agent](#Agent) |
|
||||
|
||||
## Agent
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type | Description |
|
||||
|-----------------|-----------|-------------------------------|
|
||||
| **id** | string | Agent id |
|
||||
| **name** | string | Agent name |
|
||||
| **description** | string | Agent description |
|
||||
| **avatarUrl** | string | (optional) Agent avatar image |
|
199
lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md
Normal file
199
lib/js-api/src/api/content-rest-api/docs/SearchAiApi.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# SearchAiApi
|
||||
|
||||
| Method | HTTP request | Description |
|
||||
|-------------------------|----------------------------|--------------------------------------------|
|
||||
| [ask](#ask) | **GET** /questions | Ask a question to the AI. |
|
||||
| [getAnswer](#getAnswer) | **GET** /answers/-default- | Get an answer to specific question. |
|
||||
| [getConfig](#getConfig) | **GET** /config/-default- | Get the knowledge retrieval configuration. |
|
||||
|
||||
## ask
|
||||
|
||||
Ask a question to the AI.
|
||||
A list is returned in the response body. For example:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"question": "Some question",
|
||||
"questionId": "Some question id",
|
||||
"restrictionQuery": "Some restriction query"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**Example**
|
||||
|
||||
```javascript
|
||||
import { AlfrescoApi, AgentsApi } from '@alfresco/js-api';
|
||||
|
||||
const alfrescoApi = new AlfrescoApi(/*..*/);
|
||||
const searchAiApi = new SearchAiApi(alfrescoApi);
|
||||
|
||||
searchAiApi.ask([{
|
||||
question: 'Some question',
|
||||
restrictionQuery: 'Some restriction query',
|
||||
agentId: 'Some agent id'
|
||||
}]).then((questionInformation) => {
|
||||
console.log('API called successfully. Returned data: ' + questionInformation);
|
||||
});
|
||||
```
|
||||
**Parameters**
|
||||
|
||||
| Name | Type | Description |
|
||||
|---------------|---------------------------------------|-----------------------|
|
||||
| **questions** | [QuestionRequest](#QuestionRequest)[] | The questions to ask. |
|
||||
|
||||
**Return type**: [QuestionModel](#QuestionModel)[]
|
||||
|
||||
## getAnswer
|
||||
|
||||
Get an answer to specific question.
|
||||
A paginated list is returned in the response body. For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"list": {
|
||||
"pagination": {
|
||||
"count": 2,
|
||||
"hasMoreItems": false,
|
||||
"totalItems": 2,
|
||||
"skipCount": 0,
|
||||
"maxItems": 100
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"entry": {
|
||||
"answer": "Some answer",
|
||||
"questionId": "Some question id",
|
||||
"references": [
|
||||
{
|
||||
"referenceId": "Some reference id",
|
||||
"referenceText": "Some reference text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example**
|
||||
|
||||
```javascript
|
||||
import { AlfrescoApi, AgentsApi } from '@alfresco/js-api';
|
||||
|
||||
const alfrescoApi = new AlfrescoApi(/*..*/);
|
||||
const searchAiApi = new SearchAiApi(alfrescoApi);
|
||||
|
||||
searchAiApi.getAnswer('some question id').then((answer) => {
|
||||
console.log('API called successfully. Returned data: ' + answer);
|
||||
});
|
||||
```
|
||||
**Parameters**
|
||||
|
||||
| Name | Type | Description |
|
||||
|----------------|--------|----------------------------------------------|
|
||||
| **questionId** | string | The ID of the question to get an answer for. |
|
||||
|
||||
**Return type**: [AiAnswerEntry](#AiAnswerEntry)
|
||||
|
||||
## getConfig
|
||||
|
||||
Get the knowledge retrieval configuration. For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"entry": {
|
||||
"knowledgeRetrievalUrl": "https://some-url"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example**
|
||||
|
||||
```javascript
|
||||
import { AlfrescoApi, AgentsApi } from '@alfresco/js-api';
|
||||
|
||||
const alfrescoApi = new AlfrescoApi(/*..*/);
|
||||
const searchAiApi = new SearchAiApi(alfrescoApi);
|
||||
|
||||
searchAiApi.getConfig().then((answer) => {
|
||||
console.log('API called successfully. Returned data: ', answer.entry.knowledgeRetrievalUrl);
|
||||
});
|
||||
```
|
||||
|
||||
**Return type**: [KnowledgeRetrievalConfigEntry](#KnowledgeRetrievalConfigEntry)
|
||||
|
||||
# Models
|
||||
|
||||
## AiAnswerEntry
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|-----------|-----------------------|
|
||||
| **entry** | [AiAnswer](#AiAnswer) |
|
||||
|
||||
## AiAnswer
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|----------------|-------------------------------------------|
|
||||
| **answer** | string |
|
||||
| **questionId** | string |
|
||||
| **references** | [AiAnswerReference](#AiAnswerReference)[] |
|
||||
|
||||
## AiAnswerReference
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|-------------------|--------|
|
||||
| **referenceId** | string |
|
||||
| **referenceText** | string |
|
||||
|
||||
## QuestionModel
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|----------------------|------------------|
|
||||
| **question** | string |
|
||||
| **questionId** | string |
|
||||
| **restrictionQuery** | RestrictionQuery |
|
||||
|
||||
## RestrictionQuery
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|--------------|----------|
|
||||
| **nodesIds** | string[] |
|
||||
|
||||
## QuestionRequest
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|--------------|----------|
|
||||
| **question** | string |
|
||||
| **nodeIds** | string[] |
|
||||
| **agentId** | string |
|
||||
|
||||
## KnowledgeRetrievalConfigEntry
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|-------|-------------------------------------------------------|
|
||||
| entry | [KnowledgeRetrievalConfig](#KnowledgeRetrievalConfig) |
|
||||
|
||||
## KnowledgeRetrievalConfig
|
||||
|
||||
**Properties**
|
||||
|
||||
| Name | Type |
|
||||
|-----------------------|--------|
|
||||
| knowledgeRetrievalUrl | string |
|
Reference in New Issue
Block a user