towhee
copied
Readme
Files and versions
Updated 2 years ago
towhee
eqa-search
Enhanced QA Search
Description
Enhanced question-answering is the process of creating the knowledge base and generating answers with LLMs(large language model), thus preventing illusions. It involves inserting data as knowledge base and querying questions, and eqa-search is used to query questions from knowledge base.
Code Example
Create pipeline and set the configuration
More parameters refer to the Configuration.
from towhee import AutoPipes, AutoConfig
config = AutoConfig.load_config('eqa-search')
config.host = '127.0.0.1'
config.port = '19530'
config.collection_name = 'chatbot'
config.top_k = 5
# If using zilliz cloud
config.user = [zilliz-cloud-username]
config.password = [zilliz-cloud-password]
# OpenAI api key
config.openai_api_key = [your-openai-api-key]
# Embedding model
config.embedding_model = 'all-MiniLM-L6-v2'
# Embedding model device
config.embedding_device = -1
# The threshold to filter milvus search result
config.threshold = 0.5
# The llm model source, openai or dolly
config.llm_src = 'openai'
# The llm model name
config.llm_model = 'gpt-3.5-turbo'
p = AutoPipes.pipeline('eqa-search', config=config)
res = p('What is towhee?', [])
Enhanced QA Search Config
Configuration for Sentence Embedding
model (str):
The model name in the sentence embedding pipeline, defaults to 'all-MiniLM-L6-v2'
.
You can refer to the above Model(s) list to set the model, some of these models are from HuggingFace (open source), and some are from OpenAI (not open, required API key).
openai_api_key (str):
The api key of openai, default to None
.
This key is required if the model is from OpenAI, you can check the model provider in the above Model(s) list.
embedding_device (int):
The number of devices, defaults to -1
, which means using the CPU.
If the setting is not -1
, the specified GPU device will be used.
Configuration for Milvus
host (str):
Host of Milvus vector database, default is '127.0.0.1'
.
port (str):
Port of Milvus vector database, default is '19530'
.
top_k (int):
The number of nearest search results, defaults to 5.
collection_name (str):
The collection name for Milvus vector database.
user (str):
The user name for Cloud user, defaults to None
.
password (str):
The user password for Cloud user, defaults to None
.
Configuration for Similarity Evaluation
threshold (Union[float, int]):
The threshold to filter the milvus search result.
Configuration for LLM
llm_src (str):
The llm model source, openai
or dolly
, defaults to openai
.
llm_model (str):
The llm model name, defaults to gpt-3.5-turbo
for openai
, databricks/dolly-v2-12b
for dolly
.
Interface
Query a question from Milvus knowledge base.
Parameters:
-
question (str): The question to query.
-
history (List[str]): The chat history to provide background information.
Returns:
- Answer (str): The answer to the question.
Kaiyuan Hu
a1c312b28d
| 10 Commits | ||
---|---|---|---|
.gitattributes |
1.1 KiB
|
2 years ago | |
README.md |
3.3 KiB
|
2 years ago | |
eqa_search.py |
4.4 KiB
|
2 years ago |