首页 > 其他分享 >Intern大模型训练营(二):leetcode习题+Vscode连接InternStudio debug

Intern大模型训练营(二):leetcode习题+Vscode连接InternStudio debug

时间:2024-11-08 19:17:03浏览次数:3  
标签:prompt Vscode res 代码 json client 习题 numpy InternStudio

1. Leetcode383:

思路:使用两个数组存储两个字符串中出现的字符,然后一一比较数量。

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        cnta = [0] * 26
        cntb = [0] * 26
        for c in ransomNote:
            cnta[ord(c) - ord('a')] += 1
        for c in magazine:
            cntb[ord(c) - ord('a')] += 1
        f = 1
        for i in range(0, 26):
            if cnta[i] > cntb[i]:
                f = 0
        if f:
            return True
        else:
            return False

通过截图: 

2. Vscode连接InternStudio debug 

 首先在书生·浦语这里创建一个自己的API token。

然后将需要debug的python代码复制到开发机中,命名为python_debug.py。

from openai import OpenAI
import json
def internlm_gen(prompt,client):
    '''
    LLM生成函数
    Param prompt: prompt string
    Param client: OpenAI client 
    '''
    response = client.chat.completions.create(
        model="internlm2.5-latest",
        messages=[
            {"role": "user", "content": prompt},
      ],
        stream=False
    )
    return response.choices[0].message.content

api_key = ''
client = OpenAI(base_url="https://internlm-chat.intern-ai.org.cn/puyu/api/v1/",api_key=api_key)

content = """
书生浦语InternLM2.5是上海人工智能实验室于2024年7月推出的新一代大语言模型,提供1.8B、7B和20B三种参数版本,以适应不同需求。
该模型在复杂场景下的推理能力得到全面增强,支持1M超长上下文,能自主进行互联网搜索并整合信息。
"""
prompt = f"""
请帮我从以下``内的这段模型介绍文字中提取关于该模型的信息,要求包含模型名字、开发机构、提供参数版本、上下文长度四个内容,以json格式返回。
`{content}`
"""
res = internlm_gen(prompt,client)
res_json = json.loads(res)
print(res_json)

直接运行代码会提示缺少openai库,使用pip命令进行下载。

pip install openai

同时将之前创建的api_token复制到api_key中。

直接运行代码,会报如下的错:

调整以下代码,如下图,方便debug。

res = internlm_gen(prompt,client)
print(res)  # 查看 res 的内容

if res.strip() == "":
    print("res 变量是空字符串")
else:
    try:
        res_json = json.loads(res)
    except json.decoder.JSONDecodeError as e:
        print(f"解析 JSON 时发生错误:{e}")
# res_json = json.loads(res)
# print(res_json)

再次运行代码,反馈如下:

可知,res不为空,在解析时发生了错误,应该是头部的```json和尾部的```多余了,使得json.loads无法成功解析。

因此我的思路是使用正则表达式去匹配花括号里的内容,关键代码如下:

match = re.search(r'{.*}', res, re.DOTALL)
res = match.group(0)

 运行结果和代码如下图:

3. pip安装到指定目录

任务描述:使用VScode连接开发机后使用pip install -t命令安装一个numpy到看开发机/root/myenvs目录下,并成功在一个新建的python文件中引用。

输入以下命令流创建一个名为myenv的虚拟环境:

mkdir -p /root/myenvs
python3 -m venv /root/myenvs/myenv
source /root/myenvs/myenv/bin/activate

 使用pip install -t (路径) numpy向对应的虚拟pyhton环境安装numpy库。

pip install -t /root/myenvs/myenv/lib/python3.11/site-packages numpy

新建一个代码文件,输入以下代码引用numpy库。

import numpy as np

# 使用 numpy 的代码
print(np.array([1, 2, 3]))

执行文件,成功输出结果。

标签:prompt,Vscode,res,代码,json,client,习题,numpy,InternStudio
From: https://blog.csdn.net/kjnsdg/article/details/143581311

