Decisões
Decisões (Jev)
Faça perguntas tipadas sobre os seus dados e obtenha respostas que o seu código pode usar: a probabilidade de sim, uma opção de um conjunto ou uma posição numa escala, com probabilidades calibradas, normalmente em menos de um segundo. Disponível através da própria API da TypeSafe, pelo que os seus SDKs funcionam sem alterações.
/v1/systemoneJev é o modelo de decisão da TypeSafe, que a empresa designa como modelo System One: compreende linguagem natural como um modelo de chat, mas, em vez de escrever texto, responde às perguntas que definir. jev-latest, jev-1.14.0 e typesafe/jev-1.14 também funcionam como IDs de modelo, e jev-1.13 continua disponível para prompts ajustados a esse modelo.
Fazer perguntas
# pip install typesafe-sdkfrom typesafe_sdk import Choice, Noul, Score, TypeSafeClientwith TypeSafeClient( base_url="https://api.zurelay.com", api_key="YOUR_ZURELAY_KEY", model="jev-1.14",) as client: response = client.system_one( state={"ticket": "I was charged twice for October, please refund one today."}, questions={ "refund": Noul(instructions="Is the customer asking for money back?"), "team": Choice( instructions="Which team should handle this?", criteria={"billing": "Charges and refunds", "technical": "Bugs and outages"}, ), "urgency": Score( instructions="How urgent is it?", criteria=["can wait", "this week", "today"], ), }, )print(response.nouls["refund"].noul) # 0.98print(response.choices["team"].choice) # billingprint(response.scores["urgency"].score) # 1.9Com os SDKs da TypeSafe, defina o URL base como https://api.zurelay.com, sem /v1: os SDKs acrescentam /v1/systemone automaticamente. As variáveis de ambiente TYPESAFE_BASE_URL e TYPESAFE_API_KEY também funcionam. Qualquer cliente HTTP funciona da mesma forma: envie a sua chave Zurelay como token Bearer.
A resposta
{ "id": "req_8Kq2vXbN4tR7mWc1pLs9dYe3", "model": "jev-1.14", "answers": { "refund": { "type": "noul", "noul": 0.98 }, "team": { "type": "choice", "choice": "billing", "probabilities": { "billing": 1.0, "technical": 0.0 }, "confidence": 1.0 }, "urgency": { "type": "score", "score": 1.9, "legend": { "0": "can wait", "1": "this week", "2": "today" }, "probabilities": { "0": 0.0, "1": 0.1, "2": 0.9 }, "confidence": 0.81 } }, "usage": { "input_tokens": 396, "output_tokens": 61, "cost": 0.00001386 }}Cada resposta é devolvida com o nome que atribuiu à respetiva pergunta. usage indica a base de faturação do pedido, e cost o custo em dólares americanos. Para o mesmo pedido, uma resposta pode variar um ou dois pontos entre chamadas.
Parâmetros
modelstringobrigatóriojev-1.14,jev-latest(o mesmo modelo) oujev-1.13.statestring, object ou arrayobrigatório- O conteúdo sobre o qual decidir: um texto ou dados estruturados, como um registo, um histórico de chat ou o estado atual da sua aplicação. Para referir um campo numa pergunta, use o nome entre acentos graves, como `ticket`.
questionsobjectobrigatório- As suas perguntas, cada uma com um nome à sua escolha. As respostas são devolvidas com os mesmos nomes, que não são enviados ao modelo.
typestringobrigatórionoul,choiceouscore.instructionsstring, object ou arrayobrigatório- A pergunta. Um objeto pode conter a pergunta num campo e os dados a que se refere noutros.
criteriaobject ou array- Para
choice(obrigatório): um objeto de opções, cada uma com uma descrição ounull, até 255. Parascore(obrigatório): um array de 2 a 10 níveis, do mais baixo para o mais alto. Paranoul(opcional):trueefalse, que definem o significado de sim e não.
Tipos de pergunta
Um pedido pode combinar os três tipos, e fazer várias perguntas custa pouco mais do que fazer uma: o estado é lido uma única vez, e todas as perguntas são respondidas em paralelo com base nele.
Limites
- Até 64K tokens por pedido, contando o estado e todas as perguntas, e 32K para o estado mais a pergunta mais longa.
- Apenas texto: uma string, um objeto JSON ou um array. Converta primeiro imagens, PDFs ou áudio em texto.
- Sem streaming: as respostas são devolvidas completas, normalmente em menos de um segundo.
- Um pedido malformado (sem
instructions, uma pontuação com apenas um nível) é rejeitado com400antes de chegar ao modelo e não tem custos. O mesmo acontece se ultrapassar 64K tokens, com o códigocontext_length_exceeded.
Obter boas respostas
Pagamento das decisões
Jev é faturado pelos tokens de entrada que contabiliza: o estado e as perguntas que envia, mais cerca de 270 tokens próprios por pedido. As respostas são gratuitas, tal como na TypeSafe. Um pedido curto de cerca de 300 tokens custa cerca de $0.00001, pelo que um milhão desses pedidos custa cerca de $10. O cabeçalho usage e o cabeçalho x-zurelay-input-tokens de cada resposta indicam a base de faturação, todos os pedidos ficam no seu registo de pedidos, e os pedidos que falham não têm custos.
Experimente o seu próprio conteúdo e as suas perguntas no Área de testes do painel: escolha Jev, cole o conteúdo, defina as perguntas ao lado, e o botão Obter código gera o mesmo pedido em Python, Node.js ou cURL.
Tem dúvidas ou falta alguma coisa? Contacte a nossa equipa de apoio e responderemos por email, normalmente num minuto.