在线问诊 Python、FastAPI、Neo4j — 提供咨询接口服务

简介: 在线问诊 Python、FastAPI、Neo4j — 提供咨询接口服务

目录

采用 Fast API 搭建服务接口: https://www.cnblogs.com/vipsoft/p/17684079.html

Fast API 文档:https://fastapi.tiangolo.com/zh/

构建服务层

qa_service.py

from service.question_classifier import *
from service.question_parser import *
from service.answer_search import *
class QAService:
    def __init__(self):
        self.classifier = QuestionClassifier()
        self.parser = QuestionPaser()
        self.searcher = AnswerSearcher()
    def chat_main(self, sent):
        answer = '您的问题,我还没有学习到。祝您身体健康!'
        res_classify = self.classifier.classify(sent)
        if not res_classify:
            return answer
        res_sql = self.parser.parser_main(res_classify)
        final_answers = self.searcher.search_main(res_sql)
        if not final_answers:
            return answer
        else:
            return '\n'.join(final_answers)

同时将 answer_search.pyquestion_classifier.pyquestion_parser.py 从test 目录中,移到 service 包中

QuestionClassifier 中的 路径获取方式进行修改 ../dic/xxxx 替换为 dic/xxx

接口路由层

FastAPI 请求体:https://fastapi.tiangolo.com/zh/tutorial/body/

创建路由接口文件

qa_router.py

#!/usr/bin/python3
import logging
from fastapi import APIRouter, status
from fastapi.responses import JSONResponse
from pydantic import BaseModel
from service.qa_service import QAService
import json
router = APIRouter()
qa = QAService() #实类化 QAService 服务
class Item(BaseModel):
    name: str = None
    question: str
@router.post("/consult")
async def get_search(param: Item):
    answer = qa.chat_main(param.question)
    return JSONResponse(content=answer, status_code=status.HTTP_200_OK)

PostMan 调用

URL: http://127.0.0.1:8000/api/qa/consult

{"question": "请问最近看东西有时候清楚有时候不清楚是怎么回事"}

返回值:

"可能是:干眼"

源代:https://gitee.com/VipSoft/VipQA

参考:https://github.com/liuhuanyong/QASystemOnMedicalKG

目录
相关文章
|
4天前
|
API Python
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
|
3月前
|
C语言 Python
python 调用c接口
【10月更文挑战第12天】 ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数
65 0
|
1月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
25天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
62 2
|
1月前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
1月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
246 5
|
2月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
2月前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
495 3
|
3月前
|
机器学习/深度学习 数据采集 自然语言处理
摘要分享服务python版
【10月更文挑战第3天】本文介绍了将链接转换为标题和内容摘要的技术,包括抽取式和生成式摘要方法。抽取式摘要通过提取关键句子生成摘要,而生成式摘要则通过理解语义生成新句子。文中还详细描述了链接预览生成的实现过程,从链接识别到内容解析,再到预览卡片生成,并提供了Python代码示例。这些技术提高了信息的可读性和访问效率。
23 0
|
3月前
|
SQL 前端开发 Python
基于python-django的neo4j人民的名义关系图谱查询系统
基于python-django的neo4j人民的名义关系图谱查询系统
51 0