Hunyuan-MT Pro Streamlit终端定制:添加企业LOGO+品牌色主题配置
1. 项目概述
Hunyuan-MT Pro是一个基于腾讯混元开源模型构建的现代化翻译Web终端,它将Streamlit的便捷交互与混元模型强大的多语言理解能力完美结合。这个翻译终端支持33种语言互译,提供专业级的翻译体验。
对于企业用户来说,一个专业的翻译工具不仅需要功能强大,还需要与企业品牌形象保持一致。本文将详细介绍如何为Hunyuan-MT Pro Streamlit终端添加企业LOGO和品牌色主题配置,让你的翻译工具更具专业性和品牌辨识度。
2. 环境准备与基础配置
2.1 安装必要依赖
在开始定制之前,确保你的环境中已经安装了必要的Python包:
pip install streamlit torch transformers accelerate2.2 基础项目结构
确保你的项目目录结构如下:
hunyuan-mt-pro/ ├── app.py # 主程序文件 ├── requirements.txt # 依赖文件 ├── assets/ # 新建目录,存放资源文件 │ ├── logo.png # 企业LOGO │ └── custom.css # 自定义样式文件 └── config.py # 配置文件(可选)3. 添加企业LOGO到Streamlit界面
3.1 准备LOGO文件
首先将你的企业LOGO图片放置在项目的assets目录中。建议使用PNG格式,尺寸建议为120x40像素,背景透明为佳。
3.2 在Streamlit中集成LOGO
在app.py文件中添加LOGO显示代码:
import streamlit as st from PIL import Image import os # 设置页面配置 st.set_page_config( page_title="企业定制翻译终端", page_icon="🌏", layout="wide" ) # 加载企业LOGO def load_logo(): try: logo_path = os.path.join('assets', 'logo.png') logo = Image.open(logo_path) return logo except FileNotFoundError: st.warning("企业LOGO文件未找到,请将logo.png放置在assets目录下") return None # 在侧边栏显示LOGO def display_sidebar_logo(): logo = load_logo() if logo: st.sidebar.image(logo, use_column_width=True) else: st.sidebar.title("企业翻译终端") # 在主界面显示LOGO def display_main_logo(): logo = load_logo() if logo: col1, col2, col3 = st.columns([1, 2, 1]) with col2: st.image(logo, width=200) st.markdown("---")3.3 集成到主程序
在你的主翻译函数中调用LOGO显示:
def main(): # 显示LOGO display_main_logo() display_sidebar_logo() # 原有的翻译功能代码 st.title("多语言翻译终端") # ... 原有的语言选择、文本输入、翻译按钮等代码4. 配置品牌色主题
4.1 创建自定义CSS文件
在assets/custom.css文件中定义品牌色:
/* 主品牌色 */ :root { --primary-color: #1E88E5; /* 主要按钮和强调色 */ --secondary-color: #FF6D00; /* 次要强调色 */ --background-color: #F5F5F5; /* 背景色 */ --text-color: #212121; /* 主要文字颜色 */ --success-color: #43A047; /* 成功状态颜色 */ } /* 覆盖Streamlit默认样式 */ .stButton>button { background-color: var(--primary-color); color: white; border: none; border-radius: 8px; padding: 0.5rem 1rem; font-weight: 600; } .stButton>button:hover { background-color: #1565C0; color: white; } /* 侧边栏样式 */ .css-1d391kg { background-color: var(--background-color); } /* 文本输入框样式 */ .stTextInput>div>div>input { border: 2px solid var(--primary-color); border-radius: 8px; } /* 成功消息样式 */ .stAlert { background-color: var(--success-color); color: white; }4.2 在Streamlit中加载自定义样式
在app.py中添加样式加载函数:
def load_custom_css(): css_file = os.path.join('assets', 'custom.css') if os.path.exists(css_file): with open(css_file) as f: st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True) else: st.warning("自定义CSS文件未找到") # 在主函数中调用 def main(): load_custom_css() # ... 其他代码5. 完整的定制化配置示例
5.1 创建配置文件
创建config.py文件来管理品牌配置:
# 品牌配置 BRAND_CONFIG = { "company_name": "你的企业名称", "primary_color": "#1E88E5", "secondary_color": "#FF6D00", "logo_path": "assets/logo.png", "favicon": "🌏", "page_title": "企业智能翻译平台" } # 翻译参数默认值 TRANSLATION_CONFIG = { "default_temperature": 0.3, "default_top_p": 0.9, "default_max_tokens": 512 }5.2 完整的定制化主程序
import streamlit as st from PIL import Image import os import config # 设置页面配置 st.set_page_config( page_title=config.BRAND_CONFIG["page_title"], page_icon=config.BRAND_CONFIG["favicon"], layout="wide" ) def load_custom_css(): """加载自定义CSS样式""" css_content = f""" <style> .stButton>button {{ background-color: {config.BRAND_CONFIG["primary_color"]}; color: white; border: none; border-radius: 8px; padding: 0.5rem 1rem; font-weight: 600; }} .stButton>button:hover {{ background-color: {config.BRAND_CONFIG["secondary_color"]}; color: white; }} </style> """ st.markdown(css_content, unsafe_allow_html=True) def display_branding(): """显示品牌元素""" # 显示LOGO try: logo = Image.open(config.BRAND_CONFIG["logo_path"]) col1, col2, col3 = st.columns([1, 2, 1]) with col2: st.image(logo, width=200) except: st.title(config.BRAND_CONFIG["company_name"]) st.markdown("---") def main(): # 加载自定义样式 load_custom_css() # 显示品牌元素 display_branding() # 侧边栏配置 with st.sidebar: st.header("翻译设置") # 显示侧边栏LOGO try: logo = Image.open(config.BRAND_CONFIG["logo_path"]) st.image(logo, use_column_width=True) except: st.subheader(config.BRAND_CONFIG["company_name"]) # 语言选择 source_lang = st.selectbox("源语言", ["中文", "英语", "日语", "韩语"]) target_lang = st.selectbox("目标语言", ["中文", "英语", "日语", "韩语"]) # 翻译参数 temperature = st.slider( "Temperature", min_value=0.1, max_value=1.0, value=config.TRANSLATION_CONFIG["default_temperature"] ) # 主翻译区域 st.header("文本翻译") input_text = st.text_area("输入要翻译的文本", height=150) if st.button("开始翻译", help="点击开始翻译"): if input_text.strip(): with st.spinner("翻译中..."): # 这里调用翻译模型的代码 # translated_text = translate_text(input_text, source_lang, target_lang) translated_text = "这是翻译结果示例" st.success("翻译完成!") st.text_area("翻译结果", translated_text, height=150) else: st.warning("请输入要翻译的文本") if __name__ == "__main__": main()6. 高级定制功能
6.1 多主题支持
你可以扩展配置来支持多个主题:
# 在config.py中添加主题配置 THEMES = { "default": { "primary": "#1E88E5", "secondary": "#FF6D00", "background": "#F5F5F5" }, "dark": { "primary": "#90CAF9", "secondary": "#FFB74D", "background": "#121212" }, "corporate": { "primary": "#2E7D32", "secondary": "#FF8F00", "background": "#FFFFFF" } }6.2 响应式LOGO显示
根据屏幕尺寸显示不同大小的LOGO:
def responsive_logo_display(): logo = load_logo() if logo: # 获取屏幕宽度(近似值) screen_width = st.get_option('client.width') if screen_width < 768: # 移动设备 st.image(logo, width=120) else: # 桌面设备 st.image(logo, width=200)7. 部署与测试
7.1 本地测试
运行以下命令测试定制效果:
streamlit run app.py7.2 部署建议
部署时确保所有资源文件都包含在部署包中:
- assets/目录下的所有文件
- 配置文件
- 依赖文件
8. 总结
通过本文的指导,你可以轻松地为Hunyuan-MT Pro Streamlit翻译终端添加企业LOGO和品牌色主题配置。这种定制不仅提升了工具的视觉专业性,还增强了品牌辨识度,让企业内部工具更加统一和专业化。
关键定制点包括:
- 企业LOGO的集成显示
- 品牌色主题的配置
- 自定义CSS样式的应用
- 响应式设计的考虑
- 配置文件的集中管理
这些定制化功能让你的翻译终端不仅功能强大,而且外观专业,完美契合企业形象需求。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。