修改随机生成
This commit is contained in:
parent
c591f93da1
commit
10734baabf
14
AIGC/main.py
14
AIGC/main.py
@ -15,7 +15,7 @@ from Utils.AIGCLog import AIGCLog
|
|||||||
from ollama import Client, ResponseError
|
from ollama import Client, ResponseError
|
||||||
|
|
||||||
app = FastAPI(title = "AI 通信服务")
|
app = FastAPI(title = "AI 通信服务")
|
||||||
logger = AIGCLog(name = "TestLog", log_file = "aigc.log")
|
logger = AIGCLog(name = "AIGC", log_file = "./Log/aigc.log")
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('--model', type=str, default='deepseek-r1:1.5b',
|
parser.add_argument('--model', type=str, default='deepseek-r1:1.5b',
|
||||||
@ -63,6 +63,7 @@ async def websocket_endpoint(websocket: WebSocket, client_id: str):
|
|||||||
data = await websocket.receive_text()
|
data = await websocket.receive_text()
|
||||||
logger.log(logging.INFO, f"收到UE5消息 [{client_id}]: {data}")
|
logger.log(logging.INFO, f"收到UE5消息 [{client_id}]: {data}")
|
||||||
success, prompt = process_prompt(data)
|
success, prompt = process_prompt(data)
|
||||||
|
lastPrompt = prompt
|
||||||
# 调用AI生成响应
|
# 调用AI生成响应
|
||||||
if(success):
|
if(success):
|
||||||
asyncio.create_task(generateAIChat(prompt, websocket))
|
asyncio.create_task(generateAIChat(prompt, websocket))
|
||||||
@ -82,9 +83,7 @@ async def websocket_endpoint(websocket: WebSocket, client_id: str):
|
|||||||
|
|
||||||
def process_prompt(promptFromUE: str) -> Tuple[bool, str]:
|
def process_prompt(promptFromUE: str) -> Tuple[bool, str]:
|
||||||
try:
|
try:
|
||||||
lastPrompt = promptFromUE
|
|
||||||
data = json.loads(promptFromUE)
|
data = json.loads(promptFromUE)
|
||||||
|
|
||||||
# 提取数据
|
# 提取数据
|
||||||
dialog_scene = data["dialogContent"]["dialogScene"]
|
dialog_scene = data["dialogContent"]["dialogScene"]
|
||||||
persons = data["persons"]
|
persons = data["persons"]
|
||||||
@ -92,10 +91,8 @@ def process_prompt(promptFromUE: str) -> Tuple[bool, str]:
|
|||||||
assert len(persons) == 2
|
assert len(persons) == 2
|
||||||
for person in persons:
|
for person in persons:
|
||||||
print(f" 姓名: {person['name']}, 职业: {person['job']}")
|
print(f" 姓名: {person['name']}, 职业: {person['job']}")
|
||||||
#动态标识吗 防止重复输入导致的结果重复
|
|
||||||
dynamic_token = str(int(time.time() % 1000))
|
|
||||||
prompt = f"""
|
prompt = f"""
|
||||||
[动态标识码:{dynamic_token}]
|
|
||||||
你是一个游戏NPC对话生成器。请严格按以下要求生成两个路人NPC({persons[0]["name"]}和{persons[1]["name"]})的日常对话:
|
你是一个游戏NPC对话生成器。请严格按以下要求生成两个路人NPC({persons[0]["name"]}和{persons[1]["name"]})的日常对话:
|
||||||
1. 生成【2轮完整对话】,每轮包含双方各一次发言(共4句)
|
1. 生成【2轮完整对话】,每轮包含双方各一次发言(共4句)
|
||||||
2. 对话场景:{dialog_scene}
|
2. 对话场景:{dialog_scene}
|
||||||
@ -140,6 +137,11 @@ def run_webserver():
|
|||||||
)
|
)
|
||||||
|
|
||||||
async def generateAIChat(prompt: str, websocket: WebSocket):
|
async def generateAIChat(prompt: str, websocket: WebSocket):
|
||||||
|
#动态标识吗 防止重复输入导致的结果重复
|
||||||
|
dynamic_token = str(int(time.time() % 1000))
|
||||||
|
prompt = f"""
|
||||||
|
[动态标识码:{dynamic_token}]
|
||||||
|
""" + prompt
|
||||||
logger.log(logging.INFO, "prompt:" + prompt)
|
logger.log(logging.INFO, "prompt:" + prompt)
|
||||||
starttime = time.time()
|
starttime = time.time()
|
||||||
receivemessage=[
|
receivemessage=[
|
||||||
|
Loading…
x
Reference in New Issue
Block a user