Commit graph

32 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
a6a69a0f3a Fix import statements and formatting issues 2024-01-25 13:03:42 -03:00
Gabriel Luiz Freitas Almeida
d82b98c58b Update import statement for TemplateField 2023-12-10 15:54:33 -03:00
Gabriel Luiz Freitas Almeida
d670d0fd93 Add test for custom component with TemplateField 2023-12-10 15:48:51 -03:00
Gabriel Luiz Freitas Almeida
513b9dbaa1 Add TestComponent class to tests/data/component.py 2023-12-05 18:35:04 -03:00
Gabriel Luiz Freitas Almeida
74d3e6d37b Add component test file 2023-12-04 18:14:26 -03:00
Gabriel Luiz Freitas Almeida
491c03e5b6 Update test_component_code path in conftest.py 2023-12-04 18:14:26 -03:00
Gabriel Luiz Freitas Almeida
327cd0b462 Add test_component.py fixture 2023-12-04 17:23:32 -03:00
anovazzi1
88d91c48d8 Merge remote-tracking branch 'origin/dev' into NGNMergeDev 2023-10-06 15:41:42 -03:00
Gabriel Luiz Freitas Almeida
58548cc242 🔧 chore(conftest.py): add new fixture for vector_store_grouped_json_flow to improve test coverage
🔧 chore(conftest.py): add new path for vector_store_grouped.json file to improve test coverage

🆕 feat(Vector Store): add Vector Store agent and Vector Store Info node

The Vector Store agent allows querying a Vector Store. It can be used to construct an agent from a Vector Store. The Vector Store Info node provides information about a Vector Store.

The Vector Store agent and Vector Store Info node are added to support the functionality of querying a Vector Store.

🔧 chore: update configuration options in the code
📝 docs: add information about the OpenAI API Base configuration option in the code comments

🔧 chore: update configuration for ChatOpenAI and Chroma nodes
📝 docs: update documentation for ChatOpenAI and Chroma nodes

🔧 chore(config): update OpenAIEmbeddings-YwSvx configuration options

The OpenAIEmbeddings-YwSvx configuration options have been updated to include new fields and values. This commit updates the configuration file to reflect these changes.

🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma

🔧 chore(config): update configuration options for OpenAIEmbeddings and Chroma to improve flexibility and customization

🔧 chore(config): update configuration options for RecursiveCharacterTextSplitter and WebBaseLoader
📝 docs(config): update configuration options for RecursiveCharacterTextSplitter and WebBaseLoader in documentation

🔧 chore(OpenAIEmbeddings): update OpenAIEmbeddings configuration options

The OpenAIEmbeddings node configuration options have been updated to include the following changes:
- `allowed_special` and `disallowed_special` now accept a list of values instead of a single value
- `chunk_size` now accepts an integer value
- `deployment` now accepts a string value
- `embedding_ctx_length` now accepts an integer value
- `headers` now supports multiline values
- `max_retries` now accepts an integer value
- `model` now accepts a string value
- `model_kwargs` now accepts code input
- `openai_api_base` now accepts a password input
- `openai_api_key` now accepts a password input
- `openai_api_type` now accepts a password input
- `openai_api_version` now accepts a password input
- `openai_organization` has been removed from the configuration options

🔧 chore: update OpenAIEmbeddings configuration options in the UI

The OpenAIEmbeddings configuration options in the UI have been updated to include the following changes:
- Added the `openai_organization` option to specify the OpenAI organization.
- Added the `openai_proxy` option to configure the OpenAI proxy.
- Added the `request_timeout` option to set the request timeout.
- Added the `show_progress_bar` option to control the display of progress bars.
- Added the `tiktoken_model_name` option to specify the Tiktoken model name.

These changes improve the flexibility and customization of the OpenAI embedding models.

🔧 chore: clean up unused code and remove unnecessary fields in the configuration file
📝 docs: update documentation link for the Chroma vectorstore module

🔧 fix: fix formatting issue in chunk_size field in RecursiveCharacterTextSplitter node configuration
🔧 fix: fix formatting issue in separator_type field in RecursiveCharacterTextSplitter node configuration
🔧 fix: fix formatting issue in separators field in RecursiveCharacterTextSplitter node configuration

📝 chore(vector_store_grouped.json): add vector_store_grouped.json test data file

🔀 chore(vector_store_grouped.json): add vector_store_grouped.json test data file

 test(graph.py): add test case for processing flow with grouped nodes and vector store
