Поставил
локальный GPT4All модель Llama-3.2-3B-Instruct-Q4_0
(Запускался "через пень-колоду"(из за двойной видеокарты) но все же запустился )
Первый тестовый запрос :
Finding coordinates of a point in 3D by its projection on the screen in Pascal language
Ответ "рисовался" довольно шустро .(пожалуй я медленнее печатаю )
To find the coordinates of a point in 3D by its projection on the screen, we can use the following steps:
Convert the projected pixel to Cartesian coordinates (x, y)
Calculate the depth value using the formula: z = 1 / tan(θ), where θ is the angle between the line and the positive x-axis
Use the calculated depth value to find the true x, y, and z coordinates of the point
Here's a simple implementation in Pascal:
program Projection;
const
maxDepth = 1000; // maximum possible depth value
screenWidth = 800;
screenHeight = 600;
var
mouseX, mouseY: integer;
projectedX, projectedY: real;
trueX, trueY, trueZ: real;
function pixelToCartesian(x, y: integer): tuple[x, y] =
begin
x := (x - screenWidth / 2) * maxDepth / screenWidth;
y := (y - screenHeight / 2) * maxDepth / screenHeight;
end;
function cartesianTo3D(x, y: real; angle: real): real =
var
z: real;
begin
if angle = 0 then begin
// look at the camera directly
z := maxDepth;
end else {
z := 1 / tan(angle);
};
end;
function findPoint(mouseX, mouseY: integer; angle: real): tuple[x, y, z] =
var
x, y: real;
begin
(x, y) := pixelToCartesian(mouseX, mouseY);
trueZ := cartesianTo3D(x, y, angle);
result.x := round(x * 1000); // scale to nearest integer
result.y := round(y * 1000); // scale to nearest integer
result.z := round(trueZ * 1000); // scale to nearest integer
end;
begin
writeln('Enter mouse coordinates (x, y):');
readln;
mouseX := strToInt(readline);
mouseY := strToInt(readline);
writeln('Enter angle between line and positive x-axis in radians:');
readln;
var angle: real = StrToFloat(readline);
writeln('Point coordinates:');
for i := 1 to 3 do begin
case i of
1:
begin
write('x: ');
write(findPoint(mouseX, mouseY, angle).x);
writeln();
end;
2:
begin
write('y: ');
write(findPoint(mouseX, mouseY, angle).y);
writeln();
end;
3:
begin
write('z: ');
write(findPoint(mouseX, mouseY, angle).z);
writeln();
end;
end;
end;
end.
This program will prompt the user to enter mouse coordinates (x, y) and an angle between the line and the positive x-axis in radians. It then calculates and displays the true x, y, and z coordinates of the point using the projected pixel values.
Note: This is a simplified example and does not take into account various factors that can affect 3D projections, such as perspective distortion, texture mapping, or lighting effects.
ХМ !
(Вот тебе и простенькая модель на "3 миллиарда инструкций") УПС! (Код и логику не проверял( но то что в коде ляпов хватает видно сходу) но сама форма развернутого ответа весьма впечатляет)
Зы
Теория "мёртвого интернета" становится все более пугающей... Как минимум текстовые фейки можно творить в устрашающем ассортименте.
Зы Зы
Как использовать "ИИ-кодера" на практике вопрос довольно не тривиальный потому, что составить точный запрос под конкретную задачу иногда сложнее чем сразу написать код.
(К тому-же "ИИ-галлюцинации" встречаются не только в картинках (особенно доставляют ссылки на существующие в природе библиотеки и сайты и странные "диалекты" ЯВУ ) )
"Большие онлайн сервисы" разумеется могу давать более внятные ответы однако "хорошо натасканный" локальный ИИ-помощник тоже может быть весьма полезен особенно если научить его использовать полу-шаблонные "стандартные решения" . Да это не будет панацеей, но может быть ещё одним способом "убийства рутины" ( как же как давно привычное визуальное программирование ).
Добавлено спустя 1 час 43 минуты 34 секунды:Re: Использование облачного ИИ и нейросетей в своих проектах.Вау! Оказывается даже на моем железе все может крутится гораздо быстрее если с "Вулкана"(причем тут Вулкан я честно говоря не понял это же по идее сугубо 3д АПИ ) на CUDA:Нвидиа переключится...
Добавлено спустя 10 часов 51 минуту 54 секунды:Re: Использование облачного ИИ и нейросетей в своих проектах.Запустил еще более мощную модель
Meta-Llama-3.1-8B-Instruct-128k-Q4_0 (8 миллиардов инструкций )
Логи постить не буду но разница заметна: на примерно тот же запрос (без указания конкретного ЯВУ) самостоятельно(!) привела пример на питоне просил " in Pascal language" выдала код на паскале, спросил FPC+OpenCV сделала и это ( Причем четко с учетом особенностей FPC )
А вот патентованная модель
gpt4all-falcon-newbpe-q4_0 похоже вопрос не поняла "от слова совсем", выдав какой-то вроде бы правильный но совершенно бесполезный код .
Еще один раз самая первая из опробованных мной моделей Llama-3.2-3B-Instruct-Q4_0 увлеклась написанием примера со всей математикой и графикой ( без использования сторонних библиотек)(!!!) настолько что исписан кодом станиц эдак 10-ть... и выбила оболочку с переполнением памяти.
Честно говоря не ожидал что такое возможно надоело ждать окончание ответа пошёл обедать, пришёл, а "простыня кода" все еще растет причем нейронка регулярно что-то правит в уже написанном коде, что вообще (ИМХО) дичь и все это делает весьма шустро (2,7-8.7 токенов в секунду) !
Добавлено спустя 17 часов 38 минут 45 секунд:Re: Использование облачного ИИ и нейросетей в своих проектах.Ура мне! Нашел модели понимающие русский язык !
gemma-2-9B-it-russian-function-calling-F16 и RichardErkhov/ruslandev_-_llama-3-8b-gpt-4o-ru1.0-gguf
Вопрос: как получить доступ к полям веб-интерфейса загруженного в движок WebView2 используя библиотеку WebView4Delphi в программе на Lazarus + Fpc?
Ответ:
Для доступа к полям веб-интерфейса, загруженному в движок WebView2 из вашего приложения на Lazarus + FPC с использованием библиотеки WebView4Delphi, вам потребуется выполнить несколько шагов. Вот общие рекомендации:
Использование JavaScript: Вам нужно будет использовать JavaScript для доступа к полям веб-интерфейса. Это можно сделать, используя методы DOM (Document Object Model) или событий.
Программируемый интерфейс: Если вам нужен прямой доступ к полям без использования JavaScript, вы можете попробовать использовать программированный интерфейс WebView2 для Delphi и Lazarus + FPC. Это позволит вам напрямую взаимодействовать с веб-страницами через API.
Использование библиотеки: Библиотека WebView4Delphi, как я понял из вашего запроса, предназначена для работы с движком WebView2. Вам нужно будет изучить документацию этой библиотеки и примеры кода, чтобы понять, какие методы или свойства позволяют доступ к полям веб-интерфейса.
Примерный код: Вот простой пример того, как можно использовать JavaScript для доступа к полю ввода на HTML странице:
- Код: Выделить всё
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Доступ к полям</title>
</head>
<body>
<input type="text" id="myInput">
<script>
function getFieldValue() {
var field = document.getElementById('myInput');
alert(field.value);
}
getFieldValue();
</script>
</body>
</html>
Программируемый интерфейс: Если вам нужен прямой доступ к полям без JavaScript, вы можете использовать программированный интерфейс WebView2 для Delphi и Lazarus + FPC. Это позволит вам напрямую взаимодействовать с веб-страницами через API.
Использование библиотеки: Библиотека WebView4Delphi предназначена для работы с движком WebView2, который предоставляет программный интерфейс для доступа к содержимому и функциональности веб-страниц. Вам нужно будет изучить документацию этой библиотеки и примеры кода, чтобы понять, какие методы или свойства позволяют вам взаимодействовать с полями ввода.
Помните, что точные шаги могут отличаться в зависимости от конкретной версии движка WebView2, вашей платформы (Windows, macOS, Linux) и специфики задач. Убедитесь, что вы ознакомились с последними документациями и примерами кода для библиотеки WebView4Delphi.
Зы
Ответ довольно бестолковый но достаточно разумный ....
( Забавно что вторичные "русские" модели вроде как платные ( однако что характерно подписи "не для коммерческого использования" нет ), но скачиваются "молча" через стандартный интерфейс GPT4All что немного странно (проверить что использовалась та или иная модель практически невозможно так что видимо "цена" назначена с потолка ( типа "вдруг кто-то заплатит" ) ) )
Добавлено спустя 57 минут 8 секунд:Re: Использование облачного ИИ и нейросетей в своих проектах.Упс ! Оказывается и другие модели вполне понятливые "полиглоты"... (Что неудивительно основа то gpt4 )