TASK 2 学习笔记打卡 Datawhale

1.配置环境,打开anaconda终端安装第三方库

!pip install scipy openai tiktoken retry dashscope loguru

2.按常规导入库(巴拉巴拉,没什么说的),重要的是移除默认的控制台输出,因为后续要自定义输出日志,模型选择qwen2-7b-instruct,目前在阿里云上是免费的

from multiprocessing import Process, Manager
import json
import os
from pprint import pprint
import re
from tqdm import tqdm
import random

import uuid
import openai
import tiktoken
import json
import numpy as np
import requests
from retry import retry
from scipy import sparse
#from rank_bm25 import BM25Okapi
#import jieba
from http import HTTPStatus
import dashscope


from concurrent.futures import ThreadPoolExecutor, as_completed
from loguru import logger
import json
import time
from tqdm import tqdm

logger.remove()  # 移除默认的控制台输出
logger.add("logs/app_{time:YYYY-MM-DD}.log", level="INFO", rotation="00:00", retention="10 days", compression="zip")

MODEL_NAME = 'qwen2-7b-instruct'
# 注意:这里需要填入你的key~ 
dashscope.api_key="sk-"

这段代码定义了一个名为 call_qwen_api 的函数,该函数用于调用一个名为 dashscope.Generation 的 API 来生成文本。以下是该代码的功能、用途和特点的详细介绍:

功能

调用 API 生成文本:该函数通过传递一个模型名称 (MODEL_NAME) 和一个查询 (query) 来调用 dashscope.Generation.call 方法,生成相应的文本。

处理 API 响应:函数会检查 API 的响应状态码,如果状态码为 HTTPStatus.OK,则提取并返回生成的文本内容。如果状态码不是 HTTPStatus.OK,则打印错误信息并抛出异常。

用途

文本生成:该函数主要用于通过调用外部 API 来生成文本,适用于需要动态生成内容的场景,如聊天机器人、内容创作辅助等。

错误处理:通过检查 API 响应状态码并处理错误情况,确保在调用失败时能够及时发现并处理问题。

特点

重试机制:函数使用了 @retry(delay=3, tries=3) 装饰器,这意味着在调用 API 失败时,函数会自动重试最多 3 次,每次重试间隔 3 秒。

消息格式:在调用 API 时,设置了 result_format='message',表示期望的响应格式是消息格式。

错误处理:在 API 调用失败时,函数会打印详细的错误信息,包括请求 ID、状态码、错误代码和错误消息,并抛出异常,以便上层调用者能够捕获并处理这些错误。

def call_qwen_api(MODEL_NAME, query):
    # 这里采用dashscope的api调用模型推理,通过http传输的json封装返回结果
    messages = [
        {'role': 'user', 'content': query}]
    response = dashscope.Generation.call(
        MODEL_NAME,
        messages=messages,
        resul
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值