mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-29 02:03:37 +08:00
- 重构 api.py:
- 按模块划分为不同的 router
- 添加 openai 兼容的转发接口,项目默认使用该接口以实现模型负载均衡
- 添加 /tools 接口,可以获取/调用编写的 agent tools
- 移除所有 EmbeddingFuncAdapter,统一改用 get_Embeddings
- 待办:
- /chat/chat 接口改为 openai 兼容
- 添加 /chat/kb_chat 接口,openai 兼容
- 改变 ntlk/knowledge_base/logs 等数据目录位置
26 lines
900 B
Python
26 lines
900 B
Python
"""
|
|
简单的单参数输入工具实现,用于查询现在天气的情况
|
|
"""
|
|
from server.pydantic_types import BaseModel, Field
|
|
import requests
|
|
|
|
def weather(location: str, api_key: str):
|
|
url = f"https://api.seniverse.com/v3/weather/now.json?key={api_key}&location={location}&language=zh-Hans&unit=c"
|
|
response = requests.get(url)
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
weather = {
|
|
"temperature": data["results"][0]["now"]["temperature"],
|
|
"description": data["results"][0]["now"]["text"],
|
|
}
|
|
return weather
|
|
else:
|
|
raise Exception(
|
|
f"Failed to retrieve weather: {response.status_code}")
|
|
|
|
|
|
def weather_check(location: str):
|
|
return weather(location, "S8vrB4U_-c5mvAMiK")
|
|
class WeatherInput(BaseModel):
|
|
location: str = Field(description="City name,include city and county,like '厦门'")
|