当前位置: 首页 > 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 运算符(专题五十一)
  • 山西太原小区爆炸事故已造成17人受伤
  • 浦发银行一季度净利175.98亿增1.02%,不良率微降
  • 中介在网上非法贩婴“一个孩子8.5万元”?丹阳警方介入
  • “90后”樊鑫履新乌兰察布市察右中旗副旗长人选
  • 古籍新书·2025年春季|中国土司制度史料集成
  • 上海超万套保租房供应高校毕业生,各项目免押、打折等优惠频出