Spaces:
Sleeping
Sleeping
| import os | |
| from huggingface_hub import InferenceClient | |
| REPO_ID = "Qwen/Qwen2.5-72B-Instruct" | |
| LANG_CODE = {"한국어": "Korean", "English": "English", "中文": "Traditional Chinese", "日本語": "Japanese"} | |
| def get_ai_response(user_query, persona, context_data=None, user_lang="한국어"): | |
| # Streamlit secrets 대신 os.getenv 사용 (혹은 직접 키 입력) | |
| hf_token = os.getenv("HF_TOKEN") | |
| # 토큰 없으면 에러 방지 (실제 배포땐 꼭 설정해야 함) | |
| if not hf_token: | |
| print("Warning: HF_TOKEN not found.") | |
| client = InferenceClient(model=REPO_ID, token=hf_token) | |
| system_prompt = persona['system_prompt'] | |
| context_str = "" | |
| if context_data: | |
| context_str = f"\n[Data]: {str(context_data)}\n" | |
| target_language = LANG_CODE.get(user_lang, "Korean") | |
| instruction = f"\n(IMPORTANT: Answer strictly in {target_language}.)" | |
| messages = [ | |
| {"role": "system", "content": system_prompt}, | |
| {"role": "user", "content": f"{context_str}\nUser Query: {user_query}\n{instruction}"} | |
| ] | |
| try: | |
| response = client.chat_completion(messages=messages, max_tokens=1000, temperature=0.7) | |
| return response.choices[0].message.content | |
| except Exception as e: | |
| return f"Error: {str(e)}" |