Zoonk.AI.AIClient.BaseClient (Zoonk v0.1.0-dev)

View Source

Base client functionality for AI service implementations.

This module provides common functionality for making requests to AI services, reducing code duplication across different AI client implementations.

Summary

Functions

Builds messages array from AI payload.

Makes a chat completion request to an AI service.

Functions

build_messages(payload)

Builds messages array from AI payload.

Combines system instructions with user messages.

Examples

iex> BaseClient.build_messages(%AI{instructions: "You are helpful", input: []})
[%{role: "system", content: "You are helpful"}]

chat_completion(endpoint, payload, config_key)

Makes a chat completion request to an AI service.

Takes an endpoint URL, payload, and configuration key, then makes the request and handles the response.

Examples

iex> BaseClient.chat_completion("https://api.service.com/chat", payload, :service)
{:ok, %{field: "value"}}