Skip to content

Commit

Permalink
update docs: deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
PengJiazhen408 committed Jul 22, 2024
1 parent f7d2533 commit a08107d
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 16 deletions.
Binary file modified docs/sphinx_doc/en/source/_static/developer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 15 additions & 5 deletions docs/sphinx_doc/en/source/tutorial/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,9 +416,10 @@ need to provide the api key of the embedding model for pre-building the index.

- **Chat model**: It is used to reason the suitable API for the user's input. All users of your application need to send api key
of selected chat model to the App-Controller. Then, the chat model will be called by the api key.
- **Embedding model**: For developer of application, you need to provide the api key of the embedding model for pre-building the
index on available apis and other knowledge. For user of your application, the api key of the embedding model will be used to
embed the user's input for searching the most similar knowledge.
- **Embedding model**: For the developer of application, you need to provide the api key of the embedding model for pre-building the
index on available apis and other knowledge. For the user of your application, the api key of the embedding model will be used to
embed the user's input for searching the most similar knowledge.
Note that the embedding model used by the user can only be selected from the embedding models used by the developer to build th index.

You can configure your embedding model by modifying the `embed_model_config` file.
It supports multiple embedding models. Each embedding model will build index for all apis and knowledge independently.
Expand Down Expand Up @@ -468,11 +469,20 @@ http_port = 5000
```

- app: The name of the application.
- app_data_dir: The path of the app data directory, which is used to store the "MetaData","Index","UserData" and others.
- app_data_dir: The path of the app data directory, which is used to store the `MetaData`, `Index`, `UserData` and others.
- enabled_embed_models: The index are dependent on the embedding model. You can specify multiple embedding models separated by
`,`. Each embedding model should be organized as `model_orgnization_name:embedding_model_name`. All indexes will build for each
embedding model separately.
- http_port: The port of the App-Controller server.
More details about the configuration file can be found in the `config.ini` file.

[[Return to the top]](#103-start-en)
## Step4: Start the service

After completing the above configuration, you can start the service by running the following command in a bash.
``` bash
# Start a service via the configured port number.
python server.py
```
Once the service is started, the backend will automatically build/update/load the index files of the konwledge provided in the [data preparation](#step1-data-preparation) and listen to the user requests forwarded from the App.

[[Return to the top]](#deploy-en)
22 changes: 11 additions & 11 deletions docs/sphinx_doc/en/source/tutorial/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

# Introduction

<h3 align="center"><img src="../_static/logo.png" height="64"><br>App-Controller: Allow users to manipulate your app with natural
<h3 align="center"><img src="../_static/logo.png" height="64"><br>App-Controller: Allow users to manipulate your App with natural
language</h3>

<div align="center">

![](https://img.shields.io/badge/python-3.9+-blue)
[![](https://img.shields.io/badge/Docs-English%7C%E4%B8%AD%E6%96%87-blue?logo=markdown)](https://alibaba.github.io/app-controller/en/index.html)
[![](https://img.shields.io/badge/Docs-English%7C%E4%B8%AD%E6%96%87-blue?logo=markdown)](https://alibaba.github.io/App-controller/en/index.html)
![](https://img.shields.io/badge/license-Apache--2.0-black)
![](https://img.shields.io/badge/Contribute-Welcome-green)

Expand Down Expand Up @@ -40,14 +40,14 @@ It aims to integrate and synchronize APIs provided by any applications (APPs) us
> The above image illustrates how App-Controller enhances application interactivity.
> Specifically, the graphic is divided into two parts: the left-half details the traditional process of inquiry and execution when
> completing tasks, while the right-half displays the streamlined workflow with App-Controller's intervention.
> In a traditional scenario, when a user needs to accomplish a task in an app but doesn’t know how to do it, they first ask the
> LLM and receive an answer, then command the app to obtain the result and complete the task.
> In a traditional scenario, when a user needs to accomplish a task in an App but doesn’t know how to do it, they first ask the
> LLM and receive an answer, then command the App to obtain the result and complete the task.
> In contrast, after introducing App-Controller, the user simply inputs their requirement in natural language directly into the
> app to
> get the result and finish the task. With App-Controller's assistance, the app consults the LLM for user intent and learns the
> App to
> get the result and finish the task. With App-Controller's assistance, the App consults the LLM for user intent and learns the
> necessary commands to execute, subsequently returning the result.
- Any application vendor only needs to implement communication interfaces on the app and submit a list of supported APIs to
- Any application vendor only needs to implement communication interfaces on the App and submit a list of supported APIs to
App-Controller, which can independently explore and identify the optimal API call sequence to fulfill user instructions.

App-Controller 's core competency lies in its highly automated API orchestration logic and user-friendly data interaction
Expand Down Expand Up @@ -127,20 +127,20 @@ API calls to fulfill user instructions.

1. **Communication interface**: Application developers need to achieve a **standard communication interface** with the
App-Controller.
2. **Document**: They also need to provide soe **knowledge** to the App-Controller, including the app's available API
2. **Document**: They also need to provide soe **knowledge** to the App-Controller, including the App's available API
documentation
and other optional documents.

### Deploy stage

After starting App-Controller, the app forwards user input to the App-Controller. The App-Controller integrates user input and
After starting App-Controller, the App forwards user input to the App-Controller. The App-Controller integrates user input and
available API
information, interacts with the LLM to select the appropriate API to execute, and determine the task status. Iteratively, the app
information, interacts with the LLM to select the appropriate API to execute, and determine the task status. Iteratively, the App
executes the selected API and returns the execution result to the App-Controller. The App-Controller continues to interact with
the LLM to
make the next decision. The pipeline is terminated when the task has been completed, or failed, and the result is returned to the
user.

After completing these steps, the app can achieve intelligent interaction with users.
After completing these steps, the App can achieve intelligent interaction with users.

[[Return to the top]](#app-controller-en)

0 comments on commit a08107d

Please sign in to comment.