Spaces:
Running
Running
| import json | |
| from server.chat.search_engine_chat import search_engine_chat | |
| from configs import VECTOR_SEARCH_TOP_K, MAX_TOKENS | |
| import asyncio | |
| from server.agent import model_container | |
| from pydantic import BaseModel, Field | |
| async def search_engine_iter(query: str): | |
| response = await search_engine_chat(query=query, | |
| search_engine_name="bing", # 这里切换搜索引擎 | |
| model_name=model_container.MODEL.model_name, | |
| temperature=0.01, # Agent 搜索互联网的时候,温度设置为0.01 | |
| history=[], | |
| top_k = VECTOR_SEARCH_TOP_K, | |
| max_tokens= MAX_TOKENS, | |
| prompt_name = "default", | |
| stream=False) | |
| contents = "" | |
| async for data in response.body_iterator: # 这里的data是一个json字符串 | |
| data = json.loads(data) | |
| contents = data["answer"] | |
| docs = data["docs"] | |
| return contents | |
| def search_internet(query: str): | |
| return asyncio.run(search_engine_iter(query)) | |
| class SearchInternetInput(BaseModel): | |
| location: str = Field(description="Query for Internet search") | |
| if __name__ == "__main__": | |
| result = search_internet("今天星期几") | |
| print("答案:",result) | |