-
-
Notifications
You must be signed in to change notification settings - Fork 23.2k
feat: Add GigaChat #5484
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: Add GigaChat #5484
Conversation
Summary of ChangesHello @NarekChang, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the platform's capabilities by integrating the GigaChat language model. It provides users with new nodes for interacting with GigaChat as a chat model, an embedding model, and a general large language model, complete with various model options and API scope configurations. The integration also includes necessary infrastructure for credential management and handling potential TLS certificate issues, ensuring a smooth setup process for GigaChat users. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds support for GigaChat models, including chat, LLM, and embedding nodes. The implementation is comprehensive, but there are a few issues to address. I've found some minor typos in descriptions and a potential issue with how the baseUrl is handled, which could lead to runtime errors. Most critically, there's a significant security vulnerability due to the hardcoded disabling of TLS certificate validation for GigaChat requests, which should be made a configurable, opt-in feature.
packages/components/nodes/chatmodels/ChatGigaChat/ChatGigaChat.ts
Outdated
Show resolved
Hide resolved
packages/components/nodes/embeddings/GigaChatEmbedding/GigaChatEmbedding.ts
Outdated
Show resolved
Hide resolved
packages/components/nodes/chatmodels/ChatGigaChat/ChatGigaChat.ts
Outdated
Show resolved
Hide resolved
packages/components/nodes/embeddings/GigaChatEmbedding/GigaChatEmbedding.ts
Outdated
Show resolved
Hide resolved
* feat: Add structured JSON output support to Agent Node - Add agentStructuredOutput input parameter matching LLM Node structure - Implement configureStructuredOutput method to convert schema to Zod - Add createZodSchemaFromJSON helper for complex JSON schemas - Configure structured output before binding tools (required order) - Disable streaming when structured output is enabled - Extract structured fields in prepareOutputObject method - Resolves issue FlowiseAI#5256 * lint fix * add structured output to Agent node * add structured output to Agent node --------- Co-authored-by: Henry <[email protected]>
… asc) (FlowiseAI#5486) fat: add sorting to role assigned users table (workspaces asc, users asc)
…AI#5487) * fix: apply search filter to tools list view * tools table filtering * lint fix --------- Co-authored-by: Henry Heng <[email protected]>
…al editor in Agentflow V2 (FlowiseAI#5513) * Fixed: Variable syntax highlighting lost after copy-paste from external editor in Agentflow V2 * Fixed: Variable syntax highlighting lost after copy paste * Rename CustomMention.js to customMention.js * Update ExpandRichInputDialog.jsx * Update RichInput.jsx * Update customMention.js * Update ExpandRichInputDialog.jsx * Update RichInput.jsx * lint fix --------- Co-authored-by: Henry Heng <[email protected]>
…x bugs (FlowiseAI#5507) * feat: Optimize ConversationalRetrievalToolAgent performance and add rephrase model support - fix duplicate rephrasing bug - Add optional separate rephrase model - Enable query normalization on first messages - Fix returnDirect tool behavior - Add backward-compatible rephrase prompt support * fix lint errors * Fix duplicate streaming and inconsistent chat history format
* add gemini flash * add gemin flash to vertex * add gemin-1.5-flash-preview to vertex * add azure gpt 4o * add claude 3.5 sonnet * add mistral nemo * add groq llama3.1 * add gpt4o-mini to azure * o1 mini * add groq llama 3.2 * update anthropic models * add 3.5 haiku * update vertex embedding models * add azure o1 models * add o3 mini * add wolframalpha tool * Update pnpm-lock.yaml * add claude sonnet 3.7 to vertex and bedrock * Update pnpm-lock.yaml * update gemini * Update pnpm-lock.yaml * add opus 4.5 * Update CONTRIBUTING-ZH.md * Update compose.yaml
…5440) * feat: handle 429 errors and redirect to rate-limited page * fix: simplify rate-limited page and better 429 error handling * fix: status code in quotaUsage * update: add back to home button rate-limited page * chore: fix typos in docker/worker/Dockerfile (FlowiseAI#5435) Fix typos in docker/worker/Dockerfile * chore: fix typos in packages/components/nodes/agentflow/Condition/Condition.ts (FlowiseAI#5436) Fix typos in packages/components/nodes/agentflow/Condition/Condition.ts * chore: fix typos in packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts (FlowiseAI#5437) Fix typos in packages/components/nodes/chatmodels/ChatHuggingFace/ChatHuggingFace.ts * chore: fix typos in packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts (FlowiseAI#5438) Fix typos in packages/components/nodes/prompts/ChatPromptTemplate/ChatPromptTemplate.ts * docs: fix typos in packages/ui/src/layout/MainLayout/Sidebar/MenuList/NavGroup/index.jsx (FlowiseAI#5444) Fix typos in packages/ui/src/layout/MainLayout/Sidebar/MenuList/NavGroup/index.jsx * docs: fix typos in packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts (FlowiseAI#5446) Fix typos in packages/components/nodes/engine/SubQuestionQueryEngine/SubQuestionQueryEngine.ts * docs: fix typos in packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts (FlowiseAI#5447) Fix typos in packages/components/nodes/embeddings/AWSBedrockEmbedding/AWSBedrockEmbedding.ts * docs: fix typos in packages/server/README.md (FlowiseAI#5445) Fix typos in packages/server/README.md * Bugfix/Supervisor Node AzureChatOpenAI (FlowiseAI#5448) Integrate AzureChatOpenAI into the Supervisor node to handle user requests alongside ChatOpenAI. This enhancement allows for improved multi-agent conversation management. * Chore/JSON Array (FlowiseAI#5467) * add separate by JSON object * add file check for Unstructured * Enhance JSON DocumentLoader: Update label and description for 'Separate by JSON Object' option, and add type check for JSON objects in array processing. * Chore/Remove Deprecated File Path Unstructured (FlowiseAI#5478) * Refactor UnstructuredFile and UnstructuredFolder loaders to remove deprecated file path handling and enhance folder path validation. Ensure folder paths are sanitized and validated against path traversal attacks. * Update UnstructuredFolder.ts * feat(security): enhance file path validation and implement non-root D… (FlowiseAI#5474) * feat(security): enhance file path validation and implement non-root Docker user - Validate resolved full file paths including workspace boundaries in SecureFileStore - Resolve paths before validation in readFile and writeFile operations - Run Docker container as non-root flowise user (uid/gid 1001) - Apply proper file ownership and permissions for application files Prevents path traversal attacks and follows container security best practices * Add sensitive system directory validation and Flowise internal file protection * Update Dockerfile to use default node user * update validation patterns to include additional system binary directories (/usr/bin, /usr/sbin, /usr/local/bin) * added isSafeBrowserExecutable function to validate browser executable paths for Playwright and Puppeteer loaders --------- Co-authored-by: taraka-vishnumolakala <[email protected]> Co-authored-by: Henry Heng <[email protected]> Co-authored-by: Henry <[email protected]> * Chore/docker file non root (FlowiseAI#5479) * update dockerfile * Update Dockerfile * remove read write file tools and imports (FlowiseAI#5480) * Bugfix/Custom Function Libraries (FlowiseAI#5472) * Updated the executeJavaScriptCode function to automatically detect and install required libraries from import/require statements in the provided code. * Update utils.ts * lint-fix * Release/3.0.11 (FlowiseAI#5481) [email protected] * [email protected] * Chore/Disable Unstructure Folder (FlowiseAI#5483) * commented out unstructure folder node * Update packages/components/nodes/documentloaders/Unstructured/UnstructuredFolder.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * update: condition for handling 429 errors * update: handle rate limit errors in auth pages * fix: crash due to missing import --------- Co-authored-by: Lê Nam Khánh <[email protected]> Co-authored-by: Henry Heng <[email protected]> Co-authored-by: Taraka Vishnumolakala <[email protected]> Co-authored-by: taraka-vishnumolakala <[email protected]> Co-authored-by: Henry <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update package.json * Update package.json * Update pnpm-lock.yaml * update pnpm lock --------- Co-authored-by: Simon Song <[email protected]> Co-authored-by: Henry <[email protected]>
…t-processing (FlowiseAI#5511) * access chat history and other useful variables in post-processing * cloning data to prevent mutations in post-processing * Enhance post-processing capabilities by adding support for additional variables and improving the UI for available variables display. Update CustomFunction implementations to utilize post-processing options consistently across components. --------- Co-authored-by: Henry <[email protected]>
…r in the npm_and_yarn group across 1 directory (FlowiseAI#5522) * chore(deps): bump multer Bumps the npm_and_yarn group with 1 update in the /packages/server directory: [multer](https://github.com/expressjs/multer). Updates `multer` from 1.4.5-lts.1 to 2.0.2 - [Release notes](https://github.com/expressjs/multer/releases) - [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md) - [Commits](expressjs/multer@v1.4.5-lts.1...v2.0.2) --- updated-dependencies: - dependency-name: multer dependency-version: 2.0.2 dependency-type: direct:production dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> * update pnpm lock --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Henry <[email protected]>
… in the npm_and_yarn group across 1 directory (FlowiseAI#5521) * chore(deps): bump nodemailer Bumps the npm_and_yarn group with 1 update in the /packages/server directory: [nodemailer](https://github.com/nodemailer/nodemailer). Updates `nodemailer` from 6.9.15 to 7.0.7 - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](nodemailer/nodemailer@v6.9.15...v7.0.7) --- updated-dependencies: - dependency-name: nodemailer dependency-version: 7.0.7 dependency-type: direct:production dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]> * update pnpm lock --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Henry <[email protected]>
* add ability to support gemini nano banana image generation * increment Agent node version
remove freeSolo for update state
add gemini code interpreter
Remove postgres vector store data when deletion - Introduced a new `doc_id` column in MySQL, Postgres, and SQLite record managers to support document identification. - Updated the `update` method to handle both string and object formats for keys, allowing for better flexibility in document updates. - Enhanced `listKeys` method to filter by `doc_id` when provided in options. - Updated vector store integrations to utilize the new `doc_id` filtering capability
* update chroma * refactor Chroma configuration handling * refactor Chroma configuration handling
* update base command args * simplified the process of setting environment variables by replacing individual flag checks with a loop that iterates over the flags object
…#5542) fix(services/export-import): import missing flowData for Custom Template Tool
This commit adds support for the GigaChat language model. The model is already compatible with LangChain.
Entities added:
llm, embedding, credential, chatmodel.To support the model, you need to install the npm package langchain-gigachat