当前位置: 首页 > 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
            }]
       }

效果如下:

在这里插入图片描述

http://www.dtcms.com/a/78555.html

相关文章:

  • 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 运算符(专题五十一)
  • 12、Linux中如何查看一个进程,如何杀死一个进程,如何查看某个端口有没有被占用【中高频】
  • 供应链与生产制造L1L4级高阶流程规划框架(53页PPT)(文末有下载方式)
  • 关于redis中的分布式锁
  • VUE+element 在组件内有多个el-dialog同时打开时,遮罩会叠加
  • IntelliJ IDEA 中 Git 高频问题与操作详解|新手避坑指南
  • 移动最小二乘法(Moving Least Squares, MLS)原理和c++实现
  • 网络空间安全(36)数据库权限提升获取webshell思路总结
  • Arduino示例代码讲解:Melody 旋律
  • 虚拟地址空间(下)进程地址空间(上)
  • Go语言--安装和环境搭配