added command line chat
Browse files
Makefile
CHANGED
|
@@ -10,7 +10,7 @@ else
|
|
| 10 |
endif
|
| 11 |
|
| 12 |
test:
|
| 13 |
-
|
| 14 |
|
| 15 |
chat:
|
| 16 |
python test.py chat
|
|
|
|
| 10 |
endif
|
| 11 |
|
| 12 |
test:
|
| 13 |
+
python test.py $(TEST)
|
| 14 |
|
| 15 |
chat:
|
| 16 |
python test.py chat
|
test.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
# project/test.py
|
| 2 |
|
| 3 |
import os
|
|
|
|
| 4 |
import unittest
|
| 5 |
from timeit import default_timer as timer
|
| 6 |
|
|
@@ -134,5 +135,40 @@ class TestQAChain(unittest.TestCase):
|
|
| 134 |
self.run_test_case("huggingface", self.question)
|
| 135 |
|
| 136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
if __name__ == "__main__":
|
| 138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# project/test.py
|
| 2 |
|
| 3 |
import os
|
| 4 |
+
import sys
|
| 5 |
import unittest
|
| 6 |
from timeit import default_timer as timer
|
| 7 |
|
|
|
|
| 135 |
self.run_test_case("huggingface", self.question)
|
| 136 |
|
| 137 |
|
| 138 |
+
def chat():
|
| 139 |
+
start = timer()
|
| 140 |
+
llm_loader = app_init()[0]
|
| 141 |
+
end = timer()
|
| 142 |
+
print(f"Model loaded in {end - start:.3f}s")
|
| 143 |
+
|
| 144 |
+
chat_chain = ChatChain(llm_loader)
|
| 145 |
+
chat_history = []
|
| 146 |
+
|
| 147 |
+
chat_start = timer()
|
| 148 |
+
|
| 149 |
+
while True:
|
| 150 |
+
query = input("Please enter your question: ")
|
| 151 |
+
query = query.strip()
|
| 152 |
+
if query.lower() == "exit":
|
| 153 |
+
break
|
| 154 |
+
|
| 155 |
+
print("\nQuestion: " + query)
|
| 156 |
+
|
| 157 |
+
start = timer()
|
| 158 |
+
result = chat_chain.call_chain(
|
| 159 |
+
{"question": query, "chat_history": chat_history}, None
|
| 160 |
+
)
|
| 161 |
+
end = timer()
|
| 162 |
+
print(f"Completed in {end - start:.3f}s")
|
| 163 |
+
|
| 164 |
+
chat_history.append((query, result["text"]))
|
| 165 |
+
|
| 166 |
+
chat_end = timer()
|
| 167 |
+
print(f"Total time used: {chat_end - chat_start:.3f}s")
|
| 168 |
+
|
| 169 |
+
|
| 170 |
if __name__ == "__main__":
|
| 171 |
+
if len(sys.argv) > 1 and sys.argv[1] == "chat":
|
| 172 |
+
chat()
|
| 173 |
+
else:
|
| 174 |
+
unittest.main()
|
test.sh
DELETED
|
@@ -1,79 +0,0 @@
|
|
| 1 |
-
#!/bin/sh
|
| 2 |
-
|
| 3 |
-
EXT="$1"
|
| 4 |
-
|
| 5 |
-
if [ "$EXT" = "" ]; then
|
| 6 |
-
echo usage: $0 log_ext
|
| 7 |
-
exit
|
| 8 |
-
fi
|
| 9 |
-
|
| 10 |
-
echo Using extension: $EXT
|
| 11 |
-
|
| 12 |
-
[ ! -f .env ] || export $(grep -v '^#' .env | xargs)
|
| 13 |
-
|
| 14 |
-
export LLM_MODEL_TYPE=openai
|
| 15 |
-
export OPENAI_MODEL_NAME="gpt-3.5-turbo"
|
| 16 |
-
echo Testing openai-${OPENAI_MODEL_NAME}
|
| 17 |
-
python test.py 2>&1 | tee ./data/logs/openai-${OPENAI_MODEL_NAME}_${EXT}.log
|
| 18 |
-
|
| 19 |
-
export OPENAI_MODEL_NAME="gpt-4"
|
| 20 |
-
echo Testing openai-${OPENAI_MODEL_NAME}
|
| 21 |
-
python test.py 2>&1 | tee ./data/logs/openai-${OPENAI_MODEL_NAME}_${EXT}.log
|
| 22 |
-
|
| 23 |
-
export LLM_MODEL_TYPE=huggingface
|
| 24 |
-
|
| 25 |
-
export HUGGINGFACE_MODEL_NAME_OR_PATH="lmsys/fastchat-t5-3b-v1.0"
|
| 26 |
-
echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 27 |
-
python test.py 2>&1 | tee ./data/logs/fastchat-t5-3b-v1.0_${EXT}.log
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
export HUGGINGFACE_MODEL_NAME_OR_PATH="TheBloke/wizardLM-7B-HF"
|
| 31 |
-
echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 32 |
-
python test.py 2>&1 | tee ./data/logs/wizardLM-7B-HF_${EXT}.log
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
export HUGGINGFACE_MODEL_NAME_OR_PATH="TheBloke/vicuna-7B-1.1-HF"
|
| 36 |
-
echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 37 |
-
python test.py 2>&1 | tee ./data/logs/vicuna-7B-1.1-HF_${EXT}.log
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
export HUGGINGFACE_MODEL_NAME_OR_PATH="nomic-ai/gpt4all-j"
|
| 41 |
-
echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 42 |
-
python test.py 2>&1 | tee ./data/logs/gpt4all-j_${EXT}.log
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
# export HUGGINGFACE_MODEL_NAME_OR_PATH="nomic-ai/gpt4all-falcon"
|
| 46 |
-
# echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 47 |
-
# python test.py 2>&1 | tee ./data/logs/gpt4all-falcon_${EXT}.log
|
| 48 |
-
|
| 49 |
-
export LLM_MODEL_TYPE=stablelm
|
| 50 |
-
|
| 51 |
-
# export STABLELM_MODEL_NAME_OR_PATH="stabilityai/stablelm-tuned-alpha-7b"
|
| 52 |
-
# echo Testing $STABLELM_MODEL_NAME_OR_PATH
|
| 53 |
-
# python test.py 2>&1 | tee ./data/logs/stablelm-tuned-alpha-7b_${EXT}.log
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
export STABLELM_MODEL_NAME_OR_PATH="OpenAssistant/stablelm-7b-sft-v7-epoch-3"
|
| 57 |
-
echo Testing $STABLELM_MODEL_NAME_OR_PATH
|
| 58 |
-
python test.py 2>&1 | tee ./data/logs/stablelm-7b-sft-v7-epoch-3_${EXT}.log
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
export LLM_MODEL_TYPE=mosaicml
|
| 62 |
-
export MOSAICML_MODEL_NAME_OR_PATH="mosaicml/mpt-7b-instruct"
|
| 63 |
-
echo Testing $MOSAICML_MODEL_NAME_OR_PATH
|
| 64 |
-
python test.py 2>&1 | tee ./data/logs/mpt-7b-instruct_${EXT}.log
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
# export MOSAICML_MODEL_NAME_OR_PATH="mosaicml/mpt-30b-instruct"
|
| 68 |
-
# echo Testing $MOSAICML_MODEL_NAME_OR_PATH
|
| 69 |
-
# LOAD_QUANTIZED_MODEL=4bit python test.py 2>&1 | tee ./data/logs/mpt-30b-instruct_${EXT}.log
|
| 70 |
-
|
| 71 |
-
export LLM_MODEL_TYPE=huggingface
|
| 72 |
-
export HUGGINGFACE_MODEL_NAME_OR_PATH="HuggingFaceH4/starchat-beta"
|
| 73 |
-
echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 74 |
-
LOAD_QUANTIZED_MODEL=8bit python test.py 2>&1 | tee ./data/logs/starchat-beta_${EXT}.log
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
# export HUGGINGFACE_MODEL_NAME_OR_PATH="../../models/starcoder"
|
| 78 |
-
# echo Testing $HUGGINGFACE_MODEL_NAME_OR_PATH
|
| 79 |
-
# LOAD_QUANTIZED_MODEL=8bit python test.py 2>&1 | tee ./data/logs/starcoder_${EXT}.log
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|