Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 9 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -105,5 +105,13 @@
}
}
},
]
],
"files.associations": {
"sc_event_subscription.h": "c",
"sc_monitor_private.h": "c",
"sc_types.h": "c",
"sc_list.h": "c",
"sc_memory_params.h": "c",
"sc_mutex.h": "c"
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ To get started, check out our [quick start guide](https://ostis-ai.github.io/sc-

```sh
# make sure you're using python 3.12
pip3 install mkdocs mkdocs-material
pip3 install mkdocs mkdocs-material mkdocs-i18n
mkdocs serve
# and open http://127.0.0.1:8000/ in your browser
```
Expand Down
71 changes: 71 additions & 0 deletions docs/build/config.ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
### Пример файла конфигурации

```ini
[sc-memory]
# Максимальное количество сегментов. По умолчанию это 1000.
# Помните, что размер одного sc-сегмента составляет 3932144 байта. Размер 1000 сегментов составляет 4 ГБ. max_loaded_segments = 1000

# Если оно равно true, то sc-memory использует минимум между количеством физических ядер и `max_events_and_agents_threads`.
limit_max_threads_by_max_physical_cores = true
# Максимальное количество потоков, которые можно использовать в обработчике событий и агентов. По умолчанию это 32, если `limit_max_threads_by_max_physical_cores` имеет значение `true` или, в противном случае, это номер ядра процессора устройства.
max_events_and_agents_threads = 32

# Период (в секундах) сохранения статистики sc-памяти. По умолчанию это 3600.
dump_memory_ period = 3600
# Логическое значение, указывающее на включение дампа sc-памяти.
dump_memory = true
# Период (в секундах) обновления статистики sc-memory. По умолчанию это 1800.
dump_memory_statistics_ period = 1800
# Логическое значение, указывающее на включение дампа статистики sc-памяти.
dump_memory_statistics = true

# Путь к папке со скомпилированными бинарными файлами базы знаний. По умолчанию оно пусто.
storage = /path/to/kb.bin
# Список путей к каталогам с расширениями разделяемых библиотек sc-памяти, разделенных точкой с запятой.
extensions = /path/to/sc-machine/bin/extensions_1;/path/to/sc-machine/bin/extensions_2;...

# Тип журнала sc-памяти. Он может быть `File` или `Console`.
log_type = File
# Журнала sc-памяти.
log_file = /path/to/sc-machine/log/sc-server.log
# Уровень журнала sc-памяти. # Он может быть `Debug`, `Info`, `Warning` или `Error` также.
log_level = Info

# Логическое значение, указывающее на загрузку всех sc-элементов в одну общую sc-структуру с системным идентификатором `result_structure`.
init_memory_generated_upload = false
init_memory_generated_structure = result_structure

# Максимальное количество каналов для разделения файловой памяти на разделы. По умолчанию это 1000.
max_strings_channels = 1000
# Максимальный размер раздела файловой памяти. По умолчанию это 100000.
max_strings_channel_size = 100000
# Максимальный размер строк, которые можно найти по подстроке. По умолчанию это 1000.
max_searchable_string_size = 1000
# Разделители, используемые для разделения строк на токены, чтобы найти эту строку по подстрокам ее токенов. По умолчанию это «_».
# Если поиск по подстроке не требуется, установите для этого значения значение «», чтобы повысить максимальную производительность при связывании и поиске строк.
term_separators = " _"
# Если поиск по подстроке не требуется, установите для этого значения значение «false», чтобы повысить максимальную производительность при связывании строк.
search_by_substring = true

[sc-server]
# Данные сокета sc-сервера.
host = 127.0.0.1
port = 8090

# Режим sc-сервера для параллельного вызова всех действий ввода. По умолчанию он true.
parallel_actions = true

# Тип журнала sc-сервера. Это может быть `File` или `Console`.
log_type = File
Файл журнала sc-сервера
log_file = /path/to/sc-machine/log/sc-server.log
# Уровень журнала sc-сервера. Это может быть `Debug`, `Info`, `Warning` или `Error` также.
log_level = Info

[sc-builder]
# Путь к каталогу с источниками базы знаний (.scs, .gwf) или к файлу <repo-name>.path
input = kb
# Путь к папке со скомпилированными бинарными файлами базы знаний. По умолчанию она пуста.
output = kb.bin
```
**Примечание: Если вы используете относительные пути, они будут разрешены на основе местоположения файла конфигурации.**
1 change: 1 addition & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ See documentation, to learn more about using new API.

### Added

- RU documentation for core and extended API
- `SearchLinksByContentSubstring` method with `ScLinkFilter` parameter
- `ScLinkFilter` class to specify search criteria for sc-links
- Intro for documentation
Expand Down
54 changes: 54 additions & 0 deletions docs/index.ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Documentation

Welcome to the [sc-machine](https://github.com/ostis-ai/sc-machine) documentation! This comprehensive guide is designed to help you navigate the features, functionalities, and applications of sc-machine, a C++ software package that emulates semantic computer behavior through the storage and processing of knowledge in a semantic network.

## What is sc-machine?

At its core, sc-machine operates as a **graph database management system**, enabling users to efficiently store, retrieve, and manipulate *knowledge graphs* in common shared memory known as *sc-memory*. By leveraging an agent-based approach, it processes these graphs to facilitate complex tasks and workflows. The underlying technology is grounded in the [**OSTIS Technology**](https://github.com/ostis-ai), which allows for the representation of both declarative and procedural knowledge using a unified language known as *SC-code (Semantic Computer code)*.

Table of contents:

- [Quick Start](quick_start.md) - *get up and running with sc-machine quickly*
- [Docker](docker.md) - *get up and running with sc-machine in docker*
- **User Guides** - *detailed instructions on implementing agents*
* C++ Guides - *guidelines for implementing agents on C++*
* [C++ Simple Guide for Implementing Agent](sc-memory/api/cpp/guides/simple_guide_for_implementing_agent.md)
* [Migrate to New Agent API](sc-tools/migrate_to_new_agent_api.md) - *description of script that can be used to migrate to new C++ Agents API*
- **API** - *comprehensive documentation for C++, Python, and TypeScript APIs*
* C++ API - *detailed guides on using the core and extended APIs for interacting with sc-memory*
* [C++ Core API](sc-memory/api/cpp/core/api.md) - *documentation of C++ core API for creating, retrieving and erasing sc-elements in sc-memory*
* C++ Extended API - *documentation of C++ extended API for manipulating with system identifiers of sc-elements and sc-templates*
* [C++ System Identifier API](sc-memory/api/cpp/extended/helper_api.md) - *documentation of C++ extended API for manipulating with system identifiers of sc-elements*
* [C++ ScTemplate API](sc-memory/api/cpp/extended/template_api.md) - *documentation of C++ extended API for creating and retrieving graphs (it is very useful when you want to work big sc-constructions)*
* [C++ User Permissions API](sc-memory/api/cpp/extended/permissions_api.md) - *documentation of handling users and their permissions in knowledge base*
* C++ Agents API - *documentation of C++ Agents API for creating agents*
* [C++ Events API](sc-memory/api/cpp/extended/agents/events.md) - *enables developers to create and manage events within the sc-machine, allowing agents to respond dynamically to various triggers*
* [C++ Event Subscriptions API](sc-memory/api/cpp/extended/agents/event_subscriptions.md) - *details how agents can subscribe to specific events and receive notifications when those events occur*
* [C++ Waiters API](sc-memory/api/cpp/extended/agents/waiters.md) - *allows developers to implement wait conditions that pause agent execution until specified conditions are met or events are triggered*
* [C++ Keynodes API](sc-memory/api/cpp/extended/agents/keynodes.md) - *provides functionality for creating, retrieving, and manipulating keynodes, which represent significant concepts within the knowledge graph*
* [C++ Actions API](sc-memory/api/cpp/extended/agents/actions.md) - *outlines how to define and initiate actions that agents can perform, detailing their arguments and results*
* [C++ Agents API](sc-memory/api/cpp/extended/agents/agents.md) - *focuses on agent creation and management*
* [C++ Agent Context API](sc-memory/api/cpp/extended/agents/agent_context.md) - *explains how to manage the context in which agents operate*
* [C++ Modules API](sc-memory/api/cpp/extended/agents/modules.md) - *describes how to register agents in an application*
* Python API - *documentation on using the Python client for interacting with sc-memory*
* [Python Core API](https://github.com/ostis-ai/py-sc-client) - *documentation of Python core API for creating, retrieving and erasing sc-elements and sc-events in sc-memory*
* [Python Extended API](https://github.com/ostis-ai/py-sc-kpm) - *documentation of Python extended API for manipulating with large graphs*
* TypeScript API - *documentation on using the TypeScript client for interacting with sc-memory*
* [TypeScript Core API](https://github.com/ostis-ai/ts-sc-client) - *documentation of TypeScript core API for creating, retrieving and erasing sc-elements and sc-events in sc-memory*
* [sc-element Types](scs/sc_element_types.md) - *detailed description of supported element types*
* [SCs-code](scs/scs.md) - *documentation on SCs Language with examples*
- **Tools** - *information on various tools that enhance your experience with sc-machine*
* [Knowledge Base Builder](sc-tools/sc_builder.md) - *description of options of sc-builder for knowledge base sources*
* [Knowledge Base Repo File](sc-tools/kb_repo_file.md) - *description of configuration of knowledge base sources*
* [sc-machine Runner](sc-tools/sc_machine.md) - *description of options of sc-machine runner*
- **Build Instructions** - *guidelines for building the project, configuring settings*
* [Quick Start for Developers](build/quick_start.md) - *get up and start developing sc-machine quickly*
* [Build System](build/build_system.md) - *how to build the project and use it as a library*
* [CMake Flags](build/cmake_flags.md) - *description of CMake flags used to configure sc-machine*
* [Configuration File](build/config.md) - *description of a configuration file of sc-machine*
- **Development** - *guidelines for contributing to development*
* [Contributing Guide](https://github.com/ostis-ai/sc-machine/blob/main/CONTRIBUTING.md) - *guide for those who wants to make contribution into sc-machine*
* [Code Style Guide](dev/codestyle.md) - *guide for those who wants to write code for sc-machine*
* [Dev Container](dev/devcontainer.md) - *guide for those who wants to develop sc-machine via docker*
- [License](https://github.com/ostis-ai/sc-machine/blob/main/COPYING.MIT)
- [Changelog](changelog.md)
Loading