今天没事想到有一个需求,在复杂的文字下,想抽取对应的参数,转换成json格式,能做一些处理,就试着实现了一下,开始使用的是 from langchain_openai import ChatOpenAI 但是返回的东西是聊天一样内容,就放弃了。
就使用了OpenAI 搭配国内大模型实现以下,效果不错。
from openai import OpenAI
def params_to_json():
# 智谱 也可以用其他的
client = OpenAI(
api_key="",
base_url="https://open.bigmodel.cn/api/paas/v4/",
)
user_prompt = """
1.解析用户输入 包含【API网关实例规格】,解析成参数赋值给 instanceType
2.解析用户输入 包含【对公网返回数据大小】,解析成参数赋值给 returnSize
3.解析用户输入 包含【每日请求量】,解析成参数赋值给 dailyReq
4.根据历史记录将三个参数都匹配完成,返回json格式内容
只返回json格式内容
"""
completion = client.chat.completions.create(
model="glm-4",
messages=[
{'role': 'system', 'content': '你是一个智能助手.' + user_prompt},
{'role': 'user', 'content': '每日请求量 1000 、对公网返回数据2000、API网关实例规格api.s1.small'}],
)
print(completion.choices[0].message.content)
return completion.choices[0].message.content
if __name__ == "__main__":
result = params_to_json("每日请求量 1000 、对公网返回数据2000、API网关实例规格api.s1.small")
结果: