Просмотр исходного кода

#5406 AI Agents revamp: vector store and AI providers (translations)

Aleksandr Trofimov 7 месяцев назад
Родитель
Сommit
79fc98a496

+ 36 - 0
modules/boonex/english/data/langs/system/en.xml

@@ -2243,6 +2243,7 @@
 
     <string name="_sys_agents_form_field_err_enter"><![CDATA[This field is essential. Please enter something here.]]></string>
     <string name="_sys_agents_form_field_err_select"><![CDATA[This field is essential. Please select something here.]]></string>
+    <string name="_sys_agents_json_field_err"><![CDATA[Invalid JSON format.]]></string>
     <string name="_sys_agents_automators_txt_active"><![CDATA[Active]]></string>
     <string name="_sys_agents_automators_txt_name"><![CDATA[Name]]></string>
     <string name="_sys_agents_automators_txt_type"><![CDATA[Type]]></string>
@@ -2337,7 +2338,42 @@
     <string name="_sys_agents_models_txt_key"><![CDATA[API Key]]></string>
     <string name="_sys_agents_models_txt_params"><![CDATA[Parameters]]></string>
     <string name="_sys_agents_models_txt_added"><![CDATA[Added]]></string>
+    <string name="_sys_agents_models_txt_capabilities"><![CDATA[Capabilities]]></string>
+    <string name="_sys_agents_models_txt_model"><![CDATA[Model]]></string>
     <string name="_sys_agents_models_btn_add"><![CDATA[Add AI Provider]]></string>
+    <string name="_sys_agents_models_popup_edit"><![CDATA[Edit AI provider]]></string>
+    <string name="_sys_agents_models_field_title"><![CDATA[Title]]></string>
+    <string name="_sys_agents_models_field_title_info"><![CDATA[Display name for the AI provider.]]></string>
+    <string name="_sys_agents_models_field_model"><![CDATA[Model]]></string>
+    <string name="_sys_agents_models_field_model_info"><![CDATA[Model identifier used by the provider.]]></string>
+    <string name="_sys_agents_models_field_key"><![CDATA[API Key]]></string>
+    <string name="_sys_agents_models_field_key_info"><![CDATA[API key to authenticate with the provider.]]></string>
+    <string name="_sys_agents_models_field_params"><![CDATA[Parameters]]></string>
+    <string name="_sys_agents_models_field_params_info"><![CDATA[Additional configuration parameters in JSON format.]]></string>
+    <string name="_Duplicate"><![CDATA[Duplicate]]></string>
+    
+    <string name="_sys_agents_vector_store_txt_embedding_provider"><![CDATA[Embedder]]></string>
+    <string name="_sys_agents_vector_store_txt_files_num"><![CDATA[Files]]></string>
+    <string name="_sys_agents_vector_store_popup_files"><![CDATA[Files]]></string>
+    <string name="_sys_agents_vector_store_popup_edit"><![CDATA[Edit vector store]]></string>
+    <string name="_sys_agents_vector_store_field_embedding_provider_id"><![CDATA[Embedding Provider]]></string>
+    <string name="_sys_agents_vector_store_field_embedding_provider_id_info"><![CDATA[Select the embedding provider for this vector store.]]></string>
+    <string name="_sys_agents_vector_store_field_topk"><![CDATA[Top K Results]]></string>
+    <string name="_sys_agents_vector_store_field_topk_info"><![CDATA[Number of top results to return from similarity search.]]></string>
+    <string name="_sys_agents_vector_store_field_params"><![CDATA[Parameters]]></string>
+    <string name="_sys_agents_vector_store_field_params_info"><![CDATA[Additional parameters in JSON format.]]></string>
+    <string name="_sys_agents_vector_store_popup_add_data"><![CDATA[Upload new files]]></string>
+    <string name="_sys_agents_vector_store_field_chunk_size"><![CDATA[Chunk Size]]></string>
+    <string name="_sys_agents_vector_store_field_chunk_size_info"><![CDATA[Number of characters in text chunks for embedding.]]></string>
+    <string name="_sys_agents_vector_store_field_delimeter"><![CDATA[Delimiter]]></string>
+    <string name="_sys_agents_vector_store_field_delimeter_info"><![CDATA[Character or sequence to split text into chunks.]]></string>
+    <string name="_sys_agents_vector_store_field_overlap"><![CDATA[Chunk Overlap]]></string>
+    <string name="_sys_agents_vector_store_field_overlap_info"><![CDATA[Number of overlapping elements between adjacent chunks, determined by the delimeter, for dot - it's bumber of sentences, for space - it's number of words.]]></string>
+    <string name="_sys_agents_vector_store_field_metadata"><![CDATA[Metadata]]></string>
+    <string name="_sys_agents_vector_store_field_metadata_info"><![CDATA[Additional metadata in JSON format for each chunk.]]></string>
+    <string name="_sys_agents_vector_store_field_files"><![CDATA[Files]]></string>
+    <string name="_sys_agents_vector_store_field_files_info"><![CDATA[Data files to upload to the vector store.]]></string>
+    
     <string name="_sys_agents_assistants_txt_active"><![CDATA[Active]]></string>
     <string name="_sys_agents_assistants_txt_name"><![CDATA[Name]]></string>
     <string name="_sys_agents_assistants_txt_model_id"><![CDATA[Model]]></string>