🔍 test(graph.py): add assertions to verify the correctness of the processed flow with grouped nodes and vector store
🔧 test(graph.py): update test case for updating template to make a deep copy of sample_nodes to keep it unchanged
2023-10-05 12:29:29 -03:00
Gabriel Luiz Freitas Almeida
533edf48f9 🔧 chore(conftest.py): add fixture for one_grouped_chat_json_flow to provide a test data file for one grouped chat
🔧 chore(conftest.py): add one_grouped_chat_json_flow fixture to read and return the contents of the one_group_chat.json file

📝 chore(one_group_chat.json): add one_group_chat.json test data file

This commit adds the one_group_chat.json file to the tests/data directory. The file contains a simple chat with a custom prompt template and conversational memory buffer. It is used for testing purposes.

🔧 chore: update node configuration for ConversationBufferMemory, ChatOpenAI, and LLMChain
📝 docs: update documentation links for ConversationBufferMemory and LLMChain

🔧 fix: update prompt template in LLMChain to include conversation history and text input variables
🔧 fix: update ConversationBufferMemory node to include description and documentation links

🎨 style: format and organize code for better readability and maintainability
2023-10-05 11:39:00 -03:00
Gabriel Luiz Freitas Almeida
29f0fb1e15 Update grouped_chat example 2023-10-04 20:46:17 -03:00
Gabriel Luiz Freitas Almeida
416d294117 🐛 fix(basic_example.json): change value of "value" key from "abc" to null to remove hardcoded value and improve flexibility
 test(test_user.py): add test to create a super user for testing purposes and ensure it returns the correct response
🔥 chore(utils.py): remove unused functions run_post and poll_task_status to clean up code
2023-09-22 11:06:25 -03:00
Gabriel Luiz Freitas Almeida
3ea079e562 🚀 feat: add Basic Chat with Prompt and History node
ℹ️ This commit adds a new node called "Basic Chat with Prompt and History" to the project. This node is a simple chat implementation with a custom prompt template and a conversational memory buffer.

The node has the following properties:
- Width: 384
- Height: 621
- ID: ChatOpenAI-N0ogT
- Type: genericNode
- Position: {x: 148.32546232493678, y: 675.5574028128048}

The node contains various configuration options for the ChatOpenAI component, including:
- Callbacks: A list of callback handlers
- Cache: A boolean indicating whether to use caching
- Client: An optional client object
- Max retries: The maximum number of retries
- Max tokens: The maximum number of tokens for the chat response (password field)
- Metadata: Additional metadata for the chat
- Model kwargs: Advanced model configuration options
- Model name: The name of the model to use (options: gpt-3.5-turbo-0613, gpt-3.5-turbo, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo-16k, gpt-4-0613, gpt-4-32k-0613, gpt-4, gpt-4-32k)
- N: The number of chat responses to generate
- OpenAI API Base: The base URL of the OpenAI API
- OpenAI API Key: The API key for the OpenAI API

This node allows for creating a basic chat interface with customizable prompts and a history buffer for maintaining conversation context.

🔧 chore: update OpenAI Chat large language models API configuration
📝 docs: update documentation link for OpenAI Chat large language models API

🔧 chore: update prompt template for language model to fix formatting issue

📝 chore(grouped_chat.json): add grouped_chat.json test data file

The grouped_chat.json file is added to the tests/data directory. This file contains a large JSON object representing a grouped chat. It is used for testing purposes.

🚀 feat(test_graph.py): add new tests and fixtures to improve test coverage and ensure correctness of graph module functions
🐛 fix(test_graph.py): fix incorrect function name in test_find_last_node
🔧 chore(test_graph.py): refactor test_get_node_neighbors_complex to be commented out for now, as it is incomplete and causing test failures
2023-09-21 14:45:16 -03:00
Gabriel Luiz Freitas Almeida
6871cc5ab6 adds vector store tests 2023-09-17 19:34:46 -03:00
Gabriel Luiz Freitas Almeida
6309de1654 🚀 feat: add Basic Chat with Prompt and History (2) node
ℹ️ This commit adds a new node called "Basic Chat with Prompt and History (2)" to the chat application. This node is responsible for creating a simple chat interface with a custom prompt template and a conversational memory buffer.

The node configuration includes various properties such as callbacks, cache, client, max_retries, max_tokens, metadata, model_kwargs, model_name, n, openai_api_base, openai_api_key, openai_organization, openai_proxy, and more.

