Description of functional characteristics
1. General information
| Parameter | Value |
|---|---|
| Name | Parsewise |
| Rightsholder | Individual entrepreneur Ruslan Khuvazhievich Krylov |
| Purpose | building and running language-model assistants that work in the cloud or inside the customer's own perimeter |
| Users | employees of an organisation who set up and fill projects; customers and employees who talk to the assistant |
| Delivery | installation in the customer's infrastructure or access to the rightsholder's cloud installation |
| Interface languages | Russian, English |
Parsewise is software for building language-model assistants. For every business task a separate project is set up in the dashboard, with its own content, its own access rights and a persona description that sets the assistant's role, tone and the limits of its answers. One installation serves both the customer on a website or in a personal account and the employee on the intranet or in support.
The software talks to the language model through an OpenAI-compatible API. The rightsholder's cloud installation uses models of the Yandex AI Studio service; in an installation inside the customer's perimeter the customer chooses and hosts the model. The embedding model is part of the delivery and works without calling external resources.
2. Scope of application
| Channel | Who asks | Typical tasks |
|---|---|---|
| Website | customer | choosing a product or service, terms, calculations |
| Personal account | customer | product operations, requests, applications |
| Intranet | employee | regulations, reference information, HR and IT requests |
| Support and front office | operator, branch employee | a hint from the regulations during a call, equipment diagnostics |
The assistant can work under the customer's brand: the name, portrait, colours, theme and position of the widget button are set in the project. The project page can open on the customer's own domain: ownership of the domain is confirmed with a DNS record, after which routing and the TLS certificate are configured automatically.
3. Functional characteristics
3.1. Project
A project is a separate perimeter inside one installation, created in the dashboard. No separate infrastructure is needed for each task: an employee of the relevant department sets up a project, fills it and gets a working assistant.
| Component | Content |
|---|---|
| Data | knowledge base, product catalogue, profile catalogue, skills and connectors, dialogues, settings — isolated from other projects |
| Persona | name, portrait, answer rules: tone, style, audience, limits |
| Access | participant roles, invitations, sign-in with a corporate account |
| Channels | embeddable widget, project page, dashboard, API |
3.2. Content
| Entity | Ways to load | Matching with existing records |
|---|---|---|
| Knowledge base files | dragging files into the dashboard, feed by URL | by file name |
| Product catalogue | manually, CSV, XLSX, XLS, XML, YML, YAML, JSON file, feed by URL, API | by SKU |
| Profile catalogue | manually, CSV, XLSX, XLS, XML, YML, YAML, JSON file, feed by URL | by external code |
A knowledge base file feed comes in four kinds: a website crawl (by sitemap.xml or robots.txt, without them a breadth-first crawl), object storage (bucket listing), a web server directory autoindex, and a manifest with a list of links. The kind is detected automatically or set explicitly. Feeds are refreshed daily and on request.
Catalogue fields are mapped automatically with the language model: from a source of arbitrary structure the software picks out meaningful attributes and drops service ones. The structure of the source does not have to be described by hand.
3.3. Sources and formats
| Category | Formats | Processing |
|---|---|---|
| Documents | PDF, DOCX, XLSX, PPTX, TXT, MD, HTML, CSV, JSON | text extraction |
| Audio | MP3, WAV, OGG, FLAC, M4A, WMA, AAC, OPUS | speech recognition |
| Video | MP4, AVI, MOV, WMV, FLV, WEBM, MKV, M4V, MPG, MPEG | speech recognition from the audio track |
| Images and other files | any format except executables and scripts | stored without indexing |
Speech in Russian and English is recognised by the Yandex SpeechKit service. If the service is not connected, audio and video are stored without indexing.
| Limit | Default value |
|---|---|
| File uploaded through the dashboard | up to 50 MB |
| File received from a feed | up to 100 MB |
| Total size of project files | 10 GB |
| Feed from a file directory | up to 1,000 files |
| Website crawl | up to 10,000 pages from the sitemap, up to 400 pages in a breadth-first crawl |
| first 50 pages | |
| PPTX | first 30 slides |
| XLSX | up to 5 sheets and up to 100 rows per sheet |
| CSV | up to 100 rows |
| Text of one document | up to 100,000 characters |
| Audio and the audio track of a video | about 15 minutes |
| Files attached by the user to a question | up to 10 files of 10 MB each, if allowed in the project settings |
3.4. Building an answer
The assistant finds information in the project's knowledge base and catalogues by semantic similarity to the request and streams the answer. An answer can contain text, product cards and profile cards, skill cards and panels, and results of connector tool calls. Attaching the knowledge base files the answer relies on is enabled in the project settings and is off by default.
If the user asks for an operator, the assistant can stop so that an operator joins the dialogue; the stop is enabled in the project settings. A project participant can switch the assistant off in a single dialogue by hand.
3.5. Skills and connectors
A skill is a package in the .skill format with an instruction, trigger phrases and an interface (a card in the answer feed, a panel). The package is added to a project by dragging the file into the dashboard; interface templates are checked and sanitised on upload. Candidate skills are selected by the semantic similarity of the request to the trigger phrases, not by keywords.
A connector is a package of the same format without an interface that gives the assistant access to tools of external systems through Model Context Protocol (MCP) servers or calls to their APIs. One package can combine a skill interface and its own connectors, and then the scenario and the connection travel as one file. Connector authorisation secrets are kept in the project on the server and are not passed to the browser.
Skills are called in two ways: through the language model's function-calling mechanism and by parsing the model's answer. The second way makes it possible to call skills on models that do not support function calling; connector tools are called through function calling.
3.6. Analytics and accounting
A chat, or dialogue, is the user's conversation with the assistant; the software splits a chat into threads — stretches of the conversation about one user question, which the "Questions" block of the dashboard calls branches.
| Mechanism | Content |
|---|---|
| Topic tree | a nested taxonomy of requests; subtopics are separated out automatically as requests accumulate, without manual labelling |
| Questions | typical questions collected from the flow of requests, with a generalised answer; the period is a day, week, month, quarter, half-year or year |
| Ratings | for a dialogue as a whole — from 1 to 5 stars with a comment; for a single answer — on the scale "Bad", "Average", "Good" |
| Accounting | by user seats (project participants) and by resolved questions of visitors and customers, separately or together |
| Export | threads are exported as a CSV table: topic, question, answer, rating, status, number of messages, creation and closing dates |
3.7. Access and protection
| Project role | Rights |
|---|---|
| Owner | full access to all project functions, transfer of ownership |
| Administrator | full access to the project |
| Editor | managing content and assistant settings: persona, skills, connectors, widget; viewing reports |
| Viewer | viewing content and reports |
| Guest | only their own dialogues with the assistant |
Sign-in to the dashboard is by email address and password with address confirmation, through Yandex ID or VK ID, and through a corporate identity provider over OpenID Connect (for example, Keycloak or ADFS); the user is sent to the corporate sign-in by the domain of their email. A participant is invited by a link or by email; the role is set in the invitation and can be changed later.
In the widget the user talks anonymously or is identified with a signed token issued by the customer's website server with the project key or by the corporate identity provider. A project can be limited to identified users only and to a list of domains on which the widget may be placed.
The API is available with tokens of the "Viewer" role (dialogue and search) or the "Editor" role (also product management); a token is shown once, when it is created. Uploading executables and scripts is forbidden. The server container runs as an unprivileged user.
Knowledge base files and dialogue attachments are kept in object storage as private objects: they do not open at a permanent address. To a project participant and a widget user the software issues a signed link to the file with a limited lifetime — by default no more than an hour.
4. Software components
| Component | Purpose | Technology |
|---|---|---|
| API server | receiving requests, authentication, authorisation, search, building the answer, streaming | Python 3.12, FastAPI |
| Queue worker | indexing the knowledge base, crawling sources and feeds, text extraction, speech recognition | Python 3.12, Celery |
| Scheduler | periodic tasks: refreshing feeds, building topics and questions | Python 3.12, Celery |
| Embedding service, indexing | building document vectors | CPU inference server, model inside the image |
| Embedding service, queries | building the query vector, a separate pool | CPU inference server, model inside the image |
| Dashboard | employee web interface; the API server address is set at start-up, without a rebuild | TypeScript, React, Next.js, Node.js 24 |
| Widget | embeddable chat interface; the API server address is given in the embedding configuration | TypeScript, isolated Shadow DOM |
Storage: the main PostgreSQL database for business entities, a separate PostgreSQL vector database with the pgvector extension (1024 dimensions, cosine distance), Redis for cache and queues, object storage for files.
5. Operating conditions
| Parameter | Value |
|---|---|
| Computer type | x86-64 server |
| Operating system | Linux; components are delivered as containers |
| Orchestration | Kubernetes (run in production on version 1.32) |
| Storage | PostgreSQL with the pgvector extension; Redis; S3-compatible object storage |
| Language model | OpenAI-compatible API |
| SMTP relay for address confirmation and invitations | |
| Internet access | not needed when the language model is hosted inside the customer's perimeter, except for speech recognition in audio and video (Yandex SpeechKit) and sign-in through Yandex ID and VK ID, if these functions are on |
| Programming languages | Python, TypeScript, JavaScript |
6. Rightsholder details
| Parameter | Value |
|---|---|
| Rightsholder | Individual entrepreneur Ruslan Khuvazhievich Krylov |
| INN (taxpayer number) | 772373909220 |
| OGRNIP (state registration number) | 322774600593457 |
| Technical support | help@parsewise.ru |
| Pricing | https://parsewise.ru/pricing |
| Privacy policy | https://parsewise.ru/policy/privacy |
| Public offer | https://parsewise.ru/policy/offer |
Test it on your own data
Upload your own documents and catalogue — then ask the assistant the questions people ask you. That is the only test that means anything.
