llm bug汇总

1 vllm版本冲突

vllm依赖的cxx.so太新,而系统lib库太旧,conda环境里面有新的,可以这样指定

手动指定so的路径,然后再import vllm

python 复制代码
import multiprocessing

import os
import sys
import yaml
import json
import copy
cur_path = r"/root/ruixinspace/zyt/LLaMA-Factory-0.9.3/debug"
print(cur_path)
sys.path.append(cur_path)

from my_prompt import get_messages,local_call_vllm,get_free_gpus


import ctypes

# 1. 获取 Conda 环境路径
conda_prefix = os.environ.get('CONDA_PREFIX')

if conda_prefix:
    # 2. 构建新版 libstdc++ 的路径
    new_lib_path = os.path.join(conda_prefix, 'lib', 'libstdc++.so.6')
    
    # 3. 【核心步骤】强制加载这个新库
    try:
        ctypes.CDLL(new_lib_path)
        print(f"✅ Successfully pre-loaded libstdc++ from: {new_lib_path}")
    except OSError as e:
        print(f"❌ Failed to load libstdc++: {e}")
        print("Please run: conda install -c conda-forge libstdcxx-ng")

    # 4. 同时也更新环境变量(作为双重保险)
    current_ld_path = os.environ.get('LD_LIBRARY_PATH', '')
    if conda_prefix + '/lib' not in current_ld_path:
        os.environ['LD_LIBRARY_PATH'] = f"{conda_prefix}/lib:{current_ld_path}"
else:
    print("Error: CONDA_PREFIX not found.")

# --- 现在再导入 vllm ---
import vllm
from vllm import LLM, SamplingParams
print("vLLM imported successfully!")

2 stock

python 复制代码
import requests
import matplotlib.pyplot as plt
import time
import sys

# 设置 matplotlib 支持中文 (根据系统自动选择字体)
import platform
system_name = platform.system()
if system_name == "Windows":
    plt.rcParams['font.sans-serif'] = ['SimHei']
elif system_name == "Darwin":  # macOS
    plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
else:  # Linux
    plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei']
plt.rcParams['axes.unicode_minus'] = False

def get_stock_data_sina(symbol: str):
    """
    备用方案:使用新浪财经接口 (极稳定,无需Key)
    返回: (名称, 当前价, 涨跌幅%, 分时数据列表)
    """
    # 判断市场前缀
    if symbol.startswith('6') or symbol.startswith('9'):
        prefix = 'sh'
    else:
        prefix = 'sz'
    
    url = f"http://hq.sinajs.cn/list={prefix}{symbol}"
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
        'Referer': 'http://finance.sina.com.cn/'
    }
    
    try:
        resp = requests.get(url, headers=headers, timeout=5)
        resp.encoding = 'gbk'  # 新浪接口是 GBK 编码
        text = resp.text
        
        if "=" not in text:
            return None
            
        data_part = text.split('=')[1].strip('"').strip(';')
        if not data_part:
            return None
            
        fields = data_part.split(',')
        if len(fields) < 32:
            return None

        name = fields[0]
        open_price = float(fields[1])
        prev_close = float(fields[2])
        current_price = float(fields[3])
        
        # 计算涨跌幅
        if prev_close == 0:
            change_pct = 0
        else:
            change_pct = ((current_price - prev_close) / prev_close) * 100
            
        # 获取分时数据 (新浪分时接口)
        # 注意:新浪分时数据需要单独请求,这里为了简洁,我们只画最近的价格趋势
        # 如果需要精确分时图,通常需要解析 minute 数据,这里简化为打印信息
        return {
            "name": name,
            "price": current_price,
            "change_pct": change_pct,
            "prev_close": prev_close
        }

    except Exception as e:
        print(f"新浪接口请求失败: {e}")
        return None

def plot_simple_trend(name, symbol, current_price, change_pct):
    """
    由于实时分时数据获取复杂且易被封,这里绘制一个简单的示意图
    或者你可以替换为获取历史分钟数据来绘制
    """
    plt.figure(figsize=(10, 5))
    
    # 模拟一个基于当前价格的简单波动曲线 (因为没有可靠的免费实时分时API能直接返回数组)
    # 在实际生产中,建议获取 'stock_zh_a_hist_min_em' 的数据
    import random
    minutes = range(1, 241)
    prices = [current_price + random.uniform(-1, 1) * (current_price * 0.01) for _ in minutes]
    
    color = 'red' if change_pct >= 0 else 'green'
    plt.plot(minutes, prices, color=color, linewidth=1.5, label=f"{name} ({symbol})")
    plt.axhline(y=current_price, color='gray', linestyle='--', alpha=0.5)
    
    plt.title(f"{name} ({symbol}) - 实时价格示意 (当前: {current_price:.2f}, 涨跌: {change_pct:+.2f}%)")
    plt.xlabel("交易时间 (分钟)")
    plt.ylabel("价格")
    plt.legend()
    plt.grid(True, linestyle='--', alpha=0.3)
    
    filename = f"{symbol}_trend.png"
    plt.savefig(filename)
    print(f"🖼️ 图表已保存为: {filename}")
    # plt.show()

def main():
    symbol = "000880"  # wczj
    if len(sys.argv) > 1:
        symbol = sys.argv[1]
        
    print(f"🔄 正在获取 {symbol} 的数据...")
    
    # 尝试使用新浪接口 (最稳定)
    data = get_stock_data_sina(symbol)
    
    if data:
        print("-" * 30)
        print(f"📈 股票: {data['name']} ({symbol})")
        print(f"💰 当前价格: {data['price']:.2f}")
        print(f"📊 涨跌幅: {data['change_pct']:+.2f}%")
        print("-" * 30)
        
        # 绘制图表
        plot_simple_trend(data['name'], symbol, data['price'], data['change_pct'])
    else:
        print("❌ 无法获取数据,请检查股票代码或网络连接。")

if __name__ == "__main__":
    main()
相关推荐
淘矿人20 小时前
Claude辅助算法设计与优化
人工智能·python·算法·microsoft·github·bug·pygame
朱穆朗1 天前
Cmder创建npm等项目中,使用CLI的BUG
前端·npm·bug
AI 编程助手GPT2 天前
【实战】Codex 接管电脑 + Claude Routines 云端值守:一次 Bug 排查的“无人化”闭环
人工智能·gpt·ai·chatgpt·bug
minxihou2 天前
iwlwifi/iwlmld missed beacons 与 802.11ax HE beacon timing 固件 Bug
bug·协议
阿部多瑞 ABU5 天前
《智能学号抽取系统》V5.9.5 发布:精简代码,修复移动端文件读取核心 Bug
vue·html·bug
qq_452396235 天前
【工程实战】第八篇:报告美学 —— Allure 深度定制:让 Bug 定位精准到秒
开发语言·python·bug
tkokof16 天前
捉虫(Bug)小记
人工智能·深度学习·bug·游戏开发