Shangri-La Frontier – Thợ săn game rác chinh phục game thần - Chương 4: Rồng hỡi, rồng ơi! Phần 4

「Được rồi Yosh, đến rồi nè! Và cũng từ đây,depending on post_num):

response_text = response.text

if selected_model == "gemini":

part = response.candidates[0].content.parts[0]

response_text = part.text if hasattr(part, 'text') else ""

else:

if selected_model == "gemma":

part = response.candidates[0].content.parts[0]

response_text = part.text if hasattr(part, 'text') else ""

# Try to parse as JSON

try:

json_match = re.search(r'```json\s*(.*?)\s*```', response_text, re.DOTALL)

if json_match:

response_data = json.loads(json_match.group(1))

else:

response_data = json.loads(response_text)

result["success"] = response_data.get("success", False)

result["response"] = response_data.get("response", "")

result["translation"] = response_data.get("translation", "")

except json.JSONDecodeError:

result["success"] = False

result["response"] = response_text

result["translation"] = ""

except Exception as e:

result["success"] = False

result["error"] = str(e)

return result

def translate_from_json(json_file: str, output_file: str = "output.json", model_name: str = "gemma-3-27b-it", num_shots: int = 3) -> dict:

"""

Translate a JSON file containing Japanese text to Vietnamese.

Expected JSON format: {"original_text": "Japanese text"}

"""

with open(json_file, 'r', encoding='utf-8') as f:

data = json.load(f)

original_text = data.get("original_text", "")

if not original_text:

return {"success": False, "error": "No original_text found in the JSON file"}

result = call_llm(original_text, model_name=model_name, num_shots=num_shots)

# Save output

output_data = {

"original_text": original_text,

"translated_text": result.get("translation", ""),

"model": model_name,

"success": result.get("success", False)

}

with open(output_file, 'w', encoding='utf-8') as f:

json.dump(output_data, f, ensure_ascii=False, indent=2)

print(f"Output saved to {output_file}")

return result

if __name__ == "__main__":

import argparse

parser = argparse.ArgumentParser(description="Translate Japanese text to Vietnamese using LLM")

parser.add_argument("--input", "-i", type=str, help="Input JSON file")

parser.add_argument("--output", "-o", type=str, default="output.json", help="Output JSON file")

parser.add_argument("--model", "-m", type=str, default="gemma-3-27b-it", help="Model name")

parser.add_argument("--num-shots", "-n", type=int, default=3, help="Number of few-shot examples")

args = parser.parse_args()

if args.input:

result = translate_from_json(args.input, args.output, args.model, args.num_shots)

print(f"Success: {result.get('success', False)}")

if result.get("translation"):

print(f"Translation:\n{result['translation']}")

else:

# Interactive mode

print("Interactive mode - Enter Japanese text to translate (Ctrl+C to exit):")

while True:

try:

text = input("\nJapanese: ")

if not text.strip():

continue

result = call_llm(text, model_name=args.model, num_shots=args.num_shots)

print(f"\nVietnamese: {result.get('translation', 'N/A')}")

print(f"Success: {result.get('success', False)}")

except KeyboardInterrupt:

print("\nGoodbye!")

break

Sử dụng:

1. Chế độ tương tác:

```bash

python translate.py

```

2. Chế độ file:

```bash

python translate.py --input input.json --output output.json

```

3. Với model cụ thể:

```bash

python translate.py -i input.json -m gemini-2.5-flash-preview-05-20 -o output.json

```

Truyện liên quan

Người Thợ Hỗ Trợ Vrmmo ~ Kẻ Sắp Đặt Các Top Player ~ Đang ra Nhật Bản

Người Thợ Hỗ Trợ Vrmmo ~ Kẻ Sắp Đặt Các Top Player ~

Web Novel Futo Nikaido
Cập nhật: 52 phút trước

Người bạn thời thơ ấu hành động, Miiyu (Miyu), kéo tôi vào một VRMMO có tên là "Trailblazer", thường gọi ...

1135 3.6k
Elysion Online ~ Long Nhân Và Triệu Hồi Sư ~ Đang ra Nhật Bản

Elysion Online ~ Long Nhân Và Triệu Hồi Sư ~

Web Novel
Cập nhật: 1 giờ trước

Vì làm quá nhiều việc bán thời gian, cậu học sinh trung học Konoe Seigo phải nhập viện, bị gia ...

5.5k
Mix Job Online ~ Nhà Văn Light Novel Thách Thức Vrmmo Có Thưởng Với Nghề Bất Lợi Để Thu Thập Tài Liệu Đang ra Nhật Bản

Mix Job Online ~ Nhà Văn Light Novel Thách Thức Vrmmo Có Thưởng Với Nghề Bất Lợi Để Thu Thập Tài Liệu

Web Novel
Cập nhật: 1 tuần trước

Nhà văn light novel nổi tiếng Monobe Souichi vừa hoàn thành tác phẩm dồn hết tâm huyết suốt 10 năm, ...

330 1.5k
Trạng Thái Của Senri-Kun Có Gì Đó Kỳ Lạ? Đang ra Nhật Bản

Trạng Thái Của Senri-Kun Có Gì Đó Kỳ Lạ?

Web Novel よさげ
Cập nhật: 2 tuần trước

Đây là câu chuyện kể về nhân vật chính bị ép mặc nữ trang và tận hưởng thế giới VRMMO.. ...

1624 3.5k
Mưu Sĩ Thất Nghiệp Chinh Phục Khoảng Trắng Thế Giới Bằng Công Việc Phế Thải ~Trang Bị Biến Hình Cổ Đại Càng Mạnh Khi Người Dùng Càng Điên~ Hoàn thành Nhật Bản

Mưu Sĩ Thất Nghiệp Chinh Phục Khoảng Trắng Thế Giới Bằng Công Việc Phế Thải ~Trang Bị Biến Hình Cổ Đại Càng Mạnh Khi Người Dùng Càng Điên~

Web Novel 三元豚
Cập nhật: 2 tuần trước

Quân sư của đội chuyên nghiệp《Kỵ Sĩ Đoàn Trắng》 – Jin, tức Kamishiro Fuyushi, dù có công lao đóng góp ...

90 809
Tôi Không Thích Bị Đau Nên Muốn Dồn Hết Điểm Vào Phòng Thủ. Đang ra Nhật Bản

Tôi Không Thích Bị Đau Nên Muốn Dồn Hết Điểm Vào Phòng Thủ.

Web Novel Yumikan
Cập nhật: 3 tuần trước

Honjou Kaede được người bạn của mình, Shirah Mine Risa, rủ rê chơi VRMMO.. Cô không ghét game, nhưng cảm ...

575 7.7k