相关文章

  • vscode配置xdebug断点调试thinkphp
    vscode配置xdebug断点调试thinkphp其实和配置其他php框架的断点调试一样,步骤如下:下载xdebug,重命名为php_xdebug.dll并移动到php.ini目录;(不知道下载那个版本可以通过xdebug官网提供的在线查询工具查询。https://xdebug.org/wizard在安装的主机上执行php-i,将输入的结果粘贴到网......
  • 二分查找习题篇(上)
    二分查找习题篇(上)1.二分查找题目描述:给定⼀个n个元素==有序的(升序)==整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:​输入:nums=[-1,0,3,5,9,12],target=9​输出:4解释:9出现在nums......
  • 数据库SQL Server语言 练习题合集
    文章目录一、“小学生”题库二、“硕士”题库三、“博士”题库四、“博士后”题库五、“博导”题库六、“校长”题库七、“院士”题库总结1.**多表联接查询**:2.**嵌套查询(子查询)**:3.**去重与计数**:4.**条件筛选与分组**:5.**比较与计算**:6.**实际应用**:总结:一......
  • 使用 vscode 简单配置 ESP32 连接 Wi-Fi 每日定时发送 HTTP 和 HTTPS 请求
    最新博客文章链接文字更新时间:2024/11/07由于学校校园网,如果长时间不重新登陆的话,网速会下降,所以想弄个能定时发送HTTP请求的东西。由于不想给路由器刷系统,也麻烦。就开始考虑使用局域网内的服务器,不过由于服务器没有Wi-Fi模块,也不想搞USB无线wifi网卡,就想着干脆用单......
  • Web组件和WebView 习题答案 <HarmonyOS第一课>
    一、判断题1. Web组件提供具有网页显示能力,@ohos.web.webview提供web控制能力。正确(True)错误(False)回答正确A2. 同一页面的多个Web组件,必须绑定不同的WebviewController。正确(True)错误(False)回答正确A二、单选题1. 下列关于Web组件的属性,描述错误的是?A.......
  • vscode插件推荐
    我的所有配置和支持资料都在github上VSC-environment-custom并且在之后会进行逐步的更新,添加更多的细节编程语言依赖c/c++支持C/C++代码编写的核心插件。c/c++ExtensionPackC/C++开发的增强工具包,包括调试和IntelliSense支持。c/c++Themes为C/C++代......
  • 问题排查之Vscode无法拖进文件
    正常情况下,我们是可以从资源管理器中直接拖文件到vscode中进行编辑的。但是如果突然出现不能编辑的情况。有以下几种情况,可以依次去排查。检查VSCode设置:确保VSCode的设置中允许拖拽文件到编辑器中。在VSCode的“文件->首选项->设置”中搜索“draganddrop”,确保“Workbench......
  • “不可能学不会的“--vscode的调试技巧
    文章目录1基本概念理解2运行步骤3不带参数的调试4带参数的调试4.1不配置launch.json文件4.2配置launch.json文件5参考文献1基本概念理解断点:通俗理解,断点是Debug过程中的一个标记,当程序运行到该标记时会暂停,一般第一个断点是程序运行的地方。第一个:直接运......
  • vscode: cmake + vcpkg + clangd + lldb调试的一体化IDE配置
    目录vscode:cmake+vcpkg+clangd+lldb调试的一体化IDE配置介绍需求准备工作vscode插件配置项目配置文件vcpkg的两个文件:CMakeLists.txt:CMakePresets.json尝试构建前面未完成的工作总结vscode:cmake+vcpkg+clangd+lldb调试的一体化IDE配置介绍cmake是一个c++的跨......
  • 习题7.4
    importnumpyasnpfromscipy.interpolateimportinterp1d,interp2d,UnivariateSpline,griddataimportmatplotlib.pyplotaspltnp.random.seed(114514)x0=np.random.uniform(-3,3,50)y0=np.random.uniform(-4,4,50)f=lambdax,y:(x**2-2*x)*np.ex......