mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-12 19:18:59 +08:00
Updated obsolete faqs (#3575)
### What problem does this PR solve? ### Type of change - [x] Documentation Update
This commit is contained in:
parent
482c1b59c8
commit
811c49d7a2
@ -77,7 +77,7 @@ The [.env](./.env) file contains important environment variables for Docker.
|
|||||||
|
|
||||||
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
||||||
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
||||||
- Embedded embedding models:
|
- Built-in embedding models:
|
||||||
- `BAAI/bge-large-zh-v1.5`
|
- `BAAI/bge-large-zh-v1.5`
|
||||||
- `BAAI/bge-reranker-v2-m3`
|
- `BAAI/bge-reranker-v2-m3`
|
||||||
- `maidalun1020/bce-embedding-base_v1`
|
- `maidalun1020/bce-embedding-base_v1`
|
||||||
@ -117,6 +117,11 @@ The [.env](./.env) file contains important environment variables for Docker.
|
|||||||
- `MACOS`
|
- `MACOS`
|
||||||
Optimizations for MacOS. It is disabled by default. You can uncomment this line if your OS is MacOS.
|
Optimizations for MacOS. It is disabled by default. You can uncomment this line if your OS is MacOS.
|
||||||
|
|
||||||
|
### Maximum file size
|
||||||
|
|
||||||
|
- `MAX_CONTENT_LENGTH`
|
||||||
|
The maximum file size for each uploaded file, in bytes. You can uncomment this line if you wish to change 128M file size limit.
|
||||||
|
|
||||||
## 🐋 Service configuration
|
## 🐋 Service configuration
|
||||||
|
|
||||||
[service_conf.yaml](./service_conf.yaml) specifies the system-level configuration for RAGFlow and is used by its API server and task executor. In a dockerized setup, this file is automatically created based on the [service_conf.yaml.template](./service_conf.yaml.template) file (replacing all environment variables by their values).
|
[service_conf.yaml](./service_conf.yaml) specifies the system-level configuration for RAGFlow and is used by its API server and task executor. In a dockerized setup, this file is automatically created based on the [service_conf.yaml.template](./service_conf.yaml.template) file (replacing all environment variables by their values).
|
||||||
@ -154,4 +159,4 @@ The [.env](./.env) file contains important environment variables for Docker.
|
|||||||
- `api_key`: The API key for the specified LLM. You will need to apply for your model API key online.
|
- `api_key`: The API key for the specified LLM. You will need to apply for your model API key online.
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|
> If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|
@ -64,7 +64,7 @@ The [.env](https://github.com/infiniflow/ragflow/blob/main/docker/.env) file con
|
|||||||
### MySQL
|
### MySQL
|
||||||
|
|
||||||
- `MYSQL_PASSWORD`
|
- `MYSQL_PASSWORD`
|
||||||
The password for MySQL.
|
The password for MySQL.
|
||||||
- `MYSQL_PORT`
|
- `MYSQL_PORT`
|
||||||
The port used to expose the MySQL service to the host machine, allowing **external** access to the MySQL database running inside the Docker container. Defaults to `5455`.
|
The port used to expose the MySQL service to the host machine, allowing **external** access to the MySQL database running inside the Docker container. Defaults to `5455`.
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ The [.env](https://github.com/infiniflow/ragflow/blob/main/docker/.env) file con
|
|||||||
- `MINIO_PORT`
|
- `MINIO_PORT`
|
||||||
The port used to expose the MinIO API service to the host machine, allowing **external** access to the MinIO object storage service running inside the Docker container. Defaults to `9000`.
|
The port used to expose the MinIO API service to the host machine, allowing **external** access to the MinIO object storage service running inside the Docker container. Defaults to `9000`.
|
||||||
- `MINIO_USER`
|
- `MINIO_USER`
|
||||||
The username for MinIO.
|
The username for MinIO.
|
||||||
- `MINIO_PASSWORD`
|
- `MINIO_PASSWORD`
|
||||||
The password for MinIO. accordingly.
|
The password for MinIO. accordingly.
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ The [.env](https://github.com/infiniflow/ragflow/blob/main/docker/.env) file con
|
|||||||
|
|
||||||
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
||||||
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
||||||
- Embedded embedding models:
|
- Built-in embedding models:
|
||||||
- `BAAI/bge-large-zh-v1.5`
|
- `BAAI/bge-large-zh-v1.5`
|
||||||
- `BAAI/bge-reranker-v2-m3`
|
- `BAAI/bge-reranker-v2-m3`
|
||||||
- `maidalun1020/bce-embedding-base_v1`
|
- `maidalun1020/bce-embedding-base_v1`
|
||||||
@ -181,4 +181,4 @@ The default LLM to use for a new RAGFlow user. It is disabled by default. To ena
|
|||||||
|
|
||||||
:::tip NOTE
|
:::tip NOTE
|
||||||
If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|
If you do not set the default LLM here, configure the default LLM on the **Settings** page in the RAGFlow UI.
|
||||||
:::
|
:::
|
@ -286,15 +286,15 @@ Once you have selected an embedding model and used it to parse a file, you are n
|
|||||||
_When the file parsing completes, its parsing status changes to **SUCCESS**._
|
_When the file parsing completes, its parsing status changes to **SUCCESS**._
|
||||||
|
|
||||||
:::caution NOTE
|
:::caution NOTE
|
||||||
- If your file parsing gets stuck at below 1%, see [FAQ 4.3](https://ragflow.io/docs/dev/faq#43-why-does-my-document-parsing-stall-at-under-one-percent).
|
- If your file parsing gets stuck at below 1%, see [this FAQ](https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent).
|
||||||
- If your file parsing gets stuck at near completion, see [FAQ 4.4](https://ragflow.io/docs/dev/faq#44-why-does-my-pdf-parsing-stall-near-completion-while-the-log-does-not-show-any-error)
|
- If your file parsing gets stuck at near completion, see [this FAQ](https://ragflow.io/docs/dev/faq#why-does-my-pdf-parsing-stall-near-completion-while-the-log-does-not-show-any-error)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Intervene with file parsing
|
## Intervene with file parsing
|
||||||
|
|
||||||
RAGFlow features visibility and explainability, allowing you to view the chunking results and intervene where necessary. To do so:
|
RAGFlow features visibility and explainability, allowing you to view the chunking results and intervene where necessary. To do so:
|
||||||
|
|
||||||
1. Click on the file that completes file parsing to view the chunking results:
|
1. Click on the file that completes file parsing to view the chunking results:
|
||||||
|
|
||||||
_You are taken to the **Chunk** page:_
|
_You are taken to the **Chunk** page:_
|
||||||
|
|
||||||
@ -306,8 +306,8 @@ RAGFlow features visibility and explainability, allowing you to view the chunkin
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
:::caution NOTE
|
:::caution NOTE
|
||||||
You can add keywords to a file chunk to improve its ranking for queries containing those keywords. This action increases its keyword weight and can improve its position in search list.
|
You can add keywords to a file chunk to improve its ranking for queries containing those keywords. This action increases its keyword weight and can improve its position in search list.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
4. In Retrieval testing, ask a quick question in **Test text** to double check if your configurations work:
|
4. In Retrieval testing, ask a quick question in **Test text** to double check if your configurations work:
|
||||||
@ -318,17 +318,17 @@ You can add keywords to a file chunk to improve its ranking for queries containi
|
|||||||
|
|
||||||
## Set up an AI chat
|
## Set up an AI chat
|
||||||
|
|
||||||
Conversations in RAGFlow are based on a particular knowledge base or multiple knowledge bases. Once you have created your knowledge base and finished file parsing, you can go ahead and start an AI conversation.
|
Conversations in RAGFlow are based on a particular knowledge base or multiple knowledge bases. Once you have created your knowledge base and finished file parsing, you can go ahead and start an AI conversation.
|
||||||
|
|
||||||
1. Click the **Chat** tab in the middle top of the mage **>** **Create an assistant** to show the **Chat Configuration** dialogue *of your next dialogue*.
|
1. Click the **Chat** tab in the middle top of the mage **>** **Create an assistant** to show the **Chat Configuration** dialogue *of your next dialogue*.
|
||||||
> RAGFlow offer the flexibility of choosing a different chat model for each dialogue, while allowing you to set the default models in **System Model Settings**.
|
> RAGFlow offer the flexibility of choosing a different chat model for each dialogue, while allowing you to set the default models in **System Model Settings**.
|
||||||
|
|
||||||
2. Update **Assistant Setting**:
|
2. Update **Assistant Setting**:
|
||||||
|
|
||||||
- Name your assistant and specify your knowledge bases.
|
- Name your assistant and specify your knowledge bases.
|
||||||
- **Empty response**:
|
- **Empty response**:
|
||||||
- If you wish to *confine* RAGFlow's answers to your knowledge bases, leave a response here. Then when it doesn't retrieve an answer, it *uniformly* responds with what you set here.
|
- If you wish to *confine* RAGFlow's answers to your knowledge bases, leave a response here. Then when it doesn't retrieve an answer, it *uniformly* responds with what you set here.
|
||||||
- If you wish RAGFlow to *improvise* when it doesn't retrieve an answer from your knowledge bases, leave it blank, which may give rise to hallucinations.
|
- If you wish RAGFlow to *improvise* when it doesn't retrieve an answer from your knowledge bases, leave it blank, which may give rise to hallucinations.
|
||||||
|
|
||||||
3. Update **Prompt Engine** or leave it as is for the beginning.
|
3. Update **Prompt Engine** or leave it as is for the beginning.
|
||||||
|
|
||||||
@ -347,4 +347,4 @@ RAGFlow also offers HTTP and Python APIs for you to integrate RAGFlow's capabili
|
|||||||
- [Acquire a RAGFlow API key](./guides/develop/acquire_ragflow_api_key.md)
|
- [Acquire a RAGFlow API key](./guides/develop/acquire_ragflow_api_key.md)
|
||||||
- [HTTP API reference](./references/http_api_reference.md)
|
- [HTTP API reference](./references/http_api_reference.md)
|
||||||
- [Python API reference](./references/python_api_reference.md)
|
- [Python API reference](./references/python_api_reference.md)
|
||||||
:::
|
:::
|
@ -5,162 +5,161 @@ slug: /faq
|
|||||||
|
|
||||||
# Frequently asked questions
|
# Frequently asked questions
|
||||||
|
|
||||||
Queries regarding general usage, troubleshooting, features, performance, and more.
|
Queries regarding general features, troubleshooting, performance, and more.
|
||||||
|
|
||||||
## General
|
---
|
||||||
|
|
||||||
### 1. What sets RAGFlow apart from other RAG products?
|
## General features
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### What sets RAGFlow apart from other RAG products?
|
||||||
|
|
||||||
The "garbage in garbage out" status quo remains unchanged despite the fact that LLMs have advanced Natural Language Processing (NLP) significantly. In response, RAGFlow introduces two unique features compared to other Retrieval-Augmented Generation (RAG) products.
|
The "garbage in garbage out" status quo remains unchanged despite the fact that LLMs have advanced Natural Language Processing (NLP) significantly. In response, RAGFlow introduces two unique features compared to other Retrieval-Augmented Generation (RAG) products.
|
||||||
|
|
||||||
- Fine-grained document parsing: Document parsing involves images and tables, with the flexibility for you to intervene as needed.
|
- Fine-grained document parsing: Document parsing involves images and tables, with the flexibility for you to intervene as needed.
|
||||||
- Traceable answers with reduced hallucinations: You can trust RAGFlow's responses as you can view the citations and references supporting them.
|
- Traceable answers with reduced hallucinations: You can trust RAGFlow's responses as you can view the citations and references supporting them.
|
||||||
|
|
||||||
### 2. Which languages does RAGFlow support?
|
---
|
||||||
|
|
||||||
English, simplified Chinese, traditional Chinese for now.
|
### Why does it take longer for RAGFlow to parse a document than LangChain?
|
||||||
|
|
||||||
### 3. Which embedding models can be deployed locally?
|
We put painstaking effort into document pre-processing tasks like layout analysis, table structure recognition, and OCR (Optical Character Recognition) using our vision models. This contributes to the additional time required.
|
||||||
|
|
||||||
- BAAI/bge-large-zh-v1.5
|
---
|
||||||
- BAAI/bge-base-en-v1.5
|
|
||||||
- BAAI/bge-large-en-v1.5
|
|
||||||
- BAAI/bge-small-en-v1.5
|
|
||||||
- BAAI/bge-small-zh-v1.5
|
|
||||||
- jinaai/jina-embeddings-v2-base-en
|
|
||||||
- jinaai/jina-embeddings-v2-small-en
|
|
||||||
- nomic-ai/nomic-embed-text-v1.5
|
|
||||||
- sentence-transformers/all-MiniLM-L6-v2
|
|
||||||
- maidalun1020/bce-embedding-base_v1
|
|
||||||
|
|
||||||
## Performance
|
### Why does RAGFlow require more resources than other projects?
|
||||||
|
|
||||||
### 1. Why does it take longer for RAGFlow to parse a document than LangChain?
|
|
||||||
|
|
||||||
We put painstaking effort into document pre-processing tasks like layout analysis, table structure recognition, and OCR (Optical Character Recognition) using our vision model. This contributes to the additional time required.
|
|
||||||
|
|
||||||
### 2. Why does RAGFlow require more resources than other projects?
|
|
||||||
|
|
||||||
RAGFlow has a number of built-in models for document structure parsing, which account for the additional computational resources.
|
RAGFlow has a number of built-in models for document structure parsing, which account for the additional computational resources.
|
||||||
|
|
||||||
## Feature
|
---
|
||||||
|
|
||||||
### 1. Which architectures or devices does RAGFlow support?
|
### Which architectures or devices does RAGFlow support?
|
||||||
|
|
||||||
Currently, we only support x86 CPU and Nvidia GPU.
|
We officially support x86 CPU and nvidia GPU. While we also test RAGFlow on ARM64 platforms, we do not plan to maintain RAGFlow Docker images for ARM.
|
||||||
|
|
||||||
### 2. Do you offer an API for integration with third-party applications?
|
---
|
||||||
|
|
||||||
|
### Which embedding models can be deployed locally?
|
||||||
|
|
||||||
|
RAGFlow offers two Docker image editions, `dev-slim` and `dev`:
|
||||||
|
|
||||||
|
- `infiniflow/ragflow:dev-slim` (default): The RAGFlow Docker image without embedding models.
|
||||||
|
- `infiniflow/ragflow:dev`: The RAGFlow Docker image with embedding models including:
|
||||||
|
- Built-in embedding models:
|
||||||
|
- `BAAI/bge-large-zh-v1.5`
|
||||||
|
- `BAAI/bge-reranker-v2-m3`
|
||||||
|
- `maidalun1020/bce-embedding-base_v1`
|
||||||
|
- `maidalun1020/bce-reranker-base_v1`
|
||||||
|
- Embedding models that will be downloaded once you select them in the RAGFlow UI:
|
||||||
|
- `BAAI/bge-base-en-v1.5`
|
||||||
|
- `BAAI/bge-large-en-v1.5`
|
||||||
|
- `BAAI/bge-small-en-v1.5`
|
||||||
|
- `BAAI/bge-small-zh-v1.5`
|
||||||
|
- `jinaai/jina-embeddings-v2-base-en`
|
||||||
|
- `jinaai/jina-embeddings-v2-small-en`
|
||||||
|
- `nomic-ai/nomic-embed-text-v1.5`
|
||||||
|
- `sentence-transformers/all-MiniLM-L6-v2`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Do you offer an API for integration with third-party applications?
|
||||||
|
|
||||||
The corresponding APIs are now available. See the [RAGFlow HTTP API Reference](./http_api_reference.md) or the [RAGFlow Python API Reference](./python_api_reference.md) for more information.
|
The corresponding APIs are now available. See the [RAGFlow HTTP API Reference](./http_api_reference.md) or the [RAGFlow Python API Reference](./python_api_reference.md) for more information.
|
||||||
|
|
||||||
### 3. Do you support stream output?
|
---
|
||||||
|
|
||||||
This feature is supported.
|
### Do you support stream output?
|
||||||
|
|
||||||
### 4. Is it possible to share dialogue through URL?
|
Yes, we do.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Is it possible to share dialogue through URL?
|
||||||
|
|
||||||
No, this feature is not supported.
|
No, this feature is not supported.
|
||||||
|
|
||||||
### 5. Do you support multiple rounds of dialogues, i.e., referencing previous dialogues as context for the current dialogue?
|
---
|
||||||
|
|
||||||
|
### Do you support multiple rounds of dialogues, i.e., referencing previous dialogues as context for the current dialogue?
|
||||||
|
|
||||||
This feature and the related APIs are still in development. Contributions are welcome.
|
This feature and the related APIs are still in development. Contributions are welcome.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### 1. Issues with docker images
|
---
|
||||||
|
|
||||||
#### 1.1 How to build the RAGFlow image from scratch?
|
### Issues with Docker images
|
||||||
|
|
||||||
```
|
---
|
||||||
$ git clone https://github.com/infiniflow/ragflow.git
|
|
||||||
$ cd ragflow
|
|
||||||
$ docker build -t infiniflow/ragflow:latest .
|
|
||||||
$ cd ragflow/docker
|
|
||||||
$ docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 1.2 `process "/bin/sh -c cd ./web && npm i && npm run build"` failed
|
#### How to build the RAGFlow image from scratch?
|
||||||
|
|
||||||
1. Check your network from within Docker, for example:
|
See [Build a RAGFlow Docker image](https://ragflow.io/docs/dev/build_docker_image).
|
||||||
```bash
|
|
||||||
curl https://hf-mirror.com
|
|
||||||
```
|
|
||||||
|
|
||||||
2. If your network works fine, the issue lies with the Docker network configuration. Replace the Docker building command:
|
---
|
||||||
```bash
|
|
||||||
docker build -t infiniflow/ragflow:vX.Y.Z.
|
|
||||||
```
|
|
||||||
With this:
|
|
||||||
```bash
|
|
||||||
docker build -t infiniflow/ragflow:vX.Y.Z. --network host
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Issues with huggingface models
|
### Issues with huggingface models
|
||||||
|
|
||||||
#### 2.1 Cannot access https://huggingface.co
|
---
|
||||||
|
|
||||||
A *locally* deployed RAGflow downloads OCR and embedding modules from [Huggingface website](https://huggingface.co) by default. If your machine is unable to access this site, the following error occurs and PDF parsing fails:
|
#### Cannot access https://huggingface.co
|
||||||
|
|
||||||
|
A locally deployed RAGflow downloads OCR and embedding modules from [Huggingface website](https://huggingface.co) by default. If your machine is unable to access this site, the following error occurs and PDF parsing fails:
|
||||||
|
|
||||||
```
|
```
|
||||||
FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/huggingface/hub/models--InfiniFlow--deepdoc/snapshots/be0c1e50eef6047b412d1800aa89aba4d275f997/ocr.res'
|
FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/huggingface/hub/models--InfiniFlow--deepdoc/snapshots/be0c1e50eef6047b412d1800aa89aba4d275f997/ocr.res'
|
||||||
```
|
```
|
||||||
To fix this issue, use https://hf-mirror.com instead:
|
|
||||||
|
|
||||||
1. Stop all containers and remove all related resources:
|
To fix this issue, use https://hf-mirror.com instead:
|
||||||
|
|
||||||
```bash
|
1. Stop all containers and remove all related resources:
|
||||||
cd ragflow/docker/
|
|
||||||
docker compose down
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Replace `https://huggingface.co` with `https://hf-mirror.com` in **ragflow/docker/docker-compose.yml**.
|
```bash
|
||||||
|
cd ragflow/docker/
|
||||||
3. Start up the server:
|
docker compose down
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
2. Uncomment the following line in **ragflow/docker/.env**:
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.2. `MaxRetryError: HTTPSConnectionPool(host='hf-mirror.com', port=443)`
|
```
|
||||||
|
# HF_ENDPOINT=https://hf-mirror.com
|
||||||
|
```
|
||||||
|
|
||||||
This error suggests that you do not have Internet access or are unable to connect to hf-mirror.com. Try the following:
|
3. Start up the server:
|
||||||
|
|
||||||
1. Manually download the resource files from [huggingface.co/InfiniFlow/deepdoc](https://huggingface.co/InfiniFlow/deepdoc) to your local folder **~/deepdoc**.
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### `MaxRetryError: HTTPSConnectionPool(host='hf-mirror.com', port=443)`
|
||||||
|
|
||||||
|
This error suggests that you do not have Internet access or are unable to connect to hf-mirror.com. Try the following:
|
||||||
|
|
||||||
|
1. Manually download the resource files from [huggingface.co/InfiniFlow/deepdoc](https://huggingface.co/InfiniFlow/deepdoc) to your local folder **~/deepdoc**.
|
||||||
2. Add a volumes to **docker-compose.yml**, for example:
|
2. Add a volumes to **docker-compose.yml**, for example:
|
||||||
```
|
|
||||||
- ~/deepdoc:/ragflow/rag/res/deepdoc
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.3 `FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/huggingface/hub/models--InfiniFlow--deepdoc/snapshots/FileNotFoundError: [Errno 2] No such file or directory: '/ragflow/rag/res/deepdoc/ocr.res'be0c1e50eef6047b412d1800aa89aba4d275f997/ocr.res'`
|
```
|
||||||
|
- ~/deepdoc:/ragflow/rag/res/deepdoc
|
||||||
|
```
|
||||||
|
|
||||||
1. Check your network from within Docker, for example:
|
---
|
||||||
```bash
|
|
||||||
curl https://hf-mirror.com
|
|
||||||
```
|
|
||||||
2. Run `ifconfig` to check the `mtu` value. If the server's `mtu` is `1450` while the NIC's `mtu` in the container is `1500`, this mismatch may cause network instability. Adjust the `mtu` policy as follows:
|
|
||||||
|
|
||||||
```
|
### Issues with RAGFlow servers
|
||||||
vim docker-compose-base.yml
|
|
||||||
# Original configuration:
|
|
||||||
networks:
|
|
||||||
ragflow:
|
|
||||||
driver: bridge
|
|
||||||
# Modified configuration:
|
|
||||||
networks:
|
|
||||||
ragflow:
|
|
||||||
driver: bridge
|
|
||||||
driver_opts:
|
|
||||||
com.docker.network.driver.mtu: 1450
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Issues with RAGFlow servers
|
---
|
||||||
|
|
||||||
#### 3.1 `WARNING: can't find /raglof/rag/res/borker.tm`
|
#### `WARNING: can't find /raglof/rag/res/borker.tm`
|
||||||
|
|
||||||
Ignore this warning and continue. All system warnings can be ignored.
|
Ignore this warning and continue. All system warnings can be ignored.
|
||||||
|
|
||||||
#### 3.2 `network anomaly There is an abnormality in your network and you cannot connect to the server.`
|
---
|
||||||
|
|
||||||
|
#### `network anomaly There is an abnormality in your network and you cannot connect to the server.`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -181,64 +180,79 @@ You will not log in to RAGFlow unless the server is fully initialized. Run `dock
|
|||||||
INFO:werkzeug:Press CTRL+C to quit
|
INFO:werkzeug:Press CTRL+C to quit
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 4. Issues with RAGFlow backend services
|
### Issues with RAGFlow backend services
|
||||||
|
|
||||||
#### 4.1 `dependency failed to start: container ragflow-mysql is unhealthy`
|
---
|
||||||
|
|
||||||
`dependency failed to start: container ragflow-mysql is unhealthy` means that your MySQL container failed to start. Try replacing `mysql:5.7.18` with `mariadb:10.5.8` in **docker-compose-base.yml**.
|
#### `Realtime synonym is disabled, since no redis connection`
|
||||||
|
|
||||||
#### 4.2 `Realtime synonym is disabled, since no redis connection`
|
|
||||||
|
|
||||||
Ignore this warning and continue. All system warnings can be ignored.
|
Ignore this warning and continue. All system warnings can be ignored.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 4.3 Why does my document parsing stall at under one percent?
|
---
|
||||||
|
|
||||||
|
#### Why does my document parsing stall at under one percent?
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Click the red cross beside the 'parsing status' bar, then restart the parsing process to see if the issue remains. If the issue persists and your RAGFlow is deployed locally, try the following:
|
Click the red cross beside the 'parsing status' bar, then restart the parsing process to see if the issue remains. If the issue persists and your RAGFlow is deployed locally, try the following:
|
||||||
|
|
||||||
1. Check the log of your RAGFlow server to see if it is running properly:
|
1. Check the log of your RAGFlow server to see if it is running properly:
|
||||||
```bash
|
|
||||||
docker logs -f ragflow-server
|
```bash
|
||||||
```
|
docker logs -f ragflow-server
|
||||||
|
```
|
||||||
|
|
||||||
2. Check if the **task_executor.py** process exists.
|
2. Check if the **task_executor.py** process exists.
|
||||||
3. Check if your RAGFlow server can access hf-mirror.com or huggingface.com.
|
3. Check if your RAGFlow server can access hf-mirror.com or huggingface.com.
|
||||||
|
|
||||||
#### 4.4 Why does my pdf parsing stall near completion, while the log does not show any error?
|
---
|
||||||
|
|
||||||
|
#### Why does my pdf parsing stall near completion, while the log does not show any error?
|
||||||
|
|
||||||
Click the red cross beside the 'parsing status' bar, then restart the parsing process to see if the issue remains. If the issue persists and your RAGFlow is deployed locally, the parsing process is likely killed due to insufficient RAM. Try increasing your memory allocation by increasing the `MEM_LIMIT` value in **docker/.env**.
|
Click the red cross beside the 'parsing status' bar, then restart the parsing process to see if the issue remains. If the issue persists and your RAGFlow is deployed locally, the parsing process is likely killed due to insufficient RAM. Try increasing your memory allocation by increasing the `MEM_LIMIT` value in **docker/.env**.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
Ensure that you restart up your RAGFlow server for your changes to take effect!
|
Ensure that you restart up your RAGFlow server for your changes to take effect!
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose stop
|
docker compose stop
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 4.5 `Index failure`
|
---
|
||||||
|
|
||||||
|
#### `Index failure`
|
||||||
|
|
||||||
An index failure usually indicates an unavailable Elasticsearch service.
|
An index failure usually indicates an unavailable Elasticsearch service.
|
||||||
|
|
||||||
#### 4.6 How to check the log of RAGFlow?
|
---
|
||||||
|
|
||||||
|
#### How to check the log of RAGFlow?
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tail -f path_to_ragflow/docker/ragflow-logs/rag/*.log
|
tail -f ragflow/docker/ragflow-logs/*.log
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 4.7 How to check the status of each component in RAGFlow?
|
---
|
||||||
|
|
||||||
|
#### How to check the status of each component in RAGFlow?
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker ps
|
$ docker ps
|
||||||
```
|
```
|
||||||
*The system displays the following if all your RAGFlow components are running properly:*
|
|
||||||
|
*The system displays the following if all your RAGFlow components are running properly:*
|
||||||
|
|
||||||
```
|
```
|
||||||
5bc45806b680 infiniflow/ragflow:latest "./entrypoint.sh" 11 hours ago Up 11 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:9380->9380/tcp, :::9380->9380/tcp ragflow-server
|
5bc45806b680 infiniflow/ragflow:latest "./entrypoint.sh" 11 hours ago Up 11 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:9380->9380/tcp, :::9380->9380/tcp ragflow-server
|
||||||
@ -247,21 +261,24 @@ d8c86f06c56b mysql:5.7.18 "docker-entrypoint.s…" 7 days ago Up
|
|||||||
cd29bcb254bc quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z "/usr/bin/docker-ent…" 2 weeks ago Up 11 hours 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp ragflow-minio
|
cd29bcb254bc quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z "/usr/bin/docker-ent…" 2 weeks ago Up 11 hours 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp ragflow-minio
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 4.8 `Exception: Can't connect to ES cluster`
|
---
|
||||||
|
|
||||||
|
#### `Exception: Can't connect to ES cluster`
|
||||||
|
|
||||||
1. Check the status of your Elasticsearch component:
|
1. Check the status of your Elasticsearch component:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker ps
|
$ docker ps
|
||||||
```
|
```
|
||||||
|
|
||||||
*The status of a 'healthy' Elasticsearch component in your RAGFlow should look as follows:*
|
*The status of a 'healthy' Elasticsearch component in your RAGFlow should look as follows:*
|
||||||
```
|
|
||||||
91220e3285dd docker.elastic.co/elasticsearch/elasticsearch:8.11.3 "/bin/tini -- /usr/l…" 11 hours ago Up 11 hours (healthy) 9300/tcp, 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp ragflow-es-01
|
```
|
||||||
```
|
91220e3285dd docker.elastic.co/elasticsearch/elasticsearch:8.11.3 "/bin/tini -- /usr/l…" 11 hours ago Up 11 hours (healthy) 9300/tcp, 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp ragflow-es-01
|
||||||
|
```
|
||||||
|
|
||||||
2. If your container keeps restarting, ensure `vm.max_map_count` >= 262144 as per [this README](https://github.com/infiniflow/ragflow?tab=readme-ov-file#-start-up-the-server). Updating the `vm.max_map_count` value in **/etc/sysctl.conf** is required, if you wish to keep your change permanent. This configuration works only for Linux.
|
2. If your container keeps restarting, ensure `vm.max_map_count` >= 262144 as per [this README](https://github.com/infiniflow/ragflow?tab=readme-ov-file#-start-up-the-server). Updating the `vm.max_map_count` value in **/etc/sysctl.conf** is required, if you wish to keep your change permanent. This configuration works only for Linux.
|
||||||
|
|
||||||
|
|
||||||
3. If your issue persists, ensure that the ES host setting is correct:
|
3. If your issue persists, ensure that the ES host setting is correct:
|
||||||
|
|
||||||
- If you are running RAGFlow with Docker, it is in **docker/service_conf.yml**. Set it as follows:
|
- If you are running RAGFlow with Docker, it is in **docker/service_conf.yml**. Set it as follows:
|
||||||
@ -269,135 +286,127 @@ $ docker ps
|
|||||||
es:
|
es:
|
||||||
hosts: 'http://es01:9200'
|
hosts: 'http://es01:9200'
|
||||||
```
|
```
|
||||||
- If you run RAGFlow outside of Docker, verify the ES host setting in **conf/service_conf.yml** using:
|
- If you run RAGFlow outside of Docker, verify the ES host setting in **conf/service_conf.yml** using:
|
||||||
```bash
|
```bash
|
||||||
curl http://<IP_OF_ES>:<PORT_OF_ES>
|
curl http://<IP_OF_ES>:<PORT_OF_ES>
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 4.9 Can't start ES container and get `Elasticsearch did not exit normally`
|
---
|
||||||
|
|
||||||
This is because you forgot to update the `vm.max_map_count` value in **/etc/sysctl.conf** and your change to this value was reset after a system reboot.
|
#### Can't start ES container and get `Elasticsearch did not exit normally`
|
||||||
|
|
||||||
#### 4.10 `{"data":null,"code":100,"message":"<NotFound '404: Not Found'>"}`
|
This is because you forgot to update the `vm.max_map_count` value in **/etc/sysctl.conf** and your change to this value was reset after a system reboot.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### `{"data":null,"code":100,"message":"<NotFound '404: Not Found'>"}`
|
||||||
|
|
||||||
Your IP address or port number may be incorrect. If you are using the default configurations, enter `http://<IP_OF_YOUR_MACHINE>` (**NOT 9380, AND NO PORT NUMBER REQUIRED!**) in your browser. This should work.
|
Your IP address or port number may be incorrect. If you are using the default configurations, enter `http://<IP_OF_YOUR_MACHINE>` (**NOT 9380, AND NO PORT NUMBER REQUIRED!**) in your browser. This should work.
|
||||||
|
|
||||||
#### 4.11 `Ollama - Mistral instance running at 127.0.0.1:11434 but cannot add Ollama as model in RagFlow`
|
---
|
||||||
|
|
||||||
|
#### `Ollama - Mistral instance running at 127.0.0.1:11434 but cannot add Ollama as model in RagFlow`
|
||||||
|
|
||||||
A correct Ollama IP address and port is crucial to adding models to Ollama:
|
A correct Ollama IP address and port is crucial to adding models to Ollama:
|
||||||
|
|
||||||
- If you are on demo.ragflow.io, ensure that the server hosting Ollama has a publicly accessible IP address.Note that 127.0.0.1 is not a publicly accessible IP address.
|
- If you are on demo.ragflow.io, ensure that the server hosting Ollama has a publicly accessible IP address. Note that 127.0.0.1 is not a publicly accessible IP address.
|
||||||
- If you deploy RAGFlow locally, ensure that Ollama and RAGFlow are in the same LAN and can comunicate with each other.
|
- If you deploy RAGFlow locally, ensure that Ollama and RAGFlow are in the same LAN and can comunicate with each other.
|
||||||
|
|
||||||
#### 4.12 Do you offer examples of using deepdoc to parse PDF or other files?
|
See [Deploy a local LLM](../guides/deploy_local_llm.mdx) for more information.
|
||||||
|
|
||||||
Yes, we do. See the Python files under the **rag/app** folder.
|
---
|
||||||
|
|
||||||
#### 4.13 Why did I fail to upload a 10MB+ file to my locally deployed RAGFlow?
|
#### Do you offer examples of using deepdoc to parse PDF or other files?
|
||||||
|
|
||||||
You probably forgot to update the **MAX_CONTENT_LENGTH** environment variable:
|
Yes, we do. See the Python files under the **rag/app** folder.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### Why did I fail to upload a 128MB+ file to my locally deployed RAGFlow?
|
||||||
|
|
||||||
|
Ensure that you update the **MAX_CONTENT_LENGTH** environment variable:
|
||||||
|
|
||||||
|
1. In **ragflow/docker/.env**, uncomment environment variable `MAX_CONTENT_LENGTH`:
|
||||||
|
|
||||||
|
```
|
||||||
|
MAX_CONTENT_LENGTH=128000000
|
||||||
|
```
|
||||||
|
|
||||||
1. Add environment variable `MAX_CONTENT_LENGTH` to **ragflow/docker/.env**:
|
|
||||||
```
|
|
||||||
MAX_CONTENT_LENGTH=100000000
|
|
||||||
```
|
|
||||||
2. Update **docker-compose.yml**:
|
2. Update **docker-compose.yml**:
|
||||||
```
|
|
||||||
environment:
|
```
|
||||||
- MAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH}
|
environment:
|
||||||
```
|
- MAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH}
|
||||||
|
```
|
||||||
|
|
||||||
3. Restart the RAGFlow server:
|
3. Restart the RAGFlow server:
|
||||||
```
|
|
||||||
docker compose up ragflow -d
|
|
||||||
```
|
|
||||||
*Now you should be able to upload files of sizes less than 100MB.*
|
|
||||||
|
|
||||||
#### 4.14 `Table 'rag_flow.document' doesn't exist`
|
```
|
||||||
|
docker compose up ragflow -d
|
||||||
|
```
|
||||||
|
|
||||||
This exception occurs when starting up the RAGFlow server. Try the following:
|
---
|
||||||
|
|
||||||
1. Prolong the sleep time: Go to **docker/entrypoint.sh**, locate line 26, and replace `sleep 60` with `sleep 280`.
|
#### `FileNotFoundError: [Errno 2] No such file or directory`
|
||||||
2. If using Windows, ensure that the **entrypoint.sh** has LF end-lines.
|
|
||||||
3. Go to **docker/docker-compose.yml**, add the following:
|
|
||||||
```
|
|
||||||
./entrypoint.sh:/ragflow/entrypoint.sh
|
|
||||||
```
|
|
||||||
4. Change directory:
|
|
||||||
```bash
|
|
||||||
cd docker
|
|
||||||
```
|
|
||||||
5. Stop the RAGFlow server:
|
|
||||||
```bash
|
|
||||||
docker compose stop
|
|
||||||
```
|
|
||||||
6. Restart up the RAGFlow server:
|
|
||||||
```bash
|
|
||||||
docker compose up
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 4.15 `hint : 102 Fail to access model Connection error`
|
1. Check if the status of your MinIO container is healthy:
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
1. Ensure that the RAGFlow server can access the base URL.
|
|
||||||
2. Do not forget to append `/v1/` to `http://IP:port`:
|
|
||||||
`http://IP:port/v1/`
|
|
||||||
|
|
||||||
#### 4.16 `FileNotFoundError: [Errno 2] No such file or directory`
|
|
||||||
|
|
||||||
1. Check if the status of your minio container is healthy:
|
|
||||||
```bash
|
```bash
|
||||||
docker ps
|
docker ps
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Ensure that the username and password settings of MySQL and MinIO in **docker/.env** are in line with those in **docker/service_conf.yml**.
|
2. Ensure that the username and password settings of MySQL and MinIO in **docker/.env** are in line with those in **docker/service_conf.yml**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### 1. How to increase the length of RAGFlow responses?
|
---
|
||||||
|
|
||||||
|
### How to increase the length of RAGFlow responses?
|
||||||
|
|
||||||
1. Right click the desired dialog to display the **Chat Configuration** window.
|
1. Right click the desired dialog to display the **Chat Configuration** window.
|
||||||
2. Switch to the **Model Setting** tab and adjust the **Max Tokens** slider to get the desired length.
|
2. Switch to the **Model Setting** tab and adjust the **Max Tokens** slider to get the desired length.
|
||||||
3. Click **OK** to confirm your change.
|
3. Click **OK** to confirm your change.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 2. What does Empty response mean? How to set it?
|
### How to run RAGFlow with a locally deployed LLM?
|
||||||
|
|
||||||
You limit what the system responds to what you specify in **Empty response** if nothing is retrieved from your knowledge base. If you do not specify anything in **Empty response**, you let your LLM improvise, giving it a chance to hallucinate.
|
You can use Ollama or Xinference to deploy local LLM. See [here](../guides/deploy_local_llm.mdx) for more information.
|
||||||
|
|
||||||
### 3. Can I set the base URL for OpenAI somewhere?
|
---
|
||||||
|
|
||||||

|
### How to interconnect RAGFlow with Ollama?
|
||||||
|
|
||||||
### 4. How to run RAGFlow with a locally deployed LLM?
|
- If RAGFlow is locally deployed, ensure that your RAGFlow and Ollama are in the same LAN.
|
||||||
|
|
||||||
You can use Ollama to deploy local LLM. See [here](../guides/deploy_local_llm.mdx) for more information.
|
|
||||||
|
|
||||||
### 5. How to link up ragflow and ollama servers?
|
|
||||||
|
|
||||||
- If RAGFlow is locally deployed, ensure that your RAGFlow and Ollama are in the same LAN.
|
|
||||||
- If you are using our online demo, ensure that the IP address of your Ollama server is public and accessible.
|
- If you are using our online demo, ensure that the IP address of your Ollama server is public and accessible.
|
||||||
|
|
||||||
### 6. How to configure RAGFlow to respond with 100% matched results, rather than utilizing LLM?
|
See [here](../guides/deploy_local_llm.mdx) for more information.
|
||||||
|
|
||||||
1. Click **Knowledge Base** in the middle top of the page.
|
---
|
||||||
2. Right click the desired knowledge base to display the **Configuration** dialogue.
|
|
||||||
3. Choose **Q&A** as the chunk method and click **Save** to confirm your change.
|
|
||||||
|
|
||||||
### 7. Do I need to connect to Redis?
|
### `Error: Range of input length should be [1, 30000]`
|
||||||
|
|
||||||
No, connecting to Redis is not required.
|
This error occurs because there are too many chunks matching your search criteria. Try reducing the **TopN** and increasing **Similarity threshold** to fix this issue:
|
||||||
|
|
||||||
### 8. `Error: Range of input length should be [1, 30000]`
|
1. Click **Chat** in the middle top of the page.
|
||||||
|
|
||||||
This error occurs because there are too many chunks matching your search criteria. Try reducing the **TopN** and increasing **Similarity threshold** to fix this issue:
|
|
||||||
|
|
||||||
1. Click **Chat** in the middle top of the page.
|
|
||||||
2. Right click the desired conversation > **Edit** > **Prompt Engine**
|
2. Right click the desired conversation > **Edit** > **Prompt Engine**
|
||||||
3. Reduce the **TopN** and/or raise **Silimarity threshold**.
|
3. Reduce the **TopN** and/or raise **Silimarity threshold**.
|
||||||
4. Click **OK** to confirm your changes.
|
4. Click **OK** to confirm your changes.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 9. How to upgrade RAGFlow?
|
---
|
||||||
|
|
||||||
|
### How to get an API key for integration with third-party applications?
|
||||||
|
|
||||||
|
See [Acquire a RAGFlow API key](../guides/develop/acquire_ragflow_api_key.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### How to upgrade RAGFlow?
|
||||||
|
|
||||||
See [Upgrade RAGFlow](../guides/upgrade_ragflow.mdx) for more information.
|
See [Upgrade RAGFlow](../guides/upgrade_ragflow.mdx) for more information.
|
||||||
|
|
||||||
|
---
|
@ -2028,8 +2028,8 @@ curl --request POST \
|
|||||||
The question to start an AI-powered conversation.
|
The question to start an AI-powered conversation.
|
||||||
- `"stream"`: (*Body Parameter*), `boolean`
|
- `"stream"`: (*Body Parameter*), `boolean`
|
||||||
Indicates whether to output responses in a streaming way:
|
Indicates whether to output responses in a streaming way:
|
||||||
- `true`: Enable streaming.
|
- `true`: Enable streaming (default).
|
||||||
- `false`: Disable streaming (default).
|
- `false`: Disable streaming.
|
||||||
- `"session_id"`: (*Body Parameter*)
|
- `"session_id"`: (*Body Parameter*)
|
||||||
The ID of session. If it is not provided, a new session will be generated.
|
The ID of session. If it is not provided, a new session will be generated.
|
||||||
|
|
||||||
@ -2239,8 +2239,8 @@ curl --request POST \
|
|||||||
The question to start an AI-powered conversation.
|
The question to start an AI-powered conversation.
|
||||||
- `"stream"`: (*Body Parameter*), `boolean`
|
- `"stream"`: (*Body Parameter*), `boolean`
|
||||||
Indicates whether to output responses in a streaming way:
|
Indicates whether to output responses in a streaming way:
|
||||||
- `true`: Enable streaming.
|
- `true`: Enable streaming (default).
|
||||||
- `false`: Disable streaming (default).
|
- `false`: Disable streaming.
|
||||||
- `"session_id"`: (*Body Parameter*)
|
- `"session_id"`: (*Body Parameter*)
|
||||||
The ID of the session. If it is not provided, a new session will be generated.
|
The ID of the session. If it is not provided, a new session will be generated.
|
||||||
|
|
||||||
@ -2364,4 +2364,4 @@ Failure:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
@ -1332,8 +1332,8 @@ The question to start an AI-powered conversation.
|
|||||||
|
|
||||||
Indicates whether to output responses in a streaming way:
|
Indicates whether to output responses in a streaming way:
|
||||||
|
|
||||||
- `True`: Enable streaming.
|
- `True`: Enable streaming (default).
|
||||||
- `False`: Disable streaming (default).
|
- `False`: Disable streaming.
|
||||||
|
|
||||||
### Returns
|
### Returns
|
||||||
|
|
||||||
@ -1450,8 +1450,8 @@ The question to start an AI-powered conversation.
|
|||||||
|
|
||||||
Indicates whether to output responses in a streaming way:
|
Indicates whether to output responses in a streaming way:
|
||||||
|
|
||||||
- `True`: Enable streaming.
|
- `True`: Enable streaming (default).
|
||||||
- `False`: Disable streaming (default).
|
- `False`: Disable streaming.
|
||||||
|
|
||||||
### Returns
|
### Returns
|
||||||
|
|
||||||
@ -1513,4 +1513,4 @@ while True:
|
|||||||
for ans in session.ask(question, stream=True):
|
for ans in session.ask(question, stream=True):
|
||||||
print(ans.content[len(cont):], end='', flush=True)
|
print(ans.content[len(cont):], end='', flush=True)
|
||||||
cont = ans.content
|
cont = ans.content
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user