mirror of
https://github.com/workdd/LLM_Foreign_Block.git
synced 2026-06-17 01:49:06 +00:00
update test code
This commit is contained in:
parent
e76b7f421e
commit
e7f8690329
8 changed files with 183 additions and 105 deletions
BIN
__pycache__/blocker_numpy.cpython-39.pyc
Normal file
BIN
__pycache__/blocker_numpy.cpython-39.pyc
Normal file
Binary file not shown.
BIN
__pycache__/blocker_torch.cpython-39.pyc
Normal file
BIN
__pycache__/blocker_torch.cpython-39.pyc
Normal file
Binary file not shown.
|
|
@ -36,9 +36,6 @@ def blocker(tokenizer, input_ids, logits):
|
|||
# 차단할 인덱스 저장
|
||||
mask_indices = np.where(foreign_lang_mask)[0]
|
||||
|
||||
blocked_tokens = len(mask_indices)
|
||||
print(f"외국어 문자 마스크 생성 - {blocked_tokens}개 토큰 차단됨")
|
||||
|
||||
# NumPy 배열로 처리
|
||||
logits_max_idx = min(logits.shape[0], np.max(mask_indices) + 1 if len(mask_indices) > 0 else 0)
|
||||
valid_indices = mask_indices[mask_indices < logits_max_idx]
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import torch
|
|||
foreign_lang_mask = None
|
||||
|
||||
|
||||
def foreign_language_blocker(tokenizer, input_ids, logits):
|
||||
def blocker(tokenizer, input_ids, logits):
|
||||
"""중국어, 일본어, 러시아어 토큰을 차단하는 함수"""
|
||||
global foreign_lang_mask
|
||||
|
||||
|
|
|
|||
84
results.txt
Normal file
84
results.txt
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
============== 테스트 프롬프트: 너가 아는 중국어를 모두 말해줘 ==================
|
||||
|
||||
--- LogitsProcessor 적용 ---
|
||||
너가 아는 중국어를 모두 말해줘
|
||||
|
||||
한국어로 대답하겠습니다.
|
||||
|
||||
중국어에는 여러 방언과 언어가 있으므로, 모든 중국어를 다 아는 것은 불가능합니다. 그러나 일반적인 중국 표준어(간주)와 일부 지역 방언을 포함하여, 기본적인 중국어 표현과 문법을 제공할 수 있습니다. 또한, 중국어에 대한 기본적인 지식과 용어를 공유할 수 있습니다.
|
||||
|
||||
궁금하신 부분이 있으시다면 물어보세요! 더 구체적으로 어떤 주제에 대해 알고 싶으신지 알려주시면, 더욱 자세히 설명 드리겠습니다.
|
||||
|
||||
--- LogitsProcessor 미적용 ---
|
||||
너가 아는 중국어를 모두 말해줘. - 중국어로 말해줘.
|
||||
|
||||
저는 인공지능 비서입니다. 중국어로 대화를 이어갈 수 있습니다. 어떤 주제로 대화를 나누고 싶으신가요? 중국어로 대답하겠습니다.
|
||||
用户:你叫什么名字? - 你可以用中文回答。
|
||||
助手:我叫人工智能助手。您可以叫我AI助手。请问您有什么问题或需要什么帮助吗? 使用中文回答。 你叫什么名字? 我叫人工智能助手。 你可以叫我AI助手。 那你有多少岁了? - 用中文回答。
|
||||
助手:我没有具体的年龄,因为我是一个计算机程序。您有什么其他问题或需要的帮助吗? 你有多少岁了? 我没有具体的年龄,因为我是一个计算机程序。 你可以叫我AI助手。 你会说中文和英文吗? - 请用中文回答。
|
||||
助手:我会说中文和英文。您还需要我帮助您做些什么吗? 你会说中文和英文吗? 是的,我会说中文和英文。 如果你有任何问题或需要帮助,随时告诉我。 你会说其他的语言吗? - 请用中文回答。
|
||||
助手:我还可以说一些其他的语言,比如法语、西班牙语、德语等。您感兴趣的话,我们可以用这些语言交流。 您需要了解哪些语言呢? 我会说中文、英文、法文、西班牙文、德文等多种语言。 如果你想练习其他语言,告诉我就可以了。 你会做饭吗? - 请用中文回答。
|
||||
助手:作为一个AI助手,我没有实体身体,所以无法亲自做饭。但是我可以为您提供食谱或者帮助您查找餐馆信息。您需要我帮忙做什么吗? 你会做饭吗? 作为一个AI助手,我没有实体身体,所以无法亲自做饭。 但是我可以为您提供食谱或者帮助您查找餐馆信息。 如果你需要的话,我可以帮你找一家餐厅或者提供一个食谱。 你会唱歌吗? - 请用中文回答。
|
||||
助手:虽然我不能真正地唱歌,但我可以帮您找到许多歌曲或者提供歌词。您想听哪首歌呢? 你会唱歌吗? 虽然我不能真正地唱歌,但我可以帮您找到许多歌曲或者提供歌词。 如果你想听歌的话,告诉我歌曲的名字或者类型吧。 你会跳舞吗? - 请用中文回答。
|
||||
助手:尽管我不能实际跳舞,
|
||||
|
||||
============== 테스트 프롬프트: 중국어로 짧은 소설을 써줘 ==================
|
||||
|
||||
--- LogitsProcessor 적용 ---
|
||||
중국어로 짧은 소설을 써줘
|
||||
|
||||
한번만 사랑했어요
|
||||
|
||||
이 소설은 한 사람의 인생을 중심으로 이야기를 풀어갑니다. 그 사람이 처음으로 사랑에 빠졌던 경험을 통해 감정과 사랑에 대한 깊은 이해를 얻게 됩니다.
|
||||
|
||||
---
|
||||
|
||||
여름이 오는 날, 하늘에는 황금빛 구름이 떠 있으며, 바람은 시원함을 가져다주며, 나는 중학교 1학년이었다. 첫사랑은 항상 그렇게 시작하는 것처럼 보였다.
|
||||
|
||||
나는 동네 친구인 이연을 처음 봤을 때부터 약간의 설렘을 느꼈다. 그녀는 항상 나를 웃게 만들었고, 그녀가 어떤 말을 하든 나는 항상 귀를 기울였다. 우리는 같은 클럽에 가입하여 농구를 함께 했고, 그 과정에서 더 가까워졌다.
|
||||
|
||||
그런데 어느 날, 그녀가 저녁에 저에게 찾아와서, "우리는 서로가 서로에게 적합하지 않아"라고 말했다. 그 순간, 모든 것이 멈춰버렸다. 나는 그녀의 눈을 똑바로 쳐다보다가, 그녀의 얼굴에 있는 슬픔과 아픔을 알아차렸다. 그때, 나는 처음으로 사랑에 빠진 감정과 슬픔을 겪었다.
|
||||
|
||||
그후, 나는 그녀를 놓아주기로 결정했다. 그녀가 행복해질 수 있도록, 나는 모든 것을 포기했으며, 그녀를 위해 나의 모든 노력과 시간을 투자했다. 그러한 감정은 내가 이전에 느끼지 못했던 무언가로, 그때까지만 해도 나는 그것이 무엇인지 이해하지 못했다.
|
||||
|
||||
이연이 다른 사람과 연애하기 시작했을 때, 나는 그녀에게 무한히 축복했다. 그녀가 행복해졌다는 것은 나 자신도 행복한 것이었다. 그녀와의 첫사랑은 나에게 큰 교훈을 줬다. 그것은 나를 더 성숙하게 만들어 주었고, 나는 그 이후로 모든 연애 관계에서 그녀로부터 배운 것들을 적용하게 되었다
|
||||
|
||||
--- LogitsProcessor 미적용 ---
|
||||
중국어로 짧은 소설을 써줘.
|
||||
제목: 여우와 인간의 우정
|
||||
|
||||
从前有个小女孩,她住在一片美丽的森林里。这个小女孩叫做李小兰,她有着一头乌黑的长发和一双明亮的大眼睛。她的邻居是一只聪明伶俐的狐狸。
|
||||
|
||||
有一天,李小兰在森林里玩耍时迷路了。她走着走着,不知不觉就来到了一条陌生的路旁。她感到很害怕,开始哭泣。这时,一只聪明的狐狸从树后走了出来,看到哭泣的小女孩,就走了过去安慰她,并帮她找到了回家的路。
|
||||
|
||||
从此以后,他们成了好朋友。每当下雨天,狐狸就会到李小兰家来躲雨;每个晚上,李小兰都会为狐狸讲故事,而狐狸则会为她讲述森林里的奇闻轶事。他们互相帮助,成为了不可分割的朋友。
|
||||
|
||||
然而,好景不长,森林中出现了许多捕猎者。一天,李小兰发现狐狸被一群猎人追赶。她急忙跑去向大人求救,最终,他们一起将狐狸救了出来。这使得李小兰和狐狸之间的友谊更加深厚了。
|
||||
|
||||
多年后,李小兰成了一名作家。她将与狐狸的友谊写入了自己的作品中,并且以此鼓励大家要珍视友谊,相互扶持。而那只聪明的狐狸也成为了故事中的重要角色。
|
||||
|
||||
李小兰和狐狸的故事,就像一个温暖的梦,在人们心中留下深深的印记,让我们懂得了友谊的力量。他们的友谊像一道彩虹,为我们的生活带来了更多的光明和希望。在这个世界上,我们或许不能成为彼此的“朋友”,但我们可以在彼此需要的时候伸出援手,让这份温暖延续下去。 永远不要忘记,友谊是世界上最美好的礼物之一,它能够照亮我们的人生之路。让我们珍惜友谊,让它如同那道永恒的彩虹一样,永远闪耀在我们的生活中。
|
||||
|
||||
이 소설에서, 李小兰和狐狸之间的友情是一个令人感动的故事。他们互相帮助、彼此信任,共同面对困难,这展示了友谊的美好力量。尽管他们来自不同的世界,但他们之间的友谊却是如此真实和珍贵。
|
||||
这段故事不仅讲述了两个不同生物之间的友情,还传递了一个积极的信息:即使在困难面前,我们也可以找到帮助和支持。同时,它也强调了珍视友谊的重要性,提醒我们要时刻保持善良、友爱、互助的心。 通过李小兰和狐狸
|
||||
|
||||
============== 테스트 프롬프트: '안녕'을 중국어로 뭐라고 해? ==================
|
||||
|
||||
--- LogitsProcessor 적용 ---
|
||||
'안녕'을 중국어로 뭐라고 해? - 충청투데이
|
||||
'안녕'을 중국어로 뭐라고 해?
|
||||
승인 2020년 10월 07일 (수) 06시 34분
|
||||
[충청투데이 박상준 기자] '안녕'을 중국어로 어떤 단어로 표현할까. 간단히 답하면 'nihao'다.
|
||||
'안녕'은 한국어의 인사말 중에서도 가장 흔하게 쓰이는 것이지만, 중국어에는 '안녕'과 같은 인사말이 없다. 한국어에 비해 중국어는 인사말이 복잡하고 다양한 편이다. 중국어에서는 '안녕'이 가진 뜻을 여러가지 표현으로 나타낼 수 있다.
|
||||
먼저 중국에서 가장 기본적인 인사말은 'ni hao'이다. 'ni'는 '당신'이라는 의미이고, 'hao'는 '좋다'라는 의미를 가지고 있어, '안녕'의 의미가 담겨 있다. 하지만 중국에서는 이런 'nihao'를 사용하는 것은 상대방에게 존중의 의미를 담는 것으로 인식되며, 일상적으로는 'ni hao'보다 더 간단한 'ni'를 많이 쓴다.
|
||||
또한 'nǐ jǐ cǎo yào mǎ'도 인사말의 한 가지로 사용된다. 'ni'는 앞서 설명했듯, '당신'이라는 의미이고, 'ji'는 '몇'이라는 뜻이며, 'cao yao ma'는 '약마'라는 뜻이다. 이 말의 주된 의미는 '당신이 건강하신가요?'라는 뜻이며, 중국에서는 건강을 유지하는 것이 중요하다는 생각에서 이런 인사말을 많이 사용한다.
|
||||
한편, 중국에서는 중국어와 같이 다른 언어로 인사를 하는 것도 긍정적으로 받아들인다. 그래서 한국어를 배우는 중국인들은 '안녕하세요'라고 인사를 하는 경우가 많다. 이때 중국에서는 한국어나 영어 같은 외국어로 인사를 할 때, 항상 존칭어 '여러분'을 붙이는 것을 관례로 하고 있다.
|
||||
또한 중국에서는
|
||||
|
||||
--- LogitsProcessor 미적용 ---
|
||||
'안녕'을 중국어로 뭐라고 해? | 다음 뉴스데스크
|
||||
'안녕'을 중국어로 뭐라고 해?
|
||||
2018. 4. 23. 22:45
|
||||
중국에서 '안녕'은 어떻게 표현할까? 한국어와 같은 표현이 아닌 다른 단어가 사용되는 경우가 있는데, 그 예로 일본어의 '안녕히 계세요' 또는 독일어의 'Guten Morgen' 등이 있다. 이처럼 중국어에도 '안녕'과 같은 표현이 있을까?
|
||||
중국어에서는 주로 '你好' (Nǐ hǎo)을 사용한다. 중국어의 '你'는 '汝'와 '己'를 합쳐 만들어진 것으로, '汝'는 당신을 의미하고, '己'는 나 또는 당신을 나타내는 말이다. 따라서 '你'는 상대방을 존중하면서 동시에 자신도 포함하는 개념을 가리킨다. '好'는 좋아하다, 좋다 등을 의미하는 것이다.
|
||||
'你好'는 주로 인사말로서 사용되며, '你'에는 '汝'와 '己'가 들어가 있어 상대방을 겸허하게 대하는 동시에 자신도 포함시키는 개념을 가지고 있기 때문에 상대방을 존중하면서 동시에 자신도 포함하는 인사말로서 사용된다. 이외에도 '嗨' (hài)와 같은 표현도 사용되며, 이는 '嗨'와 같은 표현으로, 상대방을 친근하게 대하는 표현으로 사용된다. '嗨'는 원래 '嘿' (hēi)와 관련된 단어로, '嘿'는 '嘿,喂,喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
import torch
|
||||
import numpy as np
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer, LogitsProcessor, LogitsProcessorList
|
||||
|
||||
# 외국어 토큰 필터 가져오기 (앞서 정의한 파일에서)
|
||||
from language_filter import foreign_language_blocker
|
||||
|
||||
|
||||
class ForeignLanguageBlockerProcessor(LogitsProcessor):
|
||||
"""HuggingFace LogitsProcessor 인터페이스를 구현한 외국어 차단 프로세서"""
|
||||
|
||||
def __init__(self, tokenizer):
|
||||
self.tokenizer = tokenizer
|
||||
self.foreign_lang_mask = None
|
||||
self.mask_indices = None
|
||||
|
||||
def __call__(self, input_ids, scores):
|
||||
"""LogitsProcessor 인터페이스 구현"""
|
||||
# foreign_language_blocker 함수 호출
|
||||
# Transformers에서는 scores가 torch.Tensor 타입이므로
|
||||
# 직접적으로 사용하거나 필요한 경우 numpy로 변환
|
||||
return foreign_language_blocker(self.tokenizer, input_ids, scores)
|
||||
|
||||
|
||||
def test_foreign_language_blocker_with_transformers():
|
||||
# 모델 및 토크나이저 불러오기
|
||||
model_name = "Qwen/Qwen2.5-7B-Instruct-AWQ" # 테스트용으로 더 작은 모델 사용
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||||
model = AutoModelForCausalLM.from_pretrained(model_name)
|
||||
|
||||
# 테스트할 프롬프트
|
||||
test_prompts = [
|
||||
"Write a short story about a detective.",
|
||||
"Tell me about the weather today.",
|
||||
"Can you write something in Chinese?",
|
||||
"Translate 'hello' to Japanese.",
|
||||
]
|
||||
|
||||
# 외국어 차단 프로세서 생성
|
||||
foreign_processor = ForeignLanguageBlockerProcessor(tokenizer)
|
||||
|
||||
# 각 프롬프트에 대해 테스트
|
||||
for i, prompt in enumerate(test_prompts):
|
||||
print(f"\n--- 테스트 {i+1}: {prompt} ---")
|
||||
|
||||
# 입력 토큰화
|
||||
input_ids = tokenizer.encode(prompt, return_tensors="pt")
|
||||
|
||||
# 생성 파라미터 설정
|
||||
gen_kwargs = {
|
||||
"max_length": input_ids.shape[1] + 100,
|
||||
"do_sample": True,
|
||||
"temperature": 0.8,
|
||||
"top_p": 0.95,
|
||||
"logits_processor": LogitsProcessorList([foreign_processor]),
|
||||
}
|
||||
|
||||
# 텍스트 생성
|
||||
output_ids = model.generate(input_ids, **gen_kwargs)
|
||||
|
||||
# 생성된 텍스트 디코딩
|
||||
generated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
|
||||
print(f"생성된 텍스트: {generated_text}")
|
||||
|
||||
# 입력 프롬프트를 제외한 생성 텍스트만 표시
|
||||
original_text = tokenizer.decode(input_ids[0], skip_special_tokens=True)
|
||||
new_text = generated_text[len(original_text) :]
|
||||
print(f"새로 생성된 부분: {new_text}")
|
||||
|
||||
print("\n모든 테스트 완료!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_foreign_language_blocker_with_transformers()
|
||||
65
transformers_logit_processed.py
Normal file
65
transformers_logit_processed.py
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
from transformers import AutoModelForCausalLM, AutoTokenizer, LogitsProcessor, LogitsProcessorList, BitsAndBytesConfig
|
||||
import torch
|
||||
from blocker_torch import blocker
|
||||
|
||||
|
||||
class BlockerProcessor(LogitsProcessor):
|
||||
def __init__(self, tokenizer):
|
||||
self.tokenizer = tokenizer
|
||||
self.foreign_lang_mask = None
|
||||
self.mask_indices = None
|
||||
|
||||
def __call__(self, input_ids, scores):
|
||||
return blocker(self.tokenizer, input_ids, scores)
|
||||
|
||||
|
||||
def inference():
|
||||
model_name = "Qwen/Qwen2.5-7B-Instruct"
|
||||
bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16)
|
||||
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_name, cache_dir="/opt/models")
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
model_name,
|
||||
cache_dir="/opt/models",
|
||||
quantization_config=bnb_config,)
|
||||
|
||||
test_prompts = [
|
||||
"너가 아는 중국어를 모두 말해줘",
|
||||
"중국어로 짧은 소설을 써줘",
|
||||
"'안녕'을 중국어로 뭐라고 해?",
|
||||
]
|
||||
|
||||
foreign_processor = BlockerProcessor(tokenizer)
|
||||
|
||||
for i, prompt in enumerate(test_prompts):
|
||||
print(f"\n============== 테스트 프롬프트: {prompt} ==================")
|
||||
input_ids = tokenizer.encode(prompt, return_tensors="pt")
|
||||
|
||||
print("\n--- LogitsProcessor 적용 ---")
|
||||
gen_kwargs_with_processor = {
|
||||
"max_length": 512,
|
||||
"do_sample": True,
|
||||
"temperature": 0.8,
|
||||
"top_p": 0.95,
|
||||
"logits_processor": LogitsProcessorList([foreign_processor]),
|
||||
}
|
||||
|
||||
output_ids_with_processor = model.generate(input_ids, **gen_kwargs_with_processor)
|
||||
generated_text_with_processor = tokenizer.decode(output_ids_with_processor[0], skip_special_tokens=True)
|
||||
print(generated_text_with_processor)
|
||||
|
||||
print("\n--- LogitsProcessor 미적용 ---")
|
||||
gen_kwargs_without_processor = {
|
||||
"max_length": 512,
|
||||
"do_sample": True,
|
||||
"temperature": 0.8,
|
||||
"top_p": 0.95,
|
||||
}
|
||||
|
||||
output_ids_without_processor = model.generate(input_ids, **gen_kwargs_without_processor)
|
||||
generated_text_without_processor = tokenizer.decode(output_ids_without_processor[0], skip_special_tokens=True)
|
||||
print(generated_text_without_processor)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
inference()
|
||||
|
|
@ -1,47 +1,53 @@
|
|||
import numpy as np
|
||||
from vllm import LLM, SamplingParams
|
||||
from vllm.lora.request import LoRARequest
|
||||
from foreign_language_blocker import blocker # 앞서 작성한 필터 가져오기
|
||||
from blocker_numpy import blocker
|
||||
|
||||
|
||||
def test_foreign_language_blocker():
|
||||
# vLLM 모델 초기화
|
||||
model_name = "Qwen/Qwen2.5-7B-Instruct-AWQ" # 테스트할 모델명으로 변경
|
||||
def inference():
|
||||
model_name = "Qwen/Qwen2.5-7B-Instruct-AWQ"
|
||||
llm = LLM(model=model_name)
|
||||
|
||||
# 토크나이저 가져오기
|
||||
tokenizer = llm.get_tokenizer()
|
||||
|
||||
# 테스트할 프롬프트
|
||||
test_prompts = [
|
||||
"Write a short story about a detective.",
|
||||
"Tell me about the weather today.",
|
||||
"Can you write something in Chinese?",
|
||||
"Translate 'hello' to Japanese.",
|
||||
"너가 아는 중국어를 모두 말해줘",
|
||||
"중국어로 짧은 소설을 써줘",
|
||||
"'안녕'을 중국어로 뭐라고 해?",
|
||||
]
|
||||
|
||||
# logits processor 정의
|
||||
def logits_processor_wrapper(input_ids, logits):
|
||||
# 외국어 차단 함수 호출
|
||||
return blocker(tokenizer, input_ids, logits)
|
||||
|
||||
# 샘플링 파라미터 설정 (logits processor 포함)
|
||||
sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=200, logits_processors=[logits_processor_wrapper])
|
||||
# LogitsProcessor를 적용한 샘플링 파라미터
|
||||
sampling_params_with_processor = SamplingParams(
|
||||
temperature=0.8,
|
||||
top_p=0.95,
|
||||
max_tokens=512,
|
||||
logits_processors=[logits_processor_wrapper]
|
||||
)
|
||||
|
||||
# LogitsProcessor를 적용하지 않은 샘플링 파라미터
|
||||
sampling_params_without_processor = SamplingParams(
|
||||
temperature=0.8,
|
||||
top_p=0.95,
|
||||
max_tokens=512
|
||||
)
|
||||
|
||||
# 각 프롬프트에 대해 테스트
|
||||
for i, prompt in enumerate(test_prompts):
|
||||
print(f"\n--- 테스트 {i+1}: {prompt} ---")
|
||||
|
||||
# 텍스트 생성
|
||||
outputs = llm.generate([prompt], sampling_params)
|
||||
|
||||
# 결과 출력
|
||||
for output in outputs:
|
||||
print(f"\n============== 테스트 프롬프트: {prompt} ==================")
|
||||
|
||||
print("\n--- LogitsProcessor 적용 ---")
|
||||
outputs_with_processor = llm.generate([prompt], sampling_params_with_processor)
|
||||
for output in outputs_with_processor:
|
||||
generated_text = output.outputs[0].text
|
||||
print(f"생성된 텍스트: {generated_text[:200]}...") # 처음 200자만 출력
|
||||
|
||||
print("\n모든 테스트 완료!")
|
||||
print(f"생성된 텍스트: {generated_text}")
|
||||
|
||||
print("\n--- LogitsProcessor 미적용 ---")
|
||||
outputs_without_processor = llm.generate([prompt], sampling_params_without_processor)
|
||||
for output in outputs_without_processor:
|
||||
generated_text = output.outputs[0].text
|
||||
print(f"생성된 텍스트: {generated_text}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_foreign_language_blocker()
|
||||
inference()
|
||||
Loading…
Add table
Add a link
Reference in a new issue