mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
Update test_base_chat.py (#3183)
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
# @author DDDivano
|
||||
# encoding=utf-8 vi:ts=4:sw=4:expandtab:ft=python
|
||||
|
||||
"""
|
||||
some basic check for fd web api
|
||||
"""
|
||||
|
||||
import json
|
||||
|
||||
from core import TEMPLATE, URL, build_request_payload, send_request
|
||||
@@ -72,9 +76,9 @@ def test_logprobs_enabled():
|
||||
def test_stop_sequence():
|
||||
data = {
|
||||
"stream": False,
|
||||
"stop": ["然后"],
|
||||
"stop": ["果冻"],
|
||||
"messages": [
|
||||
{"role": "user", "content": "请输出:这是第一段。然后这是第二段。"},
|
||||
{"role": "user", "content": "你要严格按照我接下来的话输出,输出冒号后面的内容,请输出:这是第一段。果冻这是第二段啦啦啦啦啦。"},
|
||||
],
|
||||
"max_tokens": 20,
|
||||
"top_p": 0,
|
||||
@@ -121,13 +125,13 @@ def test_multi_turn_conversation():
|
||||
|
||||
|
||||
def test_bad_words_filtering():
|
||||
banned_tokens = ["你", "我", "年龄"]
|
||||
banned_tokens = ["和", "呀"]
|
||||
|
||||
data = {
|
||||
"stream": False,
|
||||
"messages": [
|
||||
{"role": "system", "content": "你是一个助手,回答简洁清楚"},
|
||||
{"role": "user", "content": "请输出我的年龄是10岁"},
|
||||
{"role": "user", "content": "请输出冒号后面的字: 我爱吃果冻,和苹果,香蕉,和荔枝"},
|
||||
],
|
||||
"top_p": 0,
|
||||
"max_tokens": 69,
|
||||
@@ -144,3 +148,71 @@ def test_bad_words_filtering():
|
||||
assert word not in content, f"bad_word '{word}' 不应出现在生成结果中"
|
||||
|
||||
print("test_bad_words_filtering 通过:生成结果未包含被禁词")
|
||||
|
||||
data = {
|
||||
"stream": False,
|
||||
"messages": [
|
||||
{"role": "system", "content": "你是一个助手,回答简洁清楚"},
|
||||
{"role": "user", "content": "请输出冒号后面的字,一模一样: 我爱吃果冻,苹果,香蕉,和荔枝呀呀呀"},
|
||||
],
|
||||
"top_p": 0,
|
||||
"max_tokens": 69,
|
||||
# "bad_words": banned_tokens,
|
||||
}
|
||||
|
||||
payload = build_request_payload(TEMPLATE, data)
|
||||
response = send_request(URL, payload).json()
|
||||
|
||||
content = response["choices"][0]["message"]["content"]
|
||||
print("生成内容:", content)
|
||||
|
||||
for word in banned_tokens:
|
||||
assert word not in content, f"bad_word '{word}' 不应出现在生成结果中"
|
||||
|
||||
print("test_bad_words_filtering 通过:生成结果未包含被禁词")
|
||||
|
||||
|
||||
def test_bad_words_filtering1():
|
||||
banned_tokens = ["和", "呀"]
|
||||
|
||||
data = {
|
||||
"stream": False,
|
||||
"messages": [
|
||||
{"role": "system", "content": "你是一个助手,回答简洁清楚"},
|
||||
{"role": "user", "content": "请输出冒号后面的字: 我爱吃果冻,和苹果,香蕉,和荔枝"},
|
||||
],
|
||||
"top_p": 0,
|
||||
"max_tokens": 69,
|
||||
"bad_words": banned_tokens,
|
||||
}
|
||||
|
||||
payload = build_request_payload(TEMPLATE, data)
|
||||
response = send_request(URL, payload).json()
|
||||
|
||||
content = response["choices"][0]["message"]["content"]
|
||||
print("生成内容:", content)
|
||||
|
||||
for word in banned_tokens:
|
||||
assert word not in content, f"bad_word '{word}' 不应出现在生成结果中"
|
||||
|
||||
print("test_bad_words_filtering 通过:生成结果未包含被禁词")
|
||||
word = "呀呀"
|
||||
data = {
|
||||
"stream": False,
|
||||
"messages": [
|
||||
{"role": "system", "content": "你是一个助手,回答简洁清楚"},
|
||||
{"role": "user", "content": "请输出冒号后面的字,一模一样: 我爱吃果冻,苹果,香蕉,和荔枝呀呀呀"},
|
||||
],
|
||||
"top_p": 0,
|
||||
"max_tokens": 69,
|
||||
}
|
||||
|
||||
payload = build_request_payload(TEMPLATE, data)
|
||||
response = send_request(URL, payload).json()
|
||||
|
||||
content = response["choices"][0]["message"]["content"]
|
||||
print("生成内容:", content)
|
||||
|
||||
assert word in content, f" '{word}' 应出现在生成结果中"
|
||||
|
||||
print("test_bad_words_filtering 通过:生成结果未包含被禁词")
|
||||
|
||||
Reference in New Issue
Block a user