Leetcode 383
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
# 创建一个字典来记录 magazine 中每个字符的出现次数
char_count = {}
for char in magazine:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
# 遍历 ransomNote 中的每个字符,检查是否可以在 magazine 中找到足够的字符
for char in ransomNote:
if char in char_count and char_count[char] > 0:
char_count[char] -= 1
else:
return False
return True
Vscode连接InternStudio debug笔记
报错在
res_json = json.loads(res)
获取res的内容为
'```json\n{\n "model_name": "书生浦语InternLM2.5",\n "development_institution": "上海人工智能实验室",\n "parameter_versions": [1.8B, 7B, 20B],\n "context_length": 1M\n}\n```'
在 JSON 格式中,键和字符串值必须用双引号 ("
) 包围,而且不能包含未转义的换行符或特殊字符。修改后代码如下
from openai import OpenAI
import json
import os
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 = os.getenv('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)
import re
# 去掉多余的反引号和 JSON 标记
res = res.strip('```json\n').strip('```')
# 使用正则表达式将整个数组部分转换为字符串
res = re.sub(r'"parameter_versions": \[(.*?)\]', r'"parameter_versions": "\1"', res)
res_json = json.loads(res)
print(res_json)
最后成功输出
pip安装到指定目录
激活share的环境,创建一个自己的文件夹,把jieba安装在我创建的目录里。
成功运行一个demo