feat: add watsonx component (#7080)

* feat: add watsonx icon

* feat: added watsonx icon export

* feat: add icon to styleUtils

* feat: add watsonx.ai model component

* feat: added watsonx.ai component to init

* fix: icon not correct

* feat: implemented streaming

* feat: added dynamc list for models

* fix: removed model on change url

* chore: removed refresh, not needed anymore

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* chore: ruff formatting

* [autofix.ci] apply automated fixes

* fix: use ChatWatsonx instead of WatsonxLLM

* Add ibm dependencies to pyproject

* feat: added new parameters for chat

* langflow-specific tweaks

* lint

* [autofix.ci] apply automated fixes

* lint starter project

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
This commit is contained in:
galatro 2025-03-24 16:41:01 +01:00 committed by GitHub
commit 0eeb142ecd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 518 additions and 62 deletions

View file

@ -0,0 +1,21 @@
const SvgWatsonxAI = (props) => (
<svg viewBox="0 0 32 32" width="1em" height="1em" {...props}>
<path d="m26,24c-1.1046,0-2,.8954-2,2,0,.0764.0142.1488.0225.2229-2.2808,1.7963-5.0792,2.7771-8.0225,2.7771-4.2617,0-8-3.9722-8-8.5,0-4.687,3.813-8.5,8.5-8.5h.5v-2h-.5c-5.7896,0-10.5,4.7104-10.5,10.5,0,1.8839.5304,3.6896,1.4371,5.2565-2.7133-2.3843-4.4371-5.869-4.4371-9.7565,0-2.1152.4917-4.1328,1.4619-5.9956l-1.7744-.9238c-1.104,2.1211-1.6875,4.5137-1.6875,6.9194,0,8.271,6.729,15,15,15,3.3744,0,6.5818-1.1193,9.2048-3.1662.244.106.5123.1662.7952.1662,1.1046,0,2-.8954,2-2s-.8954-2-2-2Z" />
<rect
x="11"
y="20"
width="2"
height="2"
transform="translate(33 9) rotate(90)"
/>
<rect
x="19"
y="10"
width="2"
height="2"
transform="translate(31 -9) rotate(90)"
/>
<path d="m16,1c-3.3744,0-6.5818,1.1193-9.2048,3.1662-.244-.106-.5123-.1662-.7952-.1662-1.1046,0-2,.8954-2,2s.8954,2,2,2,2-.8954,2-2c0-.0764-.0142-.1488-.0225-.2229,2.2808-1.7963,5.0792-2.7771,8.0225-2.7771,4.2617,0,8,3.9722,8,8.5,0,4.687-3.813,8.5-8.5,8.5h-.5v2h.5c5.7896,0,10.5-4.7104,10.5-10.5,0-1.8853-.5322-3.6917-1.4401-5.2593,2.715,2.3843,4.4401,5.8704,4.4401,9.7593,0,2.1152-.4917,4.1328-1.4619,5.9956l1.7744.9238c1.104-2.1211,1.6875-4.5137,1.6875-6.9194C31,7.729,24.271,1,16,1Z" />
</svg>
);
export default SvgWatsonxAI;

View file

@ -0,0 +1,9 @@
import React, { forwardRef } from "react";
import SvgWatsonxAI from "./WatsonxAI";
export const WatsonxAiIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <SvgWatsonxAI ref={ref} {...props} />;
});

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="icon" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<defs>
<style>
.cls-1 {
fill: none;
}
</style>
</defs>
<path d="m26,24c-1.1046,0-2,.8954-2,2,0,.0764.0142.1488.0225.2229-2.2808,1.7963-5.0792,2.7771-8.0225,2.7771-4.2617,0-8-3.9722-8-8.5,0-4.687,3.813-8.5,8.5-8.5h.5v-2h-.5c-5.7896,0-10.5,4.7104-10.5,10.5,0,1.8839.5304,3.6896,1.4371,5.2565-2.7133-2.3843-4.4371-5.869-4.4371-9.7565,0-2.1152.4917-4.1328,1.4619-5.9956l-1.7744-.9238c-1.104,2.1211-1.6875,4.5137-1.6875,6.9194,0,8.271,6.729,15,15,15,3.3744,0,6.5818-1.1193,9.2048-3.1662.244.106.5123.1662.7952.1662,1.1046,0,2-.8954,2-2s-.8954-2-2-2Z"/>
<rect x="11" y="20" width="2" height="2" transform="translate(33 9) rotate(90)"/>
<rect x="19" y="10" width="2" height="2" transform="translate(31 -9) rotate(90)"/>
<path d="m16,1c-3.3744,0-6.5818,1.1193-9.2048,3.1662-.244-.106-.5123-.1662-.7952-.1662-1.1046,0-2,.8954-2,2s.8954,2,2,2,2-.8954,2-2c0-.0764-.0142-.1488-.0225-.2229,2.2808-1.7963,5.0792-2.7771,8.0225-2.7771,4.2617,0,8,3.9722,8,8.5,0,4.687-3.813,8.5-8.5,8.5h-.5v2h.5c5.7896,0,10.5-4.7104,10.5-10.5,0-1.8853-.5322-3.6917-1.4401-5.2593,2.715,2.3843,4.4401,5.8704,4.4401,9.7593,0,2.1152-.4917,4.1328-1.4619,5.9956l1.7744.9238c1.104-2.1211,1.6875-4.5137,1.6875-6.9194C31,7.729,24.271,1,16,1Z"/>
<rect id="_Transparent_Rectangle_" data-name="&amp;lt;Transparent Rectangle&amp;gt;" class="cls-1" width="32" height="32"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -296,6 +296,7 @@ import {
import { GroqIcon } from "../icons/Groq";
import { HCDIcon } from "../icons/HCD";
import { HuggingFaceIcon } from "../icons/HuggingFace";
import { WatsonxAiIcon } from "../icons/IBMWatsonx";
import { IFixIcon } from "../icons/IFixIt";
import { IcosaIcon } from "../icons/Icosa";
import { LMStudioIcon } from "../icons/LMStudio";
@ -757,6 +758,7 @@ export const nodeIconsLucide: iconsType = {
VertexAI: VertexAIIcon,
ChatVertexAI: VertexAIIcon,
VertexAIEmbeddings: VertexAIIcon,
WatsonxAI: WatsonxAiIcon,
Share3: ShareIcon,
Share4: Share2Icon,
WikipediaAPIWrapper: SvgWikipedia,