通义法睿是以千问为基座经法律行业数据和知识专门训练的法律行业大模型产品,综合运用了模型精调、强化学习、RAG检索增强、法律Agent及司法专属小模型等技术,具有回答法律问题、推理法律适用、辅助案情分析、生成法律文书、检索法律知识、审查合同条款等功能。
模型概览
模型名称 | 上下文长度 | 最大输入 | 最大输出 | 输入成本 | 输出成本 |
|---|---|---|---|---|---|
(Token数) | (每百万 Token) | ||||
farui-plus | 12k | 12k | 2k | 20元 | |
SDK使用
您可以通过SDK实现单轮对话、多轮对话、流式输出等多种功能。
前提条件
- DashScope SDK提供了Python和Java两个版本,请确保您已安装最新版SDK:安装SDK。
- 已开通服务并获得API-KEY:获取与配置 API Key。
- 推荐您将API-KEY配置到环境变量中以降低API-KEY的泄露风险,详情请参见配置API Key到环境变量。您也可以在代码中配置API-KEY,但是泄露风险会提高。
单轮对话
您可以将通义法睿应用在法律咨询、文书生成、争议焦点识别等场景。您可以运行以下示例代码,体验通义法睿大模型的单轮对话能力。
多轮对话
您可以运行以下示例代码,体验通义法睿大模型的多轮对话能力。
流式输出
大模型并不是一次性生成最终结果,而是逐步地生成中间结果,最终结果由中间结果拼接而成。非流式输出方式等待模型生成结束后再将生成的中间结果拼接后返回,而流式输出可以实时地将中间结果返回,您可以在模型进行输出的同时进行阅读,减少等待模型回复的时间。使用流式输出需要您进行一些配置,DashScope Python SDK中需要设置stream为True,DashScope Java SDK中需要使用streamCall接口调用。
输入参数配置
参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | string | 无 | 用于指定对话的通义法睿大模型名称,目前可选择farui-plus,输入输出之和最大限制为14000 tokens。 |
messages | array | 无 |
messages和prompt任选一个参数使用即可,仅依赖prompt指令会限制模型进行有记忆的对话能力。 messages参数允许模型参考历史对话,从而更准确地解析用户的意图,确保对话的流程性和连续性,因此在多轮对话场景下推荐您优先使用messages参数。 |
prompt | string | 无 | |
max_tokens(可选) | int | 2000 | 指定模型可生成的最大token个数。例如模型最大输出长度为2k,您可以设置为1k,防止模型输出过长的内容。 不同的模型有不同的输出上限,具体请参见模型列表。 |
top_p(可选) | float | 0.8 | 生成过程中的核采样方法概率阈值,例如,取值为0.8时,仅保留概率加起来大于等于0.8的最可能token的最小集合作为候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的确定性越高。 |
top_k(可选) | int | None | 生成时,采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50个token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。默认不传递该参数,取值为None或当top_k大于100时,表示不启用top_k策略,此时,仅有top_p策略生效。 |
stream(可选) | bool | False | 是否使用流式输出。当以stream模式输出结果时,接口返回结果为generator,需要通过迭代获取结果,默认每次输出为当前生成的整个序列,最后一次输出为最终全部生成结果。 |
result_format(可选) | string | text | [text|message],默认为text,当设置为message时,输出格式请参考返回结果。推荐优先使用message格式。 |
返回结果
当您将result_format设置为message时的结果示例:
HTTP调用接口
功能描述
通义法睿大模型同时支持HTTP调用来完成客户的响应,目前提供普通HTTP和HTTP SSE两种协议,您可根据自己的需求自行选择。
前提条件
已开通服务并获得API-KEY:获取与配置 API Key。
提交接口调用
入参描述
传参方式 | 字段 | 类型 | 必选 | 描述 | 示例值 |
|---|---|---|---|---|---|
Header | Content-Type | string | 是 | 请求类型:application/json | application/json |
Accept | string | 否 | */*,选择text/event-stream则会开启 SSE 响应,默认无设置 | text/event-stream | |
Authorization | string | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a | |
X-DashScope-WorkSpace | string | 否 | 指明本次调用需要使用的workspace;需要注意的是,对于子账号Apikey调用,此参数为必选项,子账号必须归属于某个workspace才能调用;对于主账号Apikey此项为可选项,添加则使用对应的workspace身份,不添加则使用主账号身份。 | ws_QTggmeAxxxxx | |
Body | model | string | 是 | 指定用于对话的通义法睿大模型名称,目前可选择farui-plus | farui-plus |
input.prompt | string | 否 | 用户当前输入的期望模型执行指令,支持中英文。 | 我哥欠我10000块钱,给我生成起诉书。 | |
input.messages | list | 否 | 用户与模型的对话历史,对话接口未来都会有message传输,不过prompt持续兼容,list中的每个元素形式为{"role":角色, "content": 内容}。角色当前可选值:system、user、assistant。未来可以扩展到更多role。 | [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': '我哥欠我10000块钱,给我生成起诉书。'}] | |
input.messages.role | string | message存在的时候不能缺省 | |||
input.messages.content | string | ||||
parameters.result_format | string | 否 | "text"表示旧版本的text "message"表示兼容openai的message | "text" | |
parameters.max_tokens | integer | 否 | 指定模型可生成的最大token个数。例如模型最大输出长度为2k,您可以设置为1k,防止模型输出过长的内容。 不同的模型有不同的输出上限,具体请参见模型列表。 | 2000 | |
parameters.top_p | float | 否 | 生成时,核采样方法的概率阈值。例如,取值为0.8时,仅保留累计概率之和大于等于0.8的概率分布中的token,作为随机采样的候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的随机性越低。默认值为0.8。注意,取值不要大于等于1。 | 0.8 | |
parameters.top_k | float | 否 | 生成时,采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50个token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。注意:如果top_k参数为空或者top_k的值大于100,表示不启用top_k策略,此时仅有top_p策略生效,默认为空。 | 50 |
出参描述
字段 | 类型 | 输出格式 | 描述 | 示例值 |
|---|---|---|---|---|
output.text | string | 入参result_format=text时候的返回值 | 包含本次请求的算法输出内容。 | |
output.finish_reason | string | 有三种情况:正在生成时为null,生成结束时如果由于停止token导致则为stop,生成结束时如果因为生成长度过长导致则为length。 | stop | |
output.choices[list] | list | 入参result_format=message时候的返回值 | 入参result_format=message时候的返回值。 | {"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":"【民事起诉状】\n\n原告:XXX,男/女,XXXX年XX月XX日出生,XXX族,住XXX市XXX路XXX号,联系方式:XXX。\n委托诉讼代理人:XXX,(律所名称)。\n\n被告: XXX,男/女,XXXX年XX月XX日出生,XXX族,住XXX市XXX路XXX号,联系方式:XXX。\n\n诉讼请求:\n一、判令被告偿还欠款10000元;\n二、由被告承担本案全部诉讼费用。\n\n事实与理由:\n我哥XXX因经济困难,于XXXX年XX月XX日向我借款10000元,并写下借条,承诺于XXXX年XX月XX日前归还。然而,借款到期后,我哥并未按约还款,尽管我多次催促,他始终以各种理由推脱。\n\n证据清单:\n1. 借条1份;\n2. 催款记录若干份。\n\n此致\n\nXXX人民法院\n\n起诉人:(原告签名)\n\nXXXX年XX月XX日\n\n附:1.本诉状副本XXX份。\n 2.证据目录。"}}]} |
output.choices[x].finish_reason | string | 停止原因。
| ||
output.choices[x].message | string | message每个元素形式为{"role":角色, "content": 内容}。角色按当前可选值:system、user、assistant。未来可以扩展到更多role,content则包含本次请求算法输出的内容 | ||
output.choices[x].message.role | string | |||
output.choices[x].message.content | string | |||
usage.output_tokens | integer | 通用 | 本次请求算法输出内容的 token 数目。 | 236 |
usage.input_tokens | integer | 本次请求输入内容的 token 数目。 | 56 | |
usage.total_tokens | integer | 本次请求内容的总token数目。 | 292 | |
request_id | string | 本次请求的系统唯一码。 | 2ae6671b-9373-9c7d-a407-af2029b51659 |