当前位置: 首页 > article >正文

【人工智能-前端OpenWebUI】--图表显示

OpenWebUI显示表格

本文介绍markdown格式的表格显示:
以下是一个实例,从csv文件读取数据,然后用markdown格式表格返回给OpenWebUI,OpenWebUI会自动渲染成表格。

def query_flights(departure_airport, destination_airport):
    """
   
      try:
        # 1. 构建文件名
        filename = "test.csv"
        filepath = os.path.join("test", filename)  # 假设文件存放在data目录下

        # 2. 检查文件是否存在
        if not os.path.exists(filepath):
            return f"错误:未找到 {filename} 航班数据文件"

        # 3. 读取CSV文件
        df = pd.read_csv(filepath)
        
        # 4. 检查必要列是否存在
        required_columns = ['航司', '航班号', '始发时间', '到达时间']
        if not set(required_columns).issubset(df.columns):
            missing = set(required_columns) - set(df.columns)
            return f"数据文件格式错误,缺少列:{', '.join(missing)}"

        # 5. 筛选目标航司,此处可以做一些删选
        filtered_df = df

        # 6. 检查是否有数据
        if filtered_df.empty:
            return f"在 {filename} 中未找到目标航司的航班信息"

        # 7. 格式化输出
        result = filtered_df[required_columns].sort_values('始发时间')
        result_with_row_num = result.copy()
        result_with_row_num.insert(0, '行序号', range(1, len(result) + 1))
        return result_with_row_num
        # 8. markdown数据
        markdown_table = result_with_row_num.to_markdown(
            index=False,
            tablefmt="pipe",
            stralign="center"
        )
        
        return markdown_table
    except pd.errors.EmptyDataError:
        return f"错误:文件 {filename} 内容为空"
    
把这个返回结果放到返回给OpenWebUI的响应:
OpenWebUI支持OPENAI标准的格式返回,所以结果放到下面input_result里面就可以了

```python
{
            "id": "chatcmpl-abc123",
            "object": "chat.completion",
            "created": 1,
            "model":  modelname,
            "usage": {
                "prompt_tokens": xx,
                "completion_tokens": x,
                "total_tokens": x
            },
            "choices": [{
                "message": {
                    "role": "assistant",
                    "content": input_result
                },
                "finish_reason": "stop",
                "index": 0
            }]
       }

效果如下:

在这里插入图片描述


http://www.kler.cn/a/597692.html

相关文章:

  • python:调用 ui2 获取当前页面所有实时文本
  • 数据结构-----树
  • OAK相机入门(四):近距离深度图
  • 2025_0321_生活记录
  • Winform在工控行业对比Wpf的优势?
  • 双核锁步技术在汽车芯片软错误防护中的应用详解
  • 在大数据开发中ETL是指什么?
  • 如果没有负载均衡,普通路由器怎么实现叠加两条宽带的带宽?
  • 组合总数||| 电话号码的字母组合
  • Ranger 鉴权
  • 基于C语言实现的观察者模式 以温度监控系统为例
  • 图扑软件 2D 组态:工业组态与硬件监控的物联网赋能
  • Android Compose 线性布局(Row、Column)源码深度剖析(十)
  • Python学习第二十一天
  • Java 输入1~100的整数,当读入负数时结束,统计输出每个数的数量
  • Git Flow 分支管理策略
  • 运算符重载(关键字operator的使用)
  • 【STM32单片机】#2 GPIO输出
  • 鼠标拖拽实现DIV尺寸修改效果实现
  • 零基础本地部署 ComfyUI+Flux.1 模型!5 分钟搭建远程 AI 绘图服务器(保姆级教程)