liunux4odoo d0846f88cc - pydantic 限定为 v1,并统一项目中所有 pydantic 导入路径,为以后升级 v2 做准备
- 重构 api.py:
    - 按模块划分为不同的 router
    - 添加 openai 兼容的转发接口,项目默认使用该接口以实现模型负载均衡
    - 添加 /tools 接口,可以获取/调用编写的 agent tools
    - 移除所有 EmbeddingFuncAdapter,统一改用 get_Embeddings
    - 待办:
        - /chat/chat 接口改为 openai 兼容
        - 添加 /chat/kb_chat 接口,openai 兼容
        - 改变 ntlk/knowledge_base/logs 等数据目录位置
2024-03-06 13:51:34 +08:00

24 lines
686 B
Python

from server.pydantic_types import BaseModel, Field
def calculate(a: float, b: float, operator: str) -> float:
if operator == "+":
return a + b
elif operator == "-":
return a - b
elif operator == "*":
return a * b
elif operator == "/":
if b != 0:
return a / b
else:
return float('inf')
elif operator == "^":
return a ** b
else:
raise ValueError("Unsupported operator")
class CalculatorInput(BaseModel):
a: float = Field(description="first number")
b: float = Field(description="second number")
operator: str = Field(description="operator to use (e.g., +, -, *, /, ^)")