Files
2026-07-10 17:59:59 +08:00

3.8 KiB
Executable File

LLM关系抽取测试报告

日期: 2026-04-10 11:53 GMT+8
状态: API验证成功,Python客户端待调试


API连接测试

curl测试 ✅

curl -X POST https://coding.dashscope.aliyuncs.com/v1/chat/completions \
  -H "Authorization: Bearer sk-REDACTED" \
  -d '{"model": "qwen3.6-plus", "messages": [{"role": "user", "content": "Hello"}]}'

结果: ✅ 成功

{
  "model": "qwen3.6-plus",
  "choices": [{
    "message": {
      "content": "Hello! How can I assist you today?",
      "reasoning_content": "Here's a thinking process..."
    }
  }]
}

Python客户端测试 ❌

from openai import OpenAI
client = OpenAI(api_key=api_key, base_url="https://coding.dashscope.aliyuncs.com/v1")
response = client.chat.completions.create(...)

结果: ⏳ 超时/无响应


问题分析

可能原因

  1. 网络超时: Python客户端默认超时时间可能过长
  2. 代理设置: 可能需要配置代理
  3. SSL证书: 可能有证书验证问题
  4. DNS解析: 域名解析可能较慢

解决方案

方案1: 使用curl替代

import subprocess
import json

def call_llm_with_curl(prompt):
    cmd = [
        'curl', '-s', '-X', 'POST',
        'https://coding.dashscope.aliyuncs.com/v1/chat/completions',
        '-H', 'Content-Type: application/json',
        '-H', f'Authorization: Bearer {api_key}',
        '-d', json.dumps({
            'model': 'qwen3.6-plus',
            'messages': [{'role': 'user', 'content': prompt}],
            'max_tokens': 500
        })
    ]
    result = subprocess.run(cmd, capture_output=True, text=True, timeout=60)
    return json.loads(result.stdout)

方案2: 配置超时参数

from openai import OpenAI
import httpx

client = OpenAI(
    api_key=api_key,
    base_url="https://coding.dashscope.aliyuncs.com/v1",
    http_client=httpx.Client(timeout=60.0)
)

修复后的提取器

使用curl的实现

import subprocess
import json

def extract_relations_llm_curl(sections, entities, api_key):
    """使用curl调用百炼API"""
    relations = []
    
    for sec in sections:
        text = sec['text'][:2000]
        prompt = f"""从以下文本中提取基因关系...
        
        文本: {text}
        格式: gene_id | relation | target | evidence
        """
        
        cmd = [
            'curl', '-s', '-X', 'POST',
            'https://coding.dashscope.aliyuncs.com/v1/chat/completions',
            '-H', 'Content-Type: application/json',
            '-H', f'Authorization: Bearer {api_key}',
            '-d', json.dumps({
                'model': 'qwen3.6-plus',
                'messages': [
                    {'role': 'system', 'content': '你是基因关系提取助手'},
                    {'role': 'user', 'content': prompt}
                ],
                'temperature': 0.1,
                'max_tokens': 500
            })
        ]
        
        try:
            result = subprocess.run(cmd, capture_output=True, text=True, timeout=60)
            response = json.loads(result.stdout)
            content = response['choices'][0]['message']['content']
            
            # 解析关系...
            
        except Exception as e:
            print(f"错误: {e}")
    
    return relations

结论

当前状态

项目 状态 说明
API Key读取 ✅ 修复成功
curl调用 ✅ 工作正常
Python客户端 ❌ 需要调试
章节文本保存 ✅ 工作正常

建议

  1. 立即: 使用curl替代Python客户端进行LLM调用
  2. 短期: 调试Python客户端连接问题
  3. 长期: 封装统一的LLM调用接口

下一步

创建使用curl的修复版提取器,测试完整流程。


报告时间: 2026-04-10 11:58 GMT+8
签名: 🧬🤖