动态类型列表上线

This commit is contained in:
2025-11-14 21:15:02 +08:00
parent e2c93d6933
commit ee46e4cebb
5 changed files with 70 additions and 7 deletions

View File

@@ -244,13 +244,14 @@ def ocr_and_extract_info(image_path: str):
base_url="https://aistudio.baidu.com/llm/lmapi/v3"
client = OpenAI(api_key=api_key, base_url=base_url)
types = get_type_list()
chat_completion = client.chat.completions.create(
messages=[
{"role": "system", "content": "你是一个能理解图片和文本的助手,请根据用户提供的信息进行回答。"},
{
"role": "user",
"content": [
{"type": "text", "text": "请识别这张图片中的信息将你认为重要的数据转换为不包含嵌套的json不要显示其它信息以便于解析直接输出json结果即可你可以自行决定使用哪些json字段"},
{"type": "text", "text": f"请识别这张图片中的信息将你认为重要的数据转换为不包含嵌套的json不要显示其它信息以便于解析直接输出json结果即可。使用“数据类型”字段表示这个东西的大致类型除此之外你可以自行决定使用哪些json字段。“数据类型”的内容有严格规定请查看{json.dumps(types, ensure_ascii=False)}中是否包含你所需要的类型,确定不包含后你才可以填入你觉得合适的大致分类。"},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{base64_image}"}},
],
},
@@ -370,6 +371,7 @@ def confirm(request):
if not isinstance(edited, dict) or not edited:
return JsonResponse({"status": "error", "message": "数据不能为空"}, status=400)
ensure_type_in_list(edited.get("数据类型"))
to_store = {
"writer_id": str(request.session.get("user_id")),
"data": json_to_string(edited),