+ 37 - 1
modules/boonex/russian/data/langs/system/ru.xml

@@ -2218,6 +2218,7 @@
 
         <string name="_sys_agents_form_field_err_enter"><![CDATA[Это поле имеет важное значение. Пожалуйста, напишите что-нибудь здесь.]]></string>
         <string name="_sys_agents_form_field_err_select"><![CDATA[Это поле имеет важное значение. Пожалуйста, выберите что-нибудь здесь.]]></string>
+        <string name="_sys_agents_json_field_err"><![CDATA[Неверный формат JSON.]]></string>
         <string name="_sys_agents_automators_txt_active"><![CDATA[Активный]]></string>
         <string name="_sys_agents_automators_txt_name"><![CDATA[Название]]></string>
         <string name="_sys_agents_automators_txt_type"><![CDATA[Тип]]></string>
@@ -2312,7 +2313,42 @@
         <string name="_sys_agents_models_txt_key"><![CDATA[Ключ API]]></string>
         <string name="_sys_agents_models_txt_params"><![CDATA[Параметры]]></string>
         <string name="_sys_agents_models_txt_added"><![CDATA[Добавлено]]></string>
-        <string name="_sys_agents_models_btn_add"><![CDATA[Добавить поставщика ИИ]]></string>
+        <string name="_sys_agents_models_txt_capabilities"><![CDATA[Возможности]]></string>
+        <string name="_sys_agents_models_txt_model"><![CDATA[Модель]]></string>
+        <string name="_sys_agents_models_btn_add"><![CDATA[Добавить провайдера ИИ]]></string>
+        <string name="_sys_agents_models_popup_edit"><![CDATA[Редактировать провайдера ИИ]]></string>
+        <string name="_sys_agents_models_field_title"><![CDATA[Название]]></string>
+        <string name="_sys_agents_models_field_title_info"><![CDATA[Отображаемое имя провайдера ИИ.]]></string>
+        <string name="_sys_agents_models_field_model"><![CDATA[Модель]]></string>
+        <string name="_sys_agents_models_field_model_info"><![CDATA[Идентификатор модели, используемый ИИ провайдером.]]></string>
+        <string name="_sys_agents_models_field_key"><![CDATA[Ключ API]]></string>
+        <string name="_sys_agents_models_field_key_info"><![CDATA[Ключ API для аутентификации у провайдера ИИ.]]></string>
+        <string name="_sys_agents_models_field_params"><![CDATA[Параметры]]></string>
+        <string name="_sys_agents_models_field_params_info"><![CDATA[Дополнительные параметры конфигурации в формате JSON.]]></string>
+        <string name="_Duplicate"><![CDATA[Дублировать]]></string>
+        
+        <string name="_sys_agents_vector_store_txt_embedding_provider"><![CDATA[Ембеддер]]></string>
+        <string name="_sys_agents_vector_store_txt_files_num"><![CDATA[Файлы]]></string>
+        <string name="_sys_agents_vector_store_popup_files"><![CDATA[Файлы]]></string>
+        <string name="_sys_agents_vector_store_popup_edit"><![CDATA[Редактировать хранилище векторов]]></string>
+        <string name="_sys_agents_vector_store_field_embedding_provider_id"><![CDATA[Провайдер эмбеддинга]]></string>
+        <string name="_sys_agents_vector_store_field_embedding_provider_id_info"><![CDATA[Выберите провайдера эмбеддинга для этого хранилища векторов.]]></string>
+        <string name="_sys_agents_vector_store_field_topk"><![CDATA[Топ K результатов]]></string>
+        <string name="_sys_agents_vector_store_field_topk_info"><![CDATA[Количество лучших результатов для возврата из поиска по сходству.]]></string>
+        <string name="_sys_agents_vector_store_field_params"><![CDATA[Параметры]]></string>
+        <string name="_sys_agents_vector_store_field_params_info"><![CDATA[Дополнительные параметры в формате JSON.]]></string>
+        <string name="_sys_agents_vector_store_popup_add_data"><![CDATA[Загрузить новые файлы]]></string>
+        <string name="_sys_agents_vector_store_field_chunk_size"><![CDATA[Размер фрагментов текста]]></string>
+        <string name="_sys_agents_vector_store_field_chunk_size_info"><![CDATA[Размер текстовых фрагментов для эмбеддинга (число символов).]]></string>
+        <string name="_sys_agents_vector_store_field_delimeter"><![CDATA[Разделитель]]></string>
+        <string name="_sys_agents_vector_store_field_delimeter_info"><![CDATA[Символ или последовательность для разделения текста на фрагменты.]]></string>
+        <string name="_sys_agents_vector_store_field_overlap"><![CDATA[Перекрытие фрагментов]]></string>
+        <string name="_sys_agents_vector_store_field_overlap_info"><![CDATA[Количество перекрывающихся элементов между соседними фрагментами, для точки - это число предложений, для пробела - это число слов.]]></string>
+        <string name="_sys_agents_vector_store_field_metadata"><![CDATA[Метаданные]]></string>
+        <string name="_sys_agents_vector_store_field_metadata_info"><![CDATA[Дополнительные метаданные в формате JSON для каждого фрагмента.]]></string>
+        <string name="_sys_agents_vector_store_field_files"><![CDATA[Файлы]]></string>
+        <string name="_sys_agents_vector_store_field_files_info"><![CDATA[Файлы данных для загрузки в хранилище векторов.]]></string>
+        
         <string name="_sys_agents_assistants_txt_active"><![CDATA[Активный]]></string>
         <string name="_sys_agents_assistants_txt_name"><![CDATA[Название]]></string>
         <string name="_sys_agents_assistants_txt_model_id"><![CDATA[Модель]]></string>

