Spaces:
Sleeping
Sleeping
| import os | |
| from dashscope import Generation | |
| # 设置DashScope API密钥 | |
| DASHSCOPE_API_KEY = os.environ.get("DASHSCOPE_API_KEY", "") | |
| def get_qwen_response(messages): | |
| """ | |
| 调用通义千问API获取回复 | |
| Args: | |
| messages: 消息历史列表,包含角色和内容 | |
| Returns: | |
| str: 模型回复内容或错误信息 | |
| """ | |
| try: | |
| response = Generation.call( | |
| model="qwen-max", | |
| messages=messages, | |
| result_format='message', | |
| api_key=DASHSCOPE_API_KEY | |
| ) | |
| if response.status_code == 200: | |
| return { | |
| 'success': True, | |
| 'content': response.output.choices[0].message.content | |
| } | |
| else: | |
| return { | |
| 'success': False, | |
| 'content': f"API错误: {response.code}, {response.message}" | |
| } | |
| except Exception as e: | |
| return { | |
| 'success': False, | |
| 'content': f"调用异常: {str(e)}" | |
| } | |
| def format_chat_history(history, message): | |
| """ | |
| 格式化聊天历史为API所需格式 | |
| Args: | |
| history: Gradio历史记录 | |
| message: 当前用户消息 | |
| Returns: | |
| list: 格式化后的消息列表 | |
| """ | |
| messages = [] | |
| # 添加历史消息 | |
| for human, assistant in history: | |
| messages.append({"role": "user", "content": human}) | |
| messages.append({"role": "assistant", "content": assistant}) | |
| # 添加当前用户消息 | |
| messages.append({"role": "user", "content": message}) | |
| return messages |