Prechádzať zdrojové kódy

增加用户意图命中的原始文本

DESKTOP-53URE31\USER 4 mesiacov pred
rodič
commit
c705925019

+ 3 - 0
app/gpt/service/intent.py

@@ -50,7 +50,10 @@ async def get_intent(body: dict):
 
     user_intent = openai_check_intent(chats)
 
+    log.info("用户意图为:" + user_intent.model_dump_json(indent=4))
+
     record.user_intent = user_intent.user_intent
+    record.basis = user_intent.basis
     if user_intent.accept:
         record.accept = 1
     else:

+ 1 - 0
app/gpt/service/openai.py

@@ -11,6 +11,7 @@ client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"),base_url=os.getenv("OPENAI_B
 
 class UserIntent(BaseModel):
     user_intent: Optional[str] = Field(description="判断的用户意图")
+    basis: Optional[str] = Field(description="用户意图命中的原始录音文本")
     accept:Optional[bool] = Field(description="用户是否接受,是的话为 True,否的话 False")
 
 

+ 1 - 0
model/records.py

@@ -22,4 +22,5 @@ class Records(Base):
     ali_task_id = mapped_column(String(255, 'utf8mb4_unicode_ci'), server_default=text("''"), comment='阿里语音识别任务ID')
     chats = mapped_column(Text(collation='utf8mb4_unicode_ci'), comment='提取的对话记录')
     user_intent = mapped_column(String(255, 'utf8mb4_unicode_ci'), server_default=text("''"), comment='判断的用户意图')
+    basis = mapped_column(String(255, 'utf8mb4_unicode_ci'), comment='用户意图命中的原始文本')
     accept = mapped_column(TINYINT, server_default=text("'0'"), comment='用户是否接受邀请 0 未判断  1 接受 2 不接受')

+ 2 - 0
templates/record_list.html

@@ -30,6 +30,7 @@ tr:nth-child(even) {
     <th>主叫号码</th>
     <th>被叫号码</th>
     <th>用户意图</th>
+    <th>判断依据</th>
     <th>质检结果</th>
   </tr>
   {% for record in records %}
@@ -39,6 +40,7 @@ tr:nth-child(even) {
     <td>{{ record.caller }}</td>
     <td>{{ record.callee }}</td>
     <td>{{ record.user_intent }}</td>
+    <td>{{ record.basis }}</td>
     <td>{% if record.accept == 1 %}接受{% elif record.accept == 2 %}不接受{% else %}未质检{% endif %}</td>
   </tr>
   {% endfor %}