+ 4 - 0
studio/template/scripts/BxBaseStudioAgentsModels.php

@@ -124,6 +124,7 @@ class BxBaseStudioAgentsModels extends BxDolStudioAgentsModels
                     'name' => 'title',
                     'required' => '1',
                     'caption' => _t('_sys_agents_models_field_title'),
+                    'info' => _t('_sys_agents_models_field_title_info'),
                     'value' => isset($aModel['title']) ? $aModel['title'] : '',
                     'required' => '1',
                     'checker' => [
@@ -139,6 +140,7 @@ class BxBaseStudioAgentsModels extends BxDolStudioAgentsModels
                     'type' => 'text',
                     'name' => 'model',
                     'caption' => _t('_sys_agents_models_field_model'),
+                    'info' => _t('_sys_agents_models_field_model_info'),
                     'value' => isset($aModel['model']) ? $aModel['model'] : '',
                     'db' => [
                         'pass' => 'Xss',
@@ -148,6 +150,7 @@ class BxBaseStudioAgentsModels extends BxDolStudioAgentsModels
                     'type' => 'text',
                     'name' => 'key',
                     'caption' => _t('_sys_agents_models_field_key'),
+                    'info' => _t('_sys_agents_models_field_key_info'),
                     'value' => isset($aModel['key']) ? $aModel['key'] : '',
                     'db' => [
                         'pass' => 'Xss',
@@ -157,6 +160,7 @@ class BxBaseStudioAgentsModels extends BxDolStudioAgentsModels
                     'type' => 'textarea',
                     'name' => 'params_user',
                     'caption' => _t('_sys_agents_models_field_params'),
+                    'info' => _t('_sys_agents_models_field_params_info'),
                     'value' => $sParams,
                     'checker' => [
                         'func' => 'Json',

+ 16 - 16
studio/template/scripts/BxBaseStudioAgentsVectorStore.php

@@ -63,7 +63,7 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
         $oForm = new BxTemplFormView($aForm);
         $oForm->initChecker();
 
-        if($oForm->isSubmittedAndValid()) {
+        if($oForm->isSubmittedAndValid() && isset($_FILES['files'])) {
             $iFilesAdded = 0;
             foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name) {
                 $sFileName = $_FILES['files']['name'][$key];
@@ -201,8 +201,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'embedding_provider_id' => [
                     'type' => 'select',
                     'name' => 'embedding_provider_id',
-                    'caption' => '_sys_agents_vector_store_field_embedding_provider_id',
-                    'info' => '_sys_agents_vector_store_field_embedding_provider_id_info',
+                    'caption' => _t('_sys_agents_vector_store_field_embedding_provider_id'),
+                    'info' => _t('_sys_agents_vector_store_field_embedding_provider_id_info'),
                     'value' => !empty($aVectorStore['embedding_provider_id']) ? $aVectorStore['embedding_provider_id'] : '',
                     'values' => $aEmbeddingProviders,
                     'db' => [
@@ -212,8 +212,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'topk' => [
                     'type' => 'text',
                     'name' => 'topk',
-                    'caption' => '_sys_agents_vector_store_field_topk',
-                    'info' => '_sys_agents_vector_store_field_topk_info',
+                    'caption' => _t('_sys_agents_vector_store_field_topk'),
+                    'info' => _t('_sys_agents_vector_store_field_topk_info'),
                     'required' => true,
                     'value' => !empty($aVectorStore['topk']) ? $aVectorStore['topk'] : '',
                     'db' => [
@@ -223,8 +223,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'params_user' => [
                     'type' => 'textarea',
                     'name' => 'params_user',
-                    'caption' => '_sys_agents_vector_store_field_params',
-                    'info' => '_sys_agents_vector_store_field_params_info',
+                    'caption' => _t('_sys_agents_vector_store_field_params'),
+                    'info' => _t('_sys_agents_vector_store_field_params_info'),
                     'required' => false,
                     'value' => !empty($aVectorStore['params_user']) ? $aVectorStore['params_user'] : '',
                     'checker' => [
@@ -269,8 +269,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'chunk_size' => [
                     'type' => 'text',
                     'name' => 'chunk_size',
-                    'caption' => '_sys_agents_vector_store_field_chunk_size',
-                    'info' => '_sys_agents_vector_store_field_chunk_size_info',
+                    'caption' => _t('_sys_agents_vector_store_field_chunk_size'),
+                    'info' => _t('_sys_agents_vector_store_field_chunk_size_info'),
                     'required' => true,
                     'value' => 512,
                     'db' => [
@@ -280,8 +280,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'delimeter' => [
                     'type' => 'text',
                     'name' => 'delimeter',
-                    'caption' => '_sys_agents_vector_store_field_delimeter',
-                    'info' => '_sys_agents_vector_store_field_chunk_size_info',
+                    'caption' => _t('_sys_agents_vector_store_field_delimeter'),
+                    'info' => _t('_sys_agents_vector_store_field_delimeter_info'),
                     'required' => true,
                     'value' => '.',
                     'db' => [
@@ -291,8 +291,8 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'overlap' => [
                     'type' => 'text',
                     'name' => 'overlap',
-                    'caption' => '_sys_agents_vector_store_field_overlap',
-                    'info' => '_sys_agents_vector_store_field_chunk_size_info',
+                    'caption' => _t('_sys_agents_vector_store_field_overlap'),
+                    'info' => _t('_sys_agents_vector_store_field_overlap_info'),
                     'required' => true,
                     'value' => 2,
                     'db' => [
@@ -302,13 +302,13 @@ class BxBaseStudioAgentsVectorStore extends BxDolStudioAgentsVectorStore
                 'metadata' => [
                     'type' => 'textarea',
                     'name' => 'metadata',
-                    'caption' => '_sys_agents_vector_store_field_metadata',
-                    'info' => '_sys_agents_vector_store_field_chunk_size_info',
+                    'caption' => _t('_sys_agents_vector_store_field_metadata'),
+                    'info' => _t('_sys_agents_vector_store_field_metadata_info'),
                     'required' => false,
                     'checker' => [
                         'func' => 'Json',
                         'params' => ['allow_empty' => true],
-                        'error' => _t('_sys_agents_vector_store_json_field_err'),
+                        'error' => _t('_sys_agents_json_field_err'),
                     ],
                     'db' => [
                         'pass' => 'All'