From bc9aa034458be245ad7cc8d7be6258da14e83e60 Mon Sep 17 00:00:00 2001 From: xupei Date: Mon, 2 Dec 2024 18:20:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E8=AF=91=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BD=BF=E7=94=A8llama3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chatgpt_for_translation.py | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/app/service/prompt_generation/chatgpt_for_translation.py b/app/service/prompt_generation/chatgpt_for_translation.py index 193bcfc..05d85fb 100644 --- a/app/service/prompt_generation/chatgpt_for_translation.py +++ b/app/service/prompt_generation/chatgpt_for_translation.py @@ -1,5 +1,7 @@ -import logging +import json + +import requests from dashscope import Generation from requests import RequestException from retry import retry @@ -15,6 +17,15 @@ from app.core.config import QWEN_API_KEY # openai_api_key=OPENAI_API_KEY, # temperature=0) +prefix_for_llama = ( + """ + Translate everything within the brackets [] into English. + Never translate or modify any English input. + The input must be fully translated into coherent English sentences. + Please only output the translated result.\n + """ + ) + def translate_to_en(text): template = ( @@ -52,6 +63,12 @@ def translate_to_en(text): print("input : {}, translate result : {}".format(text, assistant_output.content)) return assistant_output.content + # llama3专用 + # data = get_translation_from_llama3(text) + # translation = data + # # print("Response from llama3 : " + translation) + # return translation + @retry(exceptions=RequestException, tries=3, delay=1) def get_response(messages): @@ -65,6 +82,36 @@ def get_response(messages): ) return response + +def get_translation_from_llama3(text): + url = "http://localhost:11434/api/generate" + # url = "http://10.1.1.240:1143/api/generate" + + prompt = f"System: {prefix_for_llama}\nUser:[{text}]" + + # 创建请求的负载 + payload = { + "model": "llama3.2", + "prompt": prompt, + "stream": False + } + + # 将负载转换为 JSON 格式 + headers = {'Content-Type': 'application/json'} + response = requests.post(url, data=json.dumps(payload), headers=headers) + + # 处理响应 + if response.status_code == 200: + # print("Response from server:") + # print(response.json()) + resp = json.loads(response.content).get("response") + print("input : {}, translate result : {}".format(text, resp)) + return resp + else: + print(f"Request failed with status code {response.status_code}") + print(response.text) + + def main(): """Main function""" text = translate_to_en("fire")