This new node enhances the chat functionality by providing a more interactive and dynamic chat experience for users.

📝 chore(tests): add BasicChatwithPromptandHistory.json test data file for testing purposes

🔧 fix(test_endpoints.py): remove unused imports and trailing whitespace
 test(test_endpoints.py): add test for basic chat in process endpoint to verify correct response and session_id generation
 test(test_endpoints.py): add test for basic chat with different session_ids to verify correct response
 test(test_endpoints.py): add test for basic chat with two session_ids and names to verify correct response
2023-09-05 11:55:53 -03:00
Gabriel Luiz Freitas Almeida
156807b8e1 fix: replace old complex_example to fix tests 2023-07-01 09:52:45 -03:00
Gabriel Luiz Freitas Almeida
a42b6587c5 🔧 chore(config.yml): update Swagger API overview and paths
The Swagger API overview and paths have been updated to reflect the latest changes in the API. The changes include adding support for a new environment variable, `process.env.PORT`, to allow the application to run on a configurable port. Additionally, the Swagger API documentation has been updated to reflect the latest API version and routes.

🔍 chore(links): update links to use HTTPS instead of HTTP
The links were updated to use HTTPS instead of HTTP to improve security and prevent potential man-in-the-middle attacks.

🚨 fix(Openapi.json): fix invalid JSON syntax by removing trailing comma
The Openapi.json file had an invalid JSON syntax due to a trailing comma in the "file_path" field. This commit removes the trailing comma to fix the syntax error.

🔥 chore(test_graph.py): remove unnecessary comments and assertions
🚀 feat(test_graph.py): add file creation and deletion to test_file_tool_node_build and test_toolkit_node_build
The comments and assertions that were removed were unnecessary and did not add any value to the code. The test_file_tool_node_build and test_toolkit_node_build tests now create a file and delete it after the test is run. This ensures that the tests are self-contained and do not leave any artifacts behind.
2023-06-21 11:17:48 -03:00
Gabriel Luiz Freitas Almeida
3a324ed45a Merge remote-tracking branch 'origin/main' into dev 2023-06-16 19:28:47 -03:00
gustavoschaedler
144f2b470e Add New Chains: RetrievalQA, RetrievalQAWithSourcesChain, ConversationalRetrievalChain, CombineDocsChain 2023-06-13 17:05:40 +01:00
Gabriel Luiz Freitas Almeida
8ee4b2b79e 🐛 fix(complex_example.json): change _type value from 'zero_shot' to 'ZeroShotPrompt' to match class name
The _type value was changed to match the class name, which improves consistency and readability of the code.
2023-06-08 00:39:12 -03:00
Gabriel Luiz Freitas Almeida
dedbe3c906 🎨 refactor(complex_example.json): rename "PythonFunction" to "PythonFunctionTool" and add "description" and "name" fields
The "PythonFunction" type has been renamed to "PythonFunctionTool" to better reflect its purpose. Additionally, two new fields have been added: "description" and "name". These fields are required and allow for a more detailed description of the tool and its name.
2023-05-31 15:40:20 -03:00
Gabriel Almeida
5836a91a39 fix: replace basic_example 2023-05-07 20:15:29 +00:00
Ibis Prevedello
37925c275f test: fix text scripts 2023-04-13 11:52:42 -03:00
Gabriel Almeida
cd95e2500c fix: readded chatgpt and fixed wrapper name 2023-04-04 22:14:34 -03:00
Ibis Prevedello
23b50d31d2 refac: fix tool name for test 2023-04-03 17:00:17 -03:00
Gabriel Almeida
58652f7c2b fix: loading agent correctly and added correct chat models loading 2023-04-02 10:41:40 -03:00
Gabriel Almeida
0fc454f9b7 feat: added more tests for nodes 2023-04-01 00:01:29 -03:00
Gabriel Almeida
b67c7d6442 fix: updates to json and test added 2023-03-27 17:32:50 -03:00
Gabriel Almeida
7dbda097f5 feat: complex example test passing 2023-03-26 01:15:01 -03:00
Gabriel Almeida
cccbeeb4d2 feat: added edge validation 2023-03-24 18:48:03 -03:00
Gabriel Almeida
269c06e9c1 feat: added tests for graph 2023-03-24 11:21:29 -03:00
ogabrielluiz
498eadefc0 feat: adding test and make commands for testing 2023-03-10 07:20:40 -03:00