Files
gangyan/langchain-chat/server/agent/tools/chat_with_Yi34B.py

44 lines
1.6 KiB
Python
Raw Normal View History

import asyncio
import json
from typing import List, Union
from pydantic import BaseModel, Field
from server.chat.chat import chat
from server.chat.utils import History
async def chat_with_Yi34B_iter(query: str,
stream=False,
model_name="qianfan-api",
history: Union[int, List[History]] = None,
conversation_id='',
temperature=0.7,
max_tokens=None,
history_len=3,
prompt_name="default"
):
response = await chat(query=query, history=history,
history_len=history_len,
conversation_id=conversation_id,
stream=stream, model_name=model_name, temperature=temperature,
max_tokens=max_tokens, prompt_name=prompt_name)
contents = ""
async for data in response.body_iterator: # 这里的data是一个json字符串
data = json.loads(data)
contents += data["text"]
return contents
def chat_with_Yi34B(query: str, model_name: str = "qianfan-api", conversation_id: str = '',
history: Union[int, List[History]] = None):
# 格式化查询字符串
return asyncio.run(chat_with_Yi34B_iter(query, model_name=model_name, conversation_id=conversation_id,
history=history))
class ChatWithYi34BInput(BaseModel):
location: str = Field(description="Query for any kind of chats and questions")