Skip to content

Latest commit

 

History

History

structured-outputs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Structured Outputs

This example demonstrates how to enable structured outputs when chatting with an agent. As a comparison, please also refer to the original example from Ollama.

To learn more about structured outputs, see OpenAI's Structured Outputs.

Prerequisites

Quick Start

Run llama3.1 by using Ollama:

ollama run llama3.1

Run the local agent

Run the agent as a script:

python examples/structured-outputs/local_agent.py

Run the daemon agent

Run the agent as a daemon:

python examples/structured-outputs/daemon_agent.py

Then communicate with the agent using the coagent CLI:

coagent structured -H type:StructuredOutput --chat -d '{
  "input": {
    "role": "user",
    "content": "I have two friends. The first is Ollama 22 years old busy saving the world, and the second is Alonso 23 years old and wants to hang out. Return a list of friends in JSON format"
  },
  "output_schema": {
    "type": "json_schema",
    "json_schema": {
      "name": "FriendList",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "friends": {
            "items": {
              "$ref": "#/$defs/FriendInfo"
            },
            "type": "array"
          }
        },
        "required": [
          "friends"
        ],
        "$defs": {
          "FriendInfo": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "age": {
                "type": "integer"
              },
              "is_available": {
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "age",
              "is_available"
            ]
          }
        }
      }
    }
  }
}'