add gemini mode

This commit is contained in:
2025-06-19 05:59:14 +00:00
parent 5cda323c24
commit e4a1786501
4 changed files with 312 additions and 34 deletions

View File

@ -7,6 +7,7 @@ import streamlit as st
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_ollama import ChatOllama
from langchain_google_genai import ChatGoogleGenerativeAI
from utils import parse_config
@ -24,15 +25,24 @@ class TranslatorApp:
'話則請回傳一模一樣的句子,若是的話則請將該句翻譯成{target_lang},並且符合{description}'
'(僅回傳翻譯結果即可)。'
)
llm = ChatOllama(
base_url=self._config['app']['ollama_url'],
model=self._config['app']['ollama_model_name'],
temperature=self._config['app']['ollama_temperature'],
max_tokens=self._config['app']['ollama_max_tokens'],
top_p=self._config['app']['ollama_top_p'],
keep_alive=self._config['app']['ollama_keep_alive'],
stop=None
)
if self._config['app']['llm_mode'] == 'ollama':
llm = ChatOllama(
base_url=self._config['app']['ollama']['url'],
model=self._config['app']['ollama']['model_name'],
temperature=self._config['app']['ollama']['temperature'],
max_tokens=self._config['app']['ollama']['max_tokens'],
top_p=self._config['app']['ollama']['top_p'],
keep_alive=self._config['app']['ollama']['keep_alive'],
stop=None
)
elif self._config['app']['llm_mode'] == 'gemini':
llm = ChatGoogleGenerativeAI(
model=self._config['app']['gemini']['model_name'],
temperature=self._config['app']['gemini']['temperature'],
max_tokens=self._config['app']['gemini']['max_tokens']
)
else:
raise ValueError(f'Unsupported llm model: {self._config['app']['llm_mode']}')
prompt = PromptTemplate(
input_variables=['input_text', 'source_lang', 'target_lang', 'description'],
template=template