Files
ai-admin-server/app/main_app.py
T

140 lines
5.6 KiB
Python

from fastapi import Query
from langchain_core.messages import HumanMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnableLambda
from langserve import add_routes
from app.config.env import env
from app.controller.add_api_route import add_api_route
from app.controller.add_approve_route import add_approve_route
from app.controller.add_file_route import add_file_route
from app.controller.add_hotel_route import add_hotel_route
from app.controller.add_knowledge_route import add_knowledge_route
from app.controller.add_langgraph_approve_route import add_langgraph_approve_route
from app.controller.add_langgraph_chat_route import add_langgraph_chat_route
from app.controller.add_langgraph_route import add_langgraph_route
from app.controller.add_lg_approve_route import add_lg_approve_route
from app.controller.add_redis_route import add_redis_route
from app.controller.add_reimburse_route import add_reimburse_route
from app.controller.add_sqlmodel_route import add_sqlmodel_route
from app.controller.add_user_route import add_user_route
from app.controller.custom_chat_playground import add_custom_chat_playground_route
from app.controller.custom_stream_api import add_custom_stream_api_route
from app.controller.test_connection import add_test_connection_route
from app.controller.test_sqlmodel import add_test_sqlmodel_route
from app.controller.test_sync import add_test_sync_route
from app.controller.translate_controller import add_translate_route
from app.create_app import create_app
from app.general.add_general_route import add_general_route
from app.general_interceptors.add_general_interceptor_llm_user import add_general_interceptor_llm_user
from app.model.ApiSecretModel import ApiSecretService
from app.model.ApproveModel import ApproveService
from app.model.ConversationModel import ConversationService
from app.model.HotelModel import HotelService
from app.model.InvoiceModel import InvoiceService
from app.model.KnowledgeBase import KnowledgeBaseService
from app.model.KnowledgeDoc import KnowledgeDocService, KnowledgeDocServiceWithCreator
from app.model.LgApprove import LgApproveService
from app.model.LgChat import LgChatService
from app.model.LgMessage import LgMessageService
from app.model.LlmOrder import LlmOrderService
from app.model.LlmProduct import LlmProductService
from app.model.ModuleModel import ModuleService
from app.model.OrderModel import OrderService
from app.model.OrgModel import OrgService
from app.model.PosModel import PosService
from app.model.ProjectModel import ProjectService
from app.model.ReimburseModel import ReimburseService
from app.model.ReimburseOtherModel import ReimburseOtherService
from app.model.ReimburseTravelModel import ReimburseTravelService
from app.model.RelProjUserModel import RelProjUserService
from app.utils.ModelInputSchema import ModelInputSchema
from app.utils.add_async_route import add_async_route
from app.utils.llm_utils import create_llm
from app.utils.next_id import add_next_id_route
app = create_app()
add_translate_route(app)
add_custom_chat_playground_route(app)
add_test_sync_route(app)
add_custom_stream_api_route(app)
add_test_connection_route(app)
add_test_sqlmodel_route(app)
add_next_id_route(app)
add_sqlmodel_route(app)
add_user_route(app)
add_langgraph_route(app)
add_lg_approve_route(app)
add_langgraph_approve_route(app)
add_langgraph_chat_route(app)
add_approve_route(app)
add_reimburse_route(app)
add_hotel_route(app)
add_file_route(app)
add_knowledge_route(app)
add_api_route(app)
add_redis_route(app)
add_general_route(app)
@app.get("/get_env")
async def test():
return env.model_dump_json()
@app.get("/test")
async def test():
return {"msg": "hello"}
@app.get("/test_llm")
async def test_llm(user_content: str = Query(..., description="用户输入的文本内容,将传递给大语言模型处理")):
return (create_llm() | StrOutputParser()).invoke([HumanMessage(content=user_content)])
add_routes(
app=app,
runnable=RunnableLambda(lambda x: x['messages']) | create_llm() | StrOutputParser(),
input_type=ModelInputSchema,
path="/doubao"
)
add_routes(
app=app,
runnable=RunnableLambda(lambda x: x['messages']) | create_llm("doubao-vision-lite") | StrOutputParser(),
input_type=ModelInputSchema,
path="/doubao-vision-lite"
)
add_async_route(
app=app,
runnable=RunnableLambda(lambda x: x['messages']) | create_llm("bailian-qwen-turbo").with_types(input_type=ModelInputSchema),
path="/qwen"
)
LlmOrderService.add_route(app=app, path="/llm_order")
LlmProductService.add_route(app=app, path="/llm_product")
LgApproveService.add_route(app=app, path="/lg_approve")
LgMessageService.add_route(app=app, path="/lg_message")
LgChatService.add_route(app=app, path="/lg_chat")
OrgService.add_route(app=app, path="/org")
PosService.add_route(app=app, path="/pos")
ProjectService.add_route(app=app, path="/project")
RelProjUserService.add_route(app=app, path="/rel_proj_user")
ReimburseService.add_route(app=app, path="/reimburse")
ReimburseTravelService.add_route(app=app, path="/reimburse_travel")
ReimburseOtherService.add_route(app=app, path="/reimburse_other")
ApproveService.add_route(app=app, path="/approve")
HotelService.add_route(app=app, path="/hotel")
OrderService.add_route(app=app, path="/order")
InvoiceService.add_route(app=app, path="/invoice")
ConversationService.add_route(app=app, path="/conversation")
KnowledgeBaseService.add_route(app=app, path="/knowledge_base")
KnowledgeDocService.add_route(app=app, path="/knowledge_doc")
KnowledgeDocServiceWithCreator.add_route(app=app, path="/knowledge_doc_with_creator")
ApiSecretService.add_route(app=app, path="/api_secret")
ModuleService.add_route(app=app, path="/module")
add_general_interceptor_llm_user()