| | |
| | | |
| | | @router.get("/list", response_model=ResponseList) |
| | | async def agent_list(db: Session = Depends(get_db)): |
| | | agents = db.query(AgentModel).all() |
| | | result = [ |
| | | { |
| | | "id": item.id, |
| | | "name": item.name, |
| | | "agent_type": item.agent_type |
| | | } |
| | | for item in agents |
| | | ] |
| | | agents = db.query(AgentModel).order_by(AgentModel.sort.asc()).all() |
| | | result = [item.to_dict() for item in agents] |
| | | return ResponseList(code=200, msg="", data=result) |
| | | |
| | | |
| | |
| | | |
| | | else: |
| | | return ResponseList(code=200, msg="Unsupported agent type") |
| | | |
| | |
| | | from enum import IntEnum |
| | | from sqlalchemy import Column, String, Enum as SQLAlchemyEnum |
| | | from enum import IntEnum, StrEnum |
| | | from sqlalchemy import Column, String, Enum as SQLAlchemyEnum, Integer |
| | | from app.models.base_model import Base |
| | | |
| | | |
| | | class AgentType(IntEnum): |
| | | RAGFLOW = 1 |
| | | BISHENG = 2 |
| | | BASIC = 3 |
| | | |
| | | |
| | | class AgentModel(Base): |
| | | __tablename__ = "agent" |
| | | id = Column(String(255), primary_key=True, index=True) |
| | | name = Column(String(255), index=True) |
| | | agent_type = Column(SQLAlchemyEnum(AgentType), nullable=False) # 1 ragflow 2 bisheng |
| | | id = Column(String(255), primary_key=True) |
| | | name = Column(String(255)) |
| | | sort = Column(Integer, default=0, nullable=False) |
| | | agent_type = Column(SQLAlchemyEnum(AgentType), nullable=False) |
| | | type = Column(String(255), nullable=False) |
| | | |
| | | # to_dict 方法 |
| | | def to_dict(self): |
| | | return { |
| | | 'id': self.id, |
| | | 'name': self.name, |
| | | 'agent_type': self.agent_type, |
| | | 'type': self.type |
| | | } |