Skip to main content

Chinf

API calls to Cheap Inference without dependencies.

  pip install chinf

Then:

# Python
from yaml import safe_load as yl
from chinf.chat import chat_complete as cc

kwargs = """  # this is a string in YAML format
  max_tokens:   32000
  stop_sequences:
    - STOP
    - "\nTitle"
  temperature:  1.0
  top_k:        10
  top_p:        0.5
  reasoning_effort: high
"""

instruction = 'You are a helpful assistant. Do not use markdown or lists in your responses.'

weather_tool = """ # YAML definition of a function (old format)
  type: function
  function:
    name: get_weather
    description: Determine weather in a location
    parameters:
      type: object
      properties:
        location:
          type: string
          description: The city and state, e.g. San Francisco, CA
      additionalProperties: false
      required:
        - location
"""

tools = [yl(weather_tool)]

msgs = [{'role': 'user', 'content': 'What is the weather in Chicago, IL and Paris, France?'}]

thoughts, text = cc(
    messages=msgs,
    instructions=instruction,
    tools=tools,
    **yl(kwargs)
)

or

from yaml import safe_load as yl
from chinf.messages import message


kwargs = """  # this is a string in YAML format
  max_tokens:   32000
  stop_sequences:
    - STOP
    - "\nTitle"
  temperature:  1.0
  top_k:        10
  top_p:        0.5
  thinking:     
    type: enabled
    budget_tokens: 24576
    display: summarized
  tool_choice:
    type: auto
    disable_parallel_tool_use: false
"""

instruction = 'You are a helpful assistant. Do not use markdown or lists in your responses.'

get_weather_tool_str = """ # YAML definition of a function
    name: get_weather
    description: Determine weather in a location
    input_schema:
      type: object
      properties:
        location:
          type: string
          description: The city and state, e.g. San Francisco, CA
      additionalProperties: true
      required:
        - location
    """

tools = [yl(get_weather_tool_str)]

msg = [{'role': 'user', 'content': 'What is the weather in Chicago, IL and Paris, France?'}]

thoughts, text = message(
    messages=msg,
    instructions=instruction,
    tools=tools,
    **yl(kwargs)
)

or

from yaml import safe_load as yl
from chinf.responses import respond


kwargs = """  # this is a string in YAML format
  max_tokens:   64000
  temperature:  1.0
"""

msgs = [{'role': 'user', 'content': 'What is the weather in Chicago, IL and Paris, France?'}]

weather_tool = """ # YAML definition of a function (new format)
  type: function
  name: get_weather
  description: Determine weather in a location
  parameters:
    type: object
    properties:
      location:
        type: string
        description: The city and state, e.g. San Francisco, CA
    additionalProperties: false
    required:
      - location
"""

tools = [yl(weather_tool)]

instructions = """
You are a helpful assistant.
Rubric: respond in plain text without any markdown, emphasis or lists;
all paragraphs except the first one should begin with a newline and a tab.
"""

thougts, text = respond(
    messages=msgs,
    instructions=instructions,
    tools=tools,
    **yl(kwargs)
)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chinf-0.0.2.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chinf-0.0.2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file chinf-0.0.2.tar.gz.

File metadata

  • Download URL: chinf-0.0.2.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chinf-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c52e1b9dd0c66363aac0f6b8e1257c7d854fa255ed1b87253c2dff68ea41d5d9
MD5 82e1236bacb52eee9a77d6e25ad5f5fc
BLAKE2b-256 702341e97c2cdac32c09fee8034b1634a2add55ffb8f78089ecf6769cdb397e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for chinf-0.0.2.tar.gz:

Publisher: python-publish.yml on alxfed/chinf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chinf-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: chinf-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chinf-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3bfa0bbac1c162de8937f39ebc331aff179504ab7b875b40ca512e3a0a425fa
MD5 93b86436cda4639a8ed55e21ad01107f
BLAKE2b-256 d0a5a4418118f915b5d1d9a1bd48f53c6b51a843f322580ad3a4383ac8903ea8

See more details on using hashes here.

Provenance

The following attestation bundles were made for chinf-0.0.2-py3-none-any.whl:

Publisher: python-publish.yml on alxfed/chinf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

This release

0.0.2 This release

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page