Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import pandas as pd | |
| from transformers import pipelines | |
| # transformers パイプラインのインポート | |
| fugu_translator_enja = pipelines.TranslationModel(model='staka/fugumt-en-ja') | |
| fugu_translator_jaen = pipelines.TranslationModel(model='staka/fugumt-ja-en') | |
| zhja_translator = pipelines.TranslationModel(model="Helsinki-NLP/opus-mt-tc-big-zh-ja") | |
| # Streamlit アプリケーション | |
| st.title("Multi-Language Translator") | |
| # st.session_state で session-specific state を作成 | |
| if 'session_models' not in st.session_state: | |
| st.session_state.session_models = { | |
| 'enja': fugu_translator_enja, | |
| 'jaen': fugu_translator_jaen, | |
| 'zhja': zhja_translator | |
| } | |
| # 初期化 | |
| if 'csv_created' not in st.session_state: | |
| st.session_state.csv_created = False | |
| # デフォルトの入力値 | |
| default_model = 'enja' | |
| default_text = '' | |
| # ユーザー入力の取得 | |
| model = st.selectbox("モデル", ['enja', 'jaen', 'zhja'], index=0, key='model') | |
| text = st.text_area("入力テキスト", default_text) | |
| # 翻訳ボタンが押されたときの処理 | |
| if st.button("翻訳する"): | |
| # Perform translation | |
| result = st.session_state.session_models[model](text)[0]['translation_text'] | |
| # Display the result | |
| st.write(f"翻訳結果: {result}") | |
| # Save the data to a CSV file | |
| data = {'ID': [1], 'Original Text': [text], 'Result': [result]} | |
| df = pd.DataFrame(data) | |
| df.to_csv('translation_data.csv', mode='a', header=not st.session_state.csv_created, index=False) | |
| # Update the CSV creation flag | |
| st.session_state.csv_created = True | |