Ash AI not working
Failed to JSON decode error response. ERROR: %Jason.DecodeError{position: 1005, token: nil, data: "{\n \"error\": {\n \"code\": 400,\n \"message\": \"Invalid JSON payload received. Unknown name \\\"additionalProperties\\\" at 'tools[0].function_declarations[0].parametersFailed to JSON decode error response. ERROR: %Jason.DecodeError{position: 1005, token: nil, data: "{\n \"error\": {\n \"code\": 400,\n \"message\": \"Invalid JSON payload received. Unknown name \\\"additionalProperties\\\" at 'tools[0].function_declarations[0].parameterswith this
action :search_varieties_tool, :string do
argument :query, :string do
allow_nil?(false)
public?(true)
end
run(fn ash_query, _context ->
search_query = ash_query.arguments.query
IO.inspect(search_query, label: "AI Tool Search Query")
case embedding_search(search_query) do
{:ok, varieties} ->
# Return simplified data structure for AI
simplified_varieties =
varieties
|> Enum.take(10)
|> Enum.map(fn variety ->
struct(variety, %{
processing: Enum.join(variety.processing || [], ", "),
variety: Enum.join(variety.variety || [], ", "),
description: String.slice(variety.description || "", 0, 200)
})
end)
{:ok, simplified_varieties}
{:error, _error} ->
{:ok, []}
end
end)
endaction :search_varieties_tool, :string do
argument :query, :string do
allow_nil?(false)
public?(true)
end
run(fn ash_query, _context ->
search_query = ash_query.arguments.query
IO.inspect(search_query, label: "AI Tool Search Query")
case embedding_search(search_query) do
{:ok, varieties} ->
# Return simplified data structure for AI
simplified_varieties =
varieties
|> Enum.take(10)
|> Enum.map(fn variety ->
struct(variety, %{
processing: Enum.join(variety.processing || [], ", "),
variety: Enum.join(variety.variety || [], ", "),
description: String.slice(variety.description || "", 0, 200)
})
end)
{:ok, simplified_varieties}
{:error, _error} ->
{:ok, []}
end
end)
end