farui-plus
Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsfarui-plus - Ailoot Ultra · Anthropic Messages
POST /v1/messagesfarui-plus
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Um modelo de texto para o setor jurídico
Tongyi FaRui Plus, identificado pelo produtor como farui-plus, é construído sobre a base Qwen e especializado com dados e conhecimento jurídicos. O fabricante descreve um desenvolvimento com ajuste fino do modelo, aprendizagem por reforço, geração aumentada por recuperação e tecnologia de agentes jurídicos. O seu âmbito de tarefas inclui questões jurídicas, identificação de disposições legais aplicáveis, análise de casos, geração de documentos jurídicos e revisão de cláusulas contratuais.
A entrada e a saída documentadas são texto. Prepare a passagem, os factos ou as cláusulas a analisar como texto legível e especifique o resultado pretendido. Um resultado útil pode ser um rascunho de secção, uma lista de questões, uma explicação de uma disposição fornecida ou uma comparação entre formulações contratuais.
Prepare um pedido único ou um diálogo contínuo
Os exemplos do produtor suportam uma instrução única ou uma conversa baseada em mensagens. As mensagens contêm um papel e conteúdo; a instrução de sistema opcional surge primeiro, seguida de turnos do utilizador e do assistente. O guia recomenda mensagens para um diálogo contínuo, preservando as respostas anteriores pertinentes quando um pedido de seguimento altera um facto ou requisito.
Para uma pergunta sobre um caso, forneça os papéis das partes, a cronologia, a questão em litígio e as evidências pertinentes para a pergunta. Indique a jurisdição e a data relevantes para a tarefa e inclua o texto jurídico a examinar quando a resposta tiver de assentar numa disposição específica. Mantenha um facto afirmado separado de uma alegação contestada ou de um pressuposto.
Num pedido de seguimento, identifique exatamente o que mudou. Por exemplo, forneça uma data corrigida ou uma cláusula adicional e pergunte que parte do rascunho anterior precisa de revisão. Preservar a resposta anterior efetiva torna concreta a alteração pedida, em vez de convidar a uma nova análise de um caso incompleto.
Peça uma análise ou um rascunho de documento
Para uma questão jurídica, defina o problema e a forma da resposta. Peça a conclusão, a disposição que a sustenta e os factos que alterariam a análise. Quando a fonte não estabelecer um pormenor importante, peça que o resultado identifique essa informação em falta.
Para redação, especifique o tipo de documento, o público pretendido, as secções obrigatórias e os factos fornecidos. Uma instrução útil é: «Redija a secção pedida utilizando esta cronologia e estes factos, preserve os papéis definidos das partes e identifique a informação ainda necessária para completar o documento.» Confira os nomes, as datas, os montantes e as disposições citadas com o material original.
Para revisão de contratos, forneça a cláusula exata e a preocupação a examinar. Peça uma comparação da redação, da questão que suscita e de uma revisão proposta que preserve o sentido comercial pretendido. Mantenha a cláusula original junto do texto proposto, para que a alteração possa ser inspecionada.
Trabalhe dentro dos limites de resposta documentados
A visão geral publicada do modelo indica uma entrada máxima de 12 000 tokens e uma saída máxima de 2 000 tokens. Selecione os excertos pertinentes e uma extensão de resposta adequada à tarefa, deixando espaço para a resposta pedida na configuração de conversa aplicável. Uma revisão de contrato extensa pode ser dividida em questões ou secções claramente identificadas, preservando qualquer cláusula necessária para compreender a relação entre elas.
A definição de extensão de resposta do produtor pode reduzir o limite de saída para uma explicação concisa ou uma secção específica de rascunho. O valor predefinido documentado é de 2 000 tokens. Verifique se uma resposta devolvida está completa antes de a tratar como um documento concluído.
Escolha as definições de geração e entrega
A referência do produtor documenta top_p no intervalo aberto entre 0 e 1, com 0,8 como valor predefinido. A definição top_k restringe o conjunto de candidatos; deixá-la por definir ou defini-la acima de 100 desativa essa estratégia. Mantenha a tarefa e o material de origem estáveis ao comparar o efeito de uma definição de geração suportada.
O fluxo de trabalho predefinido não utiliza transmissão contínua. A transmissão contínua entrega texto enquanto a geração prossegue. Os blocos de transmissão predefinidos documentados contêm conteúdo acumulado; ativar a saída incremental devolve, em alternativa, apenas as novas partes. Monte corretamente o formato escolhido, para que o texto cumulativo repetido não seja acrescentado duas vezes, e preserve a resposta concluída para revisão.
A resposta pode utilizar um envelope de texto ou de mensagem. O envelope é a estrutura de entrega que envolve o texto jurídico gerado; a tabela de capacidades do modelo não enumera saída estruturada imposta por esquema, chamadas de funções nem pesquisa nativa na Web. Forneça as evidências e as disposições necessárias para a tarefa, em vez de presumir que ocorreu uma consulta externa.
Mantenha a análise passível de inspeção
Preserve em conjunto o texto de origem, os factos fornecidos, a forma de documento pedida e a resposta final. Verifique a redação efetiva das referências e a jurisdição ou a data de que depende uma interpretação. Uma comparação de cláusulas ou uma explicação de caso é mais útil quando os seus pressupostos e as passagens que a sustentam continuam identificáveis.
Utilize Farui Plus para o seu fluxo de trabalho específico de texto jurídico. O resultado final deve ligar a questão jurídica ou o rascunho pedido ao material efetivamente fornecido.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions farui-plus
farui-plusIntrodução
Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.
- Entradas aceites
- Texto
- Resultados
- Texto
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Saída
text- Formato de saída
- json ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites farui-plus | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites Depende do modelo | Predefinição— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF8
messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream |
Parâmetrocontrol_scope | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_input_binding | Contratonull |
Aliases do método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envie o ID exato do modelo com messages.
O comprimento do contexto não é um limite de saída.
Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0058 / 1K tokens Saída · Tokens de saída $0.0058 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0058 / 1K tokens Saída · Tokens de saída $0.0058 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"farui-plus","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="farui-plus", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Receber e guardar os resultados
Ailoot Ultra · OpenAI Chat
json ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra farui-plus
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages farui-plus
farui-plusIntrodução
Tongyi FaRui Plus, da Alibaba, é um modelo de texto especializado em questões jurídicas, análise de casos, redação de documentos jurídicos e revisão de contratos. Prepare os factos e as cláusulas pertinentes em texto e, depois, utilize uma pergunta focada ou um diálogo para obter uma análise escrita ou um rascunho.
- Entradas aceites
- Texto
- Resultados
- json · sse
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Entrada
text- Saída
json,sse- Formato de saída
- JSON ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites farui-plus | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
Campomessages[].content | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoObrigatório | Valores e limites | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF-8
Cadeia de caracteres messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages, max_tokens |
Parâmetrooptional_controls | Contratostream |
Parâmetromaterial_types | Contratotext |
Parâmetrotext_file_material | ContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem. |
Ciclo de vida: synchronous_or_streamed
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0058 / 1K tokens Saída · Tokens de saída $0.0058 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0058 / 1K tokens Saída · Tokens de saída $0.0058 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Anthropic Messages
{
"model": "farui-plus",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'farui-plus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'farui-plus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Receber e guardar os resultados
Ailoot Ultra · Anthropic Messages
JSON ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra farui-plus
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
FAQ · farui-plus
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·farui-plus:text→textPOST /v1/messages·farui-plus:text→json,sse- Que campos utiliza o pedido?
POST /v1/chat/completions·farui-plus:model,messages,streamPOST /v1/messages·farui-plus:model,messages,max_tokens,stream- Que limites se aplicam?
POST /v1/chat/completions·farui-plus:messages.min_items:1