Compare commits
6 Commits
d0aebd17fa
...
8023233bb2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8023233bb2 | ||
![]() |
2a86b3b5b0 | ||
![]() |
ca1505304e | ||
![]() |
df9260e918 | ||
![]() |
df9aba0c6e | ||
![]() |
6b87dcb58f |
@ -44,12 +44,12 @@ def initialize_prompt_store(db: TinyDB) -> None:
|
|||||||
# 检查数据库是否为空
|
# 检查数据库是否为空
|
||||||
if not db.all(): # 如果数据库中没有数据
|
if not db.all(): # 如果数据库中没有数据
|
||||||
db.insert(promptTempleta(
|
db.insert(promptTempleta(
|
||||||
id=0,
|
id=1,
|
||||||
name="default",
|
name="default",
|
||||||
description="默认提示词模板",
|
description="默认提示词模板",
|
||||||
content="""项目名为:{ project_name }
|
content="""项目名为:{project_name}
|
||||||
请依据以下该项目官方文档的部分内容,创造合适的对话数据集用于微调一个了解该项目的小模型的语料,要求兼顾文档中间尽可能多的信息点,使用中文
|
请依据以下该项目官方文档的部分内容,创造合适的对话数据集用于微调一个了解该项目的小模型的语料,要求兼顾文档中间尽可能多的信息点,使用中文
|
||||||
文档节选:{ content }""").model_dump())
|
文档节选:{document_slice}""").model_dump())
|
||||||
# 如果数据库中已有数据,则跳过插入
|
# 如果数据库中已有数据,则跳过插入
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,11 +23,11 @@ def dataset_generate_page():
|
|||||||
with gr.Column():
|
with gr.Column():
|
||||||
# 获取模板列表并设置初始值
|
# 获取模板列表并设置初始值
|
||||||
prompts = get_prompt_store().all()
|
prompts = get_prompt_store().all()
|
||||||
prompt_choices = [f"{p['id']} {p['name']}" for p in prompts]
|
prompt_list = [f"{p['id']} {p['name']}" for p in prompts]
|
||||||
initial_prompt = prompt_choices[0] if prompt_choices else None
|
initial_prompt = prompt_list[0] if prompt_list else None
|
||||||
|
|
||||||
prompt_dropdown = gr.Dropdown(
|
prompt_dropdown = gr.Dropdown(
|
||||||
choices=prompt_choices,
|
choices=prompt_list,
|
||||||
value=initial_prompt, # 设置初始选中项
|
value=initial_prompt, # 设置初始选中项
|
||||||
label="选择模板",
|
label="选择模板",
|
||||||
allow_custom_value=True,
|
allow_custom_value=True,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field, field_validator
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
from langchain.prompts import PromptTemplate
|
||||||
|
|
||||||
class promptTempleta(BaseModel):
|
class promptTempleta(BaseModel):
|
||||||
id: Optional[int] = Field(default=None, description="模板ID")
|
id: Optional[int] = Field(default=None, description="模板ID")
|
||||||
@ -10,4 +11,10 @@ class promptTempleta(BaseModel):
|
|||||||
created_at: str = Field(
|
created_at: str = Field(
|
||||||
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
|
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
|
||||||
description="记录创建时间"
|
description="记录创建时间"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@field_validator('content')
|
||||||
|
def validate_content(cls, value):
|
||||||
|
if not "document_slice" in PromptTemplate.from_template(value).input_variables:
|
||||||
|
raise ValueError("模板变量缺少 document_slice")
|
||||||
|
return value
|
@ -1,5 +1,5 @@
|
|||||||
from .parse_markdown import parse_markdown
|
from .parse_markdown import parse_markdown
|
||||||
from .scan_doc_dir import *
|
from .document import *
|
||||||
from .json_example import generate_example_json
|
from .json_example import generate_example_json
|
||||||
from .model import *
|
from .model import *
|
||||||
from .socket import *
|
from .port import *
|
@ -7,4 +7,9 @@ def find_available_port(start_port):
|
|||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||||
if s.connect_ex(('localhost', port)) != 0: # 端口未被占用
|
if s.connect_ex(('localhost', port)) != 0: # 端口未被占用
|
||||||
return port
|
return port
|
||||||
port += 1 # 如果端口被占用,尝试下一个端口
|
port += 1 # 如果端口被占用,尝试下一个端口
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
start_port = 6006 # 起始端口号
|
||||||
|
available_port = find_available_port(start_port)
|
||||||
|
print(f"Available port: {available_port}")
|
Loading…
x
Reference in New Issue
Block a user