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

【人工智能-前端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
            }]
       }

效果如下:

在这里插入图片描述

相关文章:

  • Oracle 19C分区表索引小结
  • 链式二叉树概念和结构
  • 【Java】Mybatis学习笔记
  • HTML5与CSS3新特性详解
  • C++回顾 day1
  • MATRIX-BREAKOUT: 2靶场
  • StarRocks中优雅处理JSON与列表字段的初步示例
  • sass介绍
  • 操作系统IO多路复用select,poll,epoll
  • 英语词性--介词
  • 基于springboot的网上订餐系统(006)
  • python:music21 与 AI 结合应用探讨
  • Unity Enlighten与Progressive GPU Lightmapper对比分析
  • 清晰易懂的 PHP 安装与配置教程
  • 【蓝桥杯速成】| 7.01背包练习生
  • Framebuffer应用编程
  • 科研项目验收管理系统
  • Node.js系列(5)--数据库操作指南
  • 引用拷贝、浅拷贝和深拷贝
  • Pytorch使用手册—自定义 C++ 和 CUDA 运算符(专题五十一)
  • 楼下电瓶车起火老夫妻逃生时被烧伤,消防解析躲火避烟注意事项
  • 葛兰西的三位一体:重提并复兴欧洲共产主义的平民圣人
  • 从地下金库到地上IP,看海昏汉文化“最美变装”
  • 特朗普将举行集会庆祝重返白宫执政百日,被指时机不当
  • 西北大学党委副书记吕建荣调任西安财经大学党委书记
  • 经济日报金观平:充分发挥增量政策的经济牵引力