ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
OpenAiCompatibleVlmClient.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2026 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
7
// Concrete IVlmClient talking to any OpenAI-compatible /chat/completions
8
// endpoint over libcurl (#373). Module-private: constructed by describe().
9
10
#include "reusex/vision/IVlmClient.hpp"
11
12
#include <string>
13
14
namespace
reusex::vision
{
15
16
class
OpenAiCompatibleVlmClient
:
public
IVlmClient
{
17
public
:
27
OpenAiCompatibleVlmClient
(std::string base_url, std::string model,
28
std::string api_key,
int
connect_timeout_s
= 10,
29
int
total_timeout_s
= 120);
30
31
VlmResult
describe
(
const
cv::Mat &crop,
const
std::string &prompt)
override
;
32
33
int
connect_timeout_s
()
const
{
return
connect_timeout_s_; }
34
int
total_timeout_s
()
const
{
return
total_timeout_s_; }
35
36
private
:
37
std::string endpoint_;
38
std::string model_;
39
std::string api_key_;
40
int
connect_timeout_s_;
41
int
total_timeout_s_;
42
};
43
44
}
// namespace reusex::vision
reusex::vision::OpenAiCompatibleVlmClient::total_timeout_s
int total_timeout_s() const
Definition
OpenAiCompatibleVlmClient.hpp:34
reusex::vision::OpenAiCompatibleVlmClient::connect_timeout_s
int connect_timeout_s() const
Definition
OpenAiCompatibleVlmClient.hpp:33
reusex::vision::OpenAiCompatibleVlmClient::OpenAiCompatibleVlmClient
OpenAiCompatibleVlmClient(std::string base_url, std::string model, std::string api_key, int connect_timeout_s=10, int total_timeout_s=120)
reusex::vision::OpenAiCompatibleVlmClient::describe
VlmResult describe(const cv::Mat &crop, const std::string &prompt) override
Describe crop (a BGR CV_8UC3 image) given prompt.
reusex::vision
Definition
annotate.hpp:12
reusex::vision::IVlmClient
A model that, given an image crop and a text prompt, returns structured attributes.
Definition
IVlmClient.hpp:29
reusex::vision::VlmResult
The description + arbitrary attributes a vision-language model returned for one crop.
Definition
vlm_protocol.hpp:31
libs
reusex
include
vision
vlm
OpenAiCompatibleVlmClient.hpp
Generated by
1.18.0