Skip to content
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

feat: refactor doc #900

Merged
merged 10 commits into from
Sep 8, 2024
Merged

feat: refactor doc #900

merged 10 commits into from
Sep 8, 2024

Conversation

Undertone0809
Copy link
Owner

@Undertone0809 Undertone0809 commented Sep 8, 2024

  • doc: Using vitepress refactor docs

Summary by CodeRabbit

  • New Features

    • Introduced comprehensive documentation for various components, including agents, tools, and memory management within the Promptulate framework.
    • Added a new guide for creating custom tools and integrating them with the Agent framework.
    • Launched a FAQ document addressing common issues with OpenAI's API and providing solutions for rate limits.
    • Added a roadmap section for project planning and tracking.
  • Bug Fixes

    • Updated logging paths in the documentation to reflect new directory structure changes.
  • Documentation

    • Enhanced clarity and structure across multiple documentation files, including updates to README files, how-to guides, and use case scenarios.
    • Added a contribution guide to assist new contributors with project workflows.
    • Updated documentation for using OpenAI models and specifying model names in the pne library.
  • Chores

    • Updated .gitignore to exclude node_modules for better version control.
    • Introduced a changelog to track updates and enhancements across versions.
    • Automated deployment of documentation to GitHub Pages.

Copy link

coderabbitai bot commented Sep 8, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request introduces numerous changes across various files, including the addition of node_modules to the .gitignore, modifications to the Makefile for documentation serving, and enhancements to multiple documentation files. New guides for the promptulate framework, detailing usage instructions for agents, tools, and LLMs, have been added. Existing documentation has been reformatted for clarity and consistency, improving the overall structure and usability.

Changes

Files Change Summary
.gitignore Added node_modules to the list of ignored files.
Makefile Modified start-docs target to use cd docs && npm run docs:dev for serving documentation.
README.md, README_zh.md Updated image source URLs.
docs.bak/README.md Replaced <output> tags with Markdown code blocks for better readability.
docs.bak/get_started/how-to-guide.md Added a new guide with sections on key features and use cases for the Promptulate framework.
docs.bak/get_started/quick_start.md Enhanced clarity with info boxes and restructured output sections.
docs.bak/modules/agent.md Introduced documentation for Agent component, detailing ToolAgent, WebAgent, and custom agents.
docs.bak/modules/client.md Added guide for using the promptulate terminal.
docs.bak/modules/llm/custom_llm.md Documented how to create a custom LLM wrapper.
docs.bak/modules/llm/erniebot.md Provided documentation for using Baidu ErnieBot models.
docs.bak/modules/tools/custom_tool_usage.md Guidance on creating custom tools for the Agent framework.
docs.bak/other/contribution.md Added contribution guidelines for the Promptulate project.
docs.bak/other/faq.md Created FAQ addressing common issues with OpenAI API usage.
docs.bak/other/how_to_write_model_name.md Guide on specifying model names in the pne library.
docs.bak/other/log_system.md Updated log paths for Windows and Linux systems.
docs.bak/other/plan.md Introduced a roadmap section with links to project planning resources.
docs.bak/other/update.md Added changelog entries for versions 1.1.0 to 1.8.0.
docs/package.json Introduced configuration for managing development dependencies and scripts for documentation.
docs/use_cases/* Various updates to improve formatting and structure, including the use of Vue components.

Poem

🐇 In the meadow, changes bloom,
With guides and tools, there's plenty of room.
From node_modules now we stray,
Documentation shines bright as day!
Hop along, let knowledge flow,
In the world of Promptulate, watch us grow! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 63

Outside diff range, codebase verification and nitpick comments (23)
docs.bak/use_cases/chat-to-github-repo.md (1)

4-32: Update Clone Command in Quick Start Instructions

The clone command in the Quick Start section works but shows a warning about the preferred URL format. Update the clone command to use the .git suffix to avoid this warning:

  • Change git clone https://www.github.com/Undertone0809/promptulate to git clone https://github.com/Undertone0809/promptulate.git
Analysis chain

Verify Quick Start Instructions

Ensure that the links and commands provided in the Quick Start section are accurate and functional.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the GitHub fork link
curl -o /dev/null -s -w "%{http_code}\n" https://github.com/Undertone0809/promptulate/fork

# Verify the repository clone command
git ls-remote https://www.github.com/Undertone0809/promptulate > /dev/null

Length of output: 235

docs.bak/modules/llm/llm-factory-usage.md (2)

24-30: Clarify the nature of LLM responses in examples.

The example effectively demonstrates how to use the model. However, the hardcoded response in the documentation might lead users to believe that the response is static. It would be beneficial to clarify that the actual responses from the model will vary based on the input and model state.

Tools
Markdownlint

30-30: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)


33-46: Ensure consistency in API key placeholders.

The example provides a good alternative initialization method for the model. However, the placeholder for the API key ("your-api_key") is inconsistent with earlier examples ("your_openai_api_key"). For clarity and consistency, consider using the same placeholder across all examples.

docs.bak/modules/preset.md (1)

1-110: Approve the content but add alt text to the image.

The documentation for the preset roles is comprehensive and well-structured. However, the image at line 87 lacks alt text, which is important for accessibility. Consider adding descriptive alt text to the image.

Tools
Markdownlint

87-87: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/modules/other/string_template.md (1)

1-117: Suggest grammatical corrections and approve the content.

The documentation for the String Template utility is informative and provides useful examples. However, consider correcting the grammatical issues highlighted by the static analysis tool, such as missing articles and verb agreement, to enhance clarity.

Tools
LanguageTool

[uncategorized] ~78-~78: You might be missing the article “an” here.
Context: ... ## Jinja2 In some cases, you will get error when you use single curly braces. For e...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~99-~99: You might be missing the article “an” here.
Context: ...plate use f-string default, it will get error when facing {'key':'value'}. The foll...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~99-~99: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...rror when facing {'key':'value'}. The follow example show how to use Jinja2 to avoid...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~99-~99: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...g {'key':'value'}. The follow example show how to use Jinja2 to avoid this error. ...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~117-~117: The preposition “with” seems more likely in this position.
Context: ...ble}}` to avoid some potential problems by jinja2.**

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)

docs.bak/use_cases/streamlit-groq-llama3.md (1)

85-121: Directory streamlit-groq-llama3-chatbot does not exist in the repository.

The instructions in the documentation for running the application are incorrect or outdated. Please update the documentation to reflect the current state of the repository.

  • The directory streamlit-groq-llama3-chatbot was not found in the example directory of the repository.
Analysis chain

Verify links and instructions in the demo and effect sections.

Ensure that the links to the project and instructions for running the application are accurate and up-to-date. Consider adding more detailed steps or troubleshooting tips if necessary.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the accuracy of links and instructions by checking for updates or changes in the repository.

# Test: Search for updates or changes related to the links and instructions. Expect: Up-to-date and accurate information.
rg --type md -A 5 $'https://github.com/Undertone0809/promptulate'

Length of output: 21239


Script:

#!/bin/bash
# Check if the 'streamlit-groq-llama3-chatbot' directory exists in the repository
gh repo clone Undertone0809/promptulate -- -q
cd promptulate/example
if [ -d "streamlit-groq-llama3-chatbot" ]; then
  echo "Directory exists: streamlit-groq-llama3-chatbot"
else
  echo "Directory does not exist: streamlit-groq-llama3-chatbot"
fi

Length of output: 454

docs/modules/agent.md (2)

Line range hint 7-29: ToolAgent section and code changes are clear and consistent.

The example demonstrates the usage of ToolAgent effectively. Consider simplifying the phrase "in conjunction with Tool" to "with Tool" for brevity and clarity.

Tools
LanguageTool

[style] ~7-~7: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...ple demonstrates how to use ToolAgent in conjunction with Tool. ```python import promptulate as ...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


Line range hint 85-140: WebAgent and Custom Agent sections are informative and clear.

The examples provided are practical and enhance understanding of the WebAgent and custom Agent capabilities. Please add alternative text to the images to improve accessibility.

Tools
Markdownlint

138-138: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/use_cases/gradio-chatbot.md (1)

Line range hint 15-134: Code Overview and implementation sections are detailed and clear.

The provided code snippets correctly demonstrate the usage of pne and Gradio for building a chatbot. Ensure that all links and references are complete to avoid confusion.

Tools
Markdownlint

11-11: null
No empty links

(MD042, no-empty-links)

docs.bak/other/contribution.md (1)

56-140: Detailed and helpful Quick Start guide, but consider varying language for clarity.

The Quick Start guide is comprehensive and provides clear instructions for setting up the development environment and contributing code. However, consider varying the language to avoid repetition of phrases like "make sure" to enhance readability.

Tools
LanguageTool

[grammar] ~58-~58: The verb form ‘guide’ does not appear to fit in this context.
Context: ...base. ## 🚀 2. Quick Start This quick start guide explains how to run the repository loca...

(SINGULAR_NOUN_VERB_AGREEMENT)


[uncategorized] ~58-~58: Possible missing article found.
Context: ...w to run the repository locally. Before quick start, there are some concepts you need...

(AI_HYDRA_LEO_MISSING_A)


[grammar] ~68-~68: “Project” is a singular noun. It appears that the verb form is incorrect.
Context: ...eck. GitHub Actions: This project use GitHub Actions to check the code. When ...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[style] ~115-~115: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... you want to develop and push code, you need to follow the following steps: 1. Change ...

(REP_NEED_TO_VB)


[duplication] ~117-~117: Possible typo: you repeated a word
Context: ...ow the following steps: 1. Change your code 2. Code check Before you commit the code, you ...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~120-~120: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... format and can pass the unit test. You need to run the following command: ```shell ma...

(REP_NEED_TO_VB)


[style] ~132-~132: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...the unit test. If you add new code, you need to add the corresponding unit test in `tes...

(REP_NEED_TO_VB)

Markdownlint

72-72: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs/use_cases/llmapper.md (1)

Line range hint 25-125: Enhance Python Script for Knowledge Graph Generation

The Python script for generating a knowledge graph is complex and involves multiple components. Consider adding more detailed comments within the script to explain each step and ensure that the script adheres to Python best practices, especially in terms of error handling and modular design.

docs/get_started/quick_start.md (2)

3-3: Clarification on the introductory paragraph.

The introduction provides a good overview of what the reader can expect from the tutorial. However, the sentence structure could be improved for better readability.

Consider revising to: "This section of the tutorial provides a comprehensive introduction to Promptulate, covering basic usage of commonly used modules."


322-322: Simplification suggestion for phrase usage.

The phrase "a variety of" could be simplified to enhance clarity.

Consider changing "To integrate a variety of external tools" to "To integrate various external tools".

Tools
LanguageTool

[style] ~322-~322: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...ly 3.99. Agent End. ``` To integrate a variety of external tools, including web search, c...

(A_VARIETY_OF)

docs.bak/get_started/quick_start.md (2)

152-152: Repetition in example introduction.

The sentence "In this example, pne internally integrates..." starts three successive sentences with "In this example".

Consider varying the sentence structure to avoid repetition.

Tools
LanguageTool

[style] ~152-~152: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ai","role": "user"}], tools=tools) ``` In this example, pne internally integrates...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


320-320: Simplification suggestion for phrase usage.

The phrase "a variety of" could be simplified to enhance clarity.

Consider changing "To integrate a variety of external tools" to "To integrate various external tools".

Tools
LanguageTool

[style] ~320-~320: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...ly 3.99. Agent End. ``` To integrate a variety of external tools, including web search, c...

(A_VARIETY_OF)

docs.bak/modules/schema.md (2)

34-85: Suggest adding explanations to code examples.

The code examples are helpful, but adding brief explanations or comments within the code could enhance understanding for users unfamiliar with the context or purpose of these examples.


Line range hint 83-185: Suggest adding more context to the examples.

While the examples are clear, providing additional context or explanations would help users better understand how to effectively use BaseStreamIterator in various scenarios.

Tools
LanguageTool

[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...define the structure of the data. It is a very important concept in Promptulate. The schema is...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~9-~9: Loose punctuation mark.
Context: ...ur types of messages: - SystemMessage: Represents messages that provide instru...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~10-~10: Loose punctuation mark.
Context: ...splayed to the end user. - UserMessage: Represents messages that come from the ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~11-~11: Loose punctuation mark.
Context: ...input or questions. - AssistantMessage: Represents messages generated by the AI...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~12-~12: Loose punctuation mark.
Context: ...ponse to the user. - CompletionMessage: Used specifically in the context of Ope...

(UNLIKELY_OPENING_PUNCTUATION)

Markdownlint

14-14: null
Bare URL used

(MD034, no-bare-urls)

docs.bak/modules/llm/erniebot.md (4)

60-106: Suggest adding explanations to code examples.

The code examples are helpful, but adding brief explanations or comments within the code could enhance understanding for users unfamiliar with the context or purpose of these examples.

Tools
Markdownlint

86-86: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


90-90: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


94-94: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


126-148: Suggest adding more context or examples for stop words.

While the explanation of stop words is clear, providing additional context or examples would help users better understand how to effectively use this feature in various scenarios.

Tools
LanguageTool

[uncategorized] ~133-~133: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...p中某个元素结尾时,停止文本生成。官方说明如下: (1)每个元素长度不超过20字符 (2)最多4个元素 ```python from prompt...

(wa5)

Markdownlint

133-133: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


135-135: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


156-185: Suggest adding more context to the examples.

While the examples are clear, providing additional context or explanations would help users better understand how to effectively use streaming output with ErnieBot in various scenarios.


83-185: Suggest adding more context to the examples.

While the examples are clear, providing additional context or explanations would help users better understand how to effectively use BaseStreamIterator in various scenarios.

Tools
LanguageTool

[uncategorized] ~133-~133: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...p中某个元素结尾时,停止文本生成。官方说明如下: (1)每个元素长度不超过20字符 (2)最多4个元素 ```python from prompt...

(wa5)

Markdownlint

86-86: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


90-90: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


94-94: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


133-133: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


135-135: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


112-112: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/use_cases/chat_usage.md (2)

4-4: Consider revising the term "awesome".

The use of "awesome" in a professional document might be seen as informal. Consider using a more formal term to maintain a professional tone in the documentation.

-`pne.chat()` is an awesome function, you can use **tools, formatted output, different llm** in this function.
+`pne.chat()` is a powerful function, you can use **tools, formatted output, different llm** in this function.
Tools
LanguageTool

[style] ~4-~4: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...at()function. # Chatpne.chat()` is an awesome function, you can use **tools, formatte...

(AWESOME)


74-74: Add a comma for clarity.

Consider adding a comma before "and" to clearly separate the two independent clauses for better readability.

-It will save the LLM object and you can use it to chat.
+It will save the LLM object, and you can use it to chat.
Tools
LanguageTool

[uncategorized] ~74-~74: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...chat object. It will save the LLM object and you can use it to chat. AIChat is the s...

(COMMA_COMPOUND_SENTENCE)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between cd31d04 and 27f1680.

Files ignored due to path filters (35)
  • docs.bak/images/Snipaste_2023-07-04_18-03-14.png is excluded by !**/*.png
  • docs.bak/images/add_test_file_in_makefile.png is excluded by !**/*.png
  • docs.bak/images/agent_custom_agent_output.png is excluded by !**/*.png
  • docs.bak/images/agent_webagent_output.png is excluded by !**/*.png
  • docs.bak/images/banner.jpg is excluded by !**/*.jpg
  • docs.bak/images/client_result_1.png is excluded by !**/*.png
  • docs.bak/images/client_result_2.png is excluded by !**/*.png
  • docs.bak/images/dall-e-gen.png is excluded by !**/*.png
  • docs.bak/images/erniebot_param_1.png is excluded by !**/*.png
  • docs.bak/images/hook_1.png is excluded by !**/*.png
  • docs.bak/images/logo.png is excluded by !**/*.png
  • docs.bak/images/logo.svg is excluded by !**/*.svg
  • docs.bak/images/logo_transparent.png is excluded by !**/*.png
  • docs.bak/images/output_formatter_llm_output.png is excluded by !**/*.png
  • docs.bak/images/output_formatter_webagent_output.png is excluded by !**/*.png
  • docs.bak/images/plan-and-execute.png is excluded by !**/*.png
  • docs.bak/images/pne_arch.png is excluded by !**/*.png
  • docs.bak/images/qianfan_model.png is excluded by !**/*.png
  • docs.bak/images/streamlit_hf_model_name.png is excluded by !**/*.png
  • docs.bak/use_cases/img/App-Schema-for-Math-Wiz.png is excluded by !**/*.png
  • docs.bak/use_cases/img/Promptulate-Agents-Deconstructed.png is excluded by !**/*.png
  • docs.bak/use_cases/img/a-knowledge-graph-of-Musk.png is excluded by !**/*.png
  • docs.bak/use_cases/img/example-of-chat-to-githubrepo.png is excluded by !**/*.png
  • docs.bak/use_cases/img/llmapper-workflow.png is excluded by !**/*.png
  • docs.bak/use_cases/img/mode-sidebar.png is excluded by !**/*.png
  • docs.bak/use_cases/img/pne.chat()+gradio.png is excluded by !**/*.png
  • docs.bak/use_cases/img/streamlit+pne.png is excluded by !**/*.png
  • docs.bak/use_cases/img/streamlit-application-run.png is excluded by !**/*.png
  • docs.bak/use_cases/img/streamlit-groq-llama3.png is excluded by !**/*.png
  • docs.bak/use_cases/img/test-question-answer.jpg is excluded by !**/*.jpg
  • docs/images/banner.png is excluded by !**/*.png
  • docs/images/logo.ico is excluded by !**/*.ico
  • docs/images/logo.png is excluded by !**/*.png
  • docs/images/logo.svg is excluded by !**/*.svg
  • docs/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
Files selected for processing (70)
  • .gitignore (1 hunks)
  • Makefile (1 hunks)
  • README.md (1 hunks)
  • README_zh.md (1 hunks)
  • docs.bak/README.md (4 hunks)
  • docs.bak/get_started/how-to-guide.md (1 hunks)
  • docs.bak/get_started/quick_start.md (1 hunks)
  • docs.bak/modules/agent.md (1 hunks)
  • docs.bak/modules/agents/assistant_agent_usage.md (1 hunks)
  • docs.bak/modules/client.md (1 hunks)
  • docs.bak/modules/formatter.md (1 hunks)
  • docs.bak/modules/framework.md (1 hunks)
  • docs.bak/modules/hook.md (1 hunks)
  • docs.bak/modules/llm/custom_llm.md (1 hunks)
  • docs.bak/modules/llm/erniebot.md (1 hunks)
  • docs.bak/modules/llm/llm-factory-usage.md (1 hunks)
  • docs.bak/modules/llm/llm.md (1 hunks)
  • docs.bak/modules/llm/openai.md (1 hunks)
  • docs.bak/modules/llm/zhipu.md (1 hunks)
  • docs.bak/modules/memory.md (1 hunks)
  • docs.bak/modules/other/string_template.md (1 hunks)
  • docs.bak/modules/preset.md (1 hunks)
  • docs.bak/modules/provider.md (1 hunks)
  • docs.bak/modules/schema.md (1 hunks)
  • docs.bak/modules/tools/custom_tool_usage.md (1 hunks)
  • docs.bak/modules/tools/index.md (1 hunks)
  • docs.bak/modules/tools/langchain_tool_usage.md (1 hunks)
  • docs.bak/other/contribution.md (1 hunks)
  • docs.bak/other/faq.md (1 hunks)
  • docs.bak/other/how_to_write_model_name.md (1 hunks)
  • docs.bak/other/log_system.md (1 hunks)
  • docs.bak/other/plan.md (1 hunks)
  • docs.bak/other/update.md (1 hunks)
  • docs.bak/use_cases/build-math-application-with-agent.md (1 hunks)
  • docs.bak/use_cases/chat-to-github-repo.md (1 hunks)
  • docs.bak/use_cases/chat_usage.md (1 hunks)
  • docs.bak/use_cases/gradio-chatbot.md (1 hunks)
  • docs.bak/use_cases/intro.md (1 hunks)
  • docs.bak/use_cases/llmapper.md (1 hunks)
  • docs.bak/use_cases/streamlit-chatbot.md (1 hunks)
  • docs.bak/use_cases/streamlit-groq-llama3.md (1 hunks)
  • docs/.vitepress/config.mts (1 hunks)
  • docs/.vitepress/theme/index.ts (1 hunks)
  • docs/.vitepress/theme/style.css (1 hunks)
  • docs/components/iframe.vue (1 hunks)
  • docs/get_started/intro.md (1 hunks)
  • docs/get_started/quick_start.md (15 hunks)
  • docs/index.md (1 hunks)
  • docs/modules/agent.md (5 hunks)
  • docs/modules/client.md (3 hunks)
  • docs/modules/llm/erniebot.md (1 hunks)
  • docs/modules/llm/llm-factory-usage.md (1 hunks)
  • docs/modules/llm/llm.md (1 hunks)
  • docs/modules/llm/openai.md (1 hunks)
  • docs/modules/llm/zhipu.md (1 hunks)
  • docs/modules/memory.md (1 hunks)
  • docs/modules/tools/custom_tool_usage.md (3 hunks)
  • docs/modules/tools/index.md (3 hunks)
  • docs/other/faq.md (1 hunks)
  • docs/other/how_to_write_model_name.md (3 hunks)
  • docs/other/log_system.md (1 hunks)
  • docs/other/update.md (1 hunks)
  • docs/package.json (1 hunks)
  • docs/use_cases/chat-to-github-repo.md (2 hunks)
  • docs/use_cases/chat_usage.md (2 hunks)
  • docs/use_cases/gradio-chatbot.md (1 hunks)
  • docs/use_cases/llmapper.md (1 hunks)
  • docs/use_cases/streamlit-chatbot.md (2 hunks)
  • docs/use_cases/streamlit-groq-llama3.md (1 hunks)
  • example/chat-to-github-repo/repo_service.py (1 hunks)
Files skipped from review due to trivial changes (14)
  • .gitignore
  • README.md
  • README_zh.md
  • docs.bak/README.md
  • docs.bak/modules/provider.md
  • docs.bak/other/plan.md
  • docs/components/iframe.vue
  • docs/index.md
  • docs/modules/llm/llm.md
  • docs/other/how_to_write_model_name.md
  • docs/other/log_system.md
  • docs/other/update.md
  • docs/package.json
  • docs/use_cases/chat_usage.md
Additional context used
LanguageTool
docs.bak/other/log_system.md

[uncategorized] ~5-~5: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...parate log file. You can find the logs in the following path: - windows: /Users/...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)

docs.bak/other/faq.md

[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"解决
Context: ... 5美元的账号,一定会遇到限速的问题,这个时候,如果你有一堆Key,就可以很好的解决这个问题。promptulate`的LRU KEY轮询机制巧妙的解决了限速...

(wb4)


[uncategorized] ~11-~11: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:巧妙"地"解决
Context: ...就可以很好的解决这个问题。promptulate的LRU KEY轮询机制巧妙的解决了限速的问题,你可以使用LLM随意地进行提问(前提是你有够多的key)。此外...

(wb4)

docs.bak/get_started/how-to-guide.md

[formatting] ~3-~3: Insert a comma before quoting reported speech: “answers to, “”…
Context: # How-to guides Here you’ll find answers to “How do I….?” types of questions. These g...

(SAID_COMMA_SPEECH)


[formatting] ~3-~3: Did you mean “?” or “.”?
Context: ... Here you’ll find answers to “How do I….?” types of questions. These guides are g...

(MULTIPLE_PUNCTATION_MARKS_2)

docs.bak/other/update.md

[uncategorized] ~5-~5: Possible missing preposition found.
Context: ...date ## Upgrade Version Please update the latest version. ```bash pip install -U...

(AI_EN_LECTOR_MISSING_PREPOSITION)

docs/use_cases/chat-to-github-repo.md

[uncategorized] ~41-~41: Loose punctuation mark.
Context: ...) ## Role of each document 1. app.py: This is the main entry point of the app...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~41-~41: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...is built using promptulate. The chatbot is able to chat with GitHub repo. 2. config.py: ...

(BE_ABLE_TO)


[uncategorized] ~42-~42: Loose punctuation mark.
Context: ...to chat with GitHub repo. 2. config.py: This is the configuration file for the ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~43-~43: Loose punctuation mark.
Context: ...or the application. 3. repo_service.py:Provides a comprehensive code warehouse ...

(UNLIKELY_OPENING_PUNCTUATION)

docs.bak/use_cases/chat-to-github-repo.md

[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...is built using promptulate. The chatbot is able to chat with GitHub repo. 2. config.py: ...

(BE_ABLE_TO)


[uncategorized] ~38-~38: Loose punctuation mark.
Context: ...to chat with GitHub repo. 2. config.py: This is the configuration file for the ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~39-~39: Loose punctuation mark.
Context: ...or the application. 3. repo_service.py:Provides a comprehensive code warehouse ...

(UNLIKELY_OPENING_PUNCTUATION)

docs.bak/modules/client.md

[uncategorized] ~3-~3: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:方便"地"使用
Context: ...提供了一个简易终端,在你安装了 promptulate 之后,你可以非常方便的使用这个简易终端进行一些对话,具体包括: - 基于大模型的简单对话 -...

(wb4)

docs.bak/modules/llm/llm.md

[formatting] ~14-~14: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...l, we do not use the llm module directly, because in most cases we can directly use pne.c...

(COMMA_BEFORE_BECAUSE)


[uncategorized] ~21-~21: You might be missing the article “a” here.
Context: ...ctory-usage#LLMFactory) - [How to write model name?](other/how_to_write_model_name.md...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

docs.bak/use_cases/intro.md

[style] ~5-~5: Consider using a different verb to strengthen your wording.
Context: ...t a lower cost. Before doing so, please make sure you have read [quick start](get_started...

(MAKE_SURE_ENSURE)


[misspelling] ~12-~12: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ts) - [Groq, llama3, Streamlit to build a application](use_cases/streamlit-groq-l...

(EN_A_VS_AN)

docs/modules/client.md

[grammar] ~13-~13: The correct preposition here is “on” or “about”.
Context: ... command to query the basic information of the current project bash pne *...

(INFORMATION_OF)


[formatting] ~42-~42: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...t such a long content every time you run, because after you run the terminal for the firs...

(COMMA_BEFORE_BECAUSE)

docs.bak/modules/llm/custom_llm.md

[uncategorized] ~4-~4: Possible missing article found.
Context: ...hows how to create a custom LLM and use LLM to output a response to a user query. H...

(AI_HYDRA_LEO_MISSING_THE)


[uncategorized] ~4-~4: Possible missing comma found.
Context: ...M to output a response to a user query. Here we wrap the OpenAI API to create a cust...

(AI_HYDRA_LEO_MISSING_COMMA)

docs/modules/llm/llm-factory-usage.md

[uncategorized] ~4-~4: This verb may not be in the correct form. Consider using a different form for this context.
Context: # LLMFactory ::: info We recommend use pne.chat() to create your LLM applicati...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)

docs.bak/modules/tools/langchain_tool_usage.md

[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...n Tool Usage Promptulate Agent can use LangChain Tool directly, this document shows how ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...in tool in ToolAgent. You can see all LangChain tool [here](https://python.langchain.co...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ... ToolAgent. You can see all LangChain tool [here](https://python.langchain.com/doc...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[uncategorized] ~9-~9: You might be missing the article “the” here.
Context: ... Quick Start Now, let's see how to use LangChain tool in ToolAgent. The following exampl...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~9-~9: Possible missing preposition found.
Context: ...how to use LangChain tool in ToolAgent. The following example, we use LangChain ArX...

(AI_EN_LECTOR_MISSING_PREPOSITION)


[uncategorized] ~9-~9: You might be missing the article “the” here.
Context: ...oolAgent. The following example, we use LangChain ArXiv tool to get the latest papers fro...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~56-~56: You might be missing the article “the” here.
Context: ...ions, called “prompts”. Now you can use DALL-E Image Generator Tool of LangChain to ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[style] ~58-~58: Consider using a more formal alternative.
Context: ...ons/tools/dalle_image_generator) to get more information about how to get DALL-E Image Generator...

(MORE_INFO)


[uncategorized] ~58-~58: You might be missing the article “the” here.
Context: ...o get more information about how to get DALL-E Image Generator Tool of LangChain. T...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~59-~59: Possible missing preposition found.
Context: ...L-E Image Generator Tool of LangChain. The following example, we use DALL-E Image ...

(AI_HYDRA_LEO_MISSING_IN)


[uncategorized] ~60-~60: You might be missing the article “the” here.
Context: ...ngChain. The following example, we use DALL-E Image Generator Tool of LangChain to ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

docs.bak/modules/llm/llm-factory-usage.md

[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...m](https://github.com/BerriAI/litellm). It means you can call all LLM APIs using t...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~11-~11: The verb form ‘show’ does not appear to fit in this context.
Context: ...a look at how to use it. The following example show how to create an OpenAI model and chat....

(SINGULAR_NOUN_VERB_AGREEMENT)


[style] ~89-~89: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...a simple and easy way to chat. - If you want to use a custom LLM model, please read [Cu...

(REP_WANT_TO_VB)

docs.bak/other/how_to_write_model_name.md

[style] ~90-~90: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ies and model name standards, so if you want to use any model, you can go directly to t...

(REP_WANT_TO_VB)


[grammar] ~95-~95: The verb form ‘show’ does not appear to fit in this context.
Context: ...te model name by litellm The following example show how to write model name if you want to ...

(SINGULAR_NOUN_VERB_AGREEMENT)


[style] ~95-~95: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ple show how to write model name if you want to use a huggingface model `WizardLM/Wizar...

(REP_WANT_TO_VB)

docs.bak/modules/llm/zhipu.md

[uncategorized] ~55-~55: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...告文案、小说写作、知识类写作、代码生成等。 本框架默认为性能更加强大的glm-4模型。 你可以使用如下方式切换模型: ```python from prompt...

(wa5)

docs.bak/modules/other/string_template.md

[uncategorized] ~78-~78: You might be missing the article “an” here.
Context: ... ## Jinja2 In some cases, you will get error when you use single curly braces. For e...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~99-~99: You might be missing the article “an” here.
Context: ...plate use f-string default, it will get error when facing {'key':'value'}. The foll...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~99-~99: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...rror when facing {'key':'value'}. The follow example show how to use Jinja2 to avoid...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~99-~99: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...g {'key':'value'}. The follow example show how to use Jinja2 to avoid this error. ...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~117-~117: The preposition “with” seems more likely in this position.
Context: ...ble}}` to avoid some potential problems by jinja2.**

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)

docs.bak/use_cases/streamlit-groq-llama3.md

[misspelling] ~1-~1: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: # Groq, llama3, Streamlit to build a application This demo is how to use pro...

(EN_A_VS_AN)

docs.bak/modules/schema.md

[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...define the structure of the data. It is a very important concept in Promptulate. The schema is...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~9-~9: Loose punctuation mark.
Context: ...ur types of messages: - SystemMessage: Represents messages that provide instru...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~10-~10: Loose punctuation mark.
Context: ...splayed to the end user. - UserMessage: Represents messages that come from the ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~11-~11: Loose punctuation mark.
Context: ...input or questions. - AssistantMessage: Represents messages generated by the AI...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~12-~12: Loose punctuation mark.
Context: ...ponse to the user. - CompletionMessage: Used specifically in the context of Ope...

(UNLIKELY_OPENING_PUNCTUATION)

docs.bak/modules/llm/erniebot.md

[uncategorized] ~52-~52: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"兼容
Context: ...)进行初始化,文心模型虽然与openai模型有较大差异,但是框架提供了尽可能完美的兼容。 你还可以使用QianFan(model="ERNIE-Bot-4")来具...

(wb4)


[uncategorized] ~133-~133: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...p中某个元素结尾时,停止文本生成。官方说明如下: (1)每个元素长度不超过20字符 (2)最多4个元素 ```python from prompt...

(wa5)

docs/modules/tools/custom_tool_usage.md

[uncategorized] ~2-~2: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: # Custom Tool

Tool is a very important part of Agent. Agen...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[uncategorized] ~3-~3: This verb does not appear to agree with the subject. Consider using a different form.
Context: # Custom Tool

Tool is a very important part of Agent. Agent c...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: # Custom Tool

Tool is a very important part of Agent. Agent can use tool to do...

(EN_WEAK_ADJECTIVE)


[style] ~25-~25: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ake a tool functional with LLM. This is an awesome attempt we made, and we hope you will e...

(AWESOME)

docs.bak/modules/tools/custom_tool_usage.md

[duplication] ~1-~1: Possible typo: you repeated a word
Context: # Custom Tool Tool is a very important part of Agent. Agen...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~2-~2: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: # Custom Tool Tool is a very important part of Agent. Agent can use tool to do...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~2-~2: Possible missing article found.
Context: ... important part of Agent. Agent can use tool to do many things, such as get data, pr...

(AI_HYDRA_LEO_MISSING_THE)


[style] ~22-~22: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ake a tool functional with LLM. This is an awesome attempt we made, and we hope you will e...

(AWESOME)


[uncategorized] ~26-~26: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...eclare your tool. The following example show how to custom a web_search tool by func...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~26-~26: You might be missing the article “a” here.
Context: ...in ToolAgent. Here we use duckduckgo as search engine. ```python import promptulate ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~63-~63: You might be missing the article “the” here.
Context: ...n the annotations. If you want to see json schema of your function, you can use th...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

docs.bak/modules/agent.md

[uncategorized] ~89-~89: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:轻松"地"访问
Context: ...# WebAgent promptulate封装的WebAgent可以让你轻松的访问搜索引擎,并查询相关的数据,下面展示其使用方式: ```python im...

(wb4)

docs.bak/use_cases/streamlit-chatbot.md

[uncategorized] ~32-~32: Possible missing preposition found.
Context: ...n use it to quickly configure the model use the following code: > pne.beta.st.mode...

(AI_HYDRA_LEO_MISSING_TO)


[uncategorized] ~43-~43: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...config) ``` model_sidebar provide some models default options, you can also pass a li...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

docs/modules/agent.md

[style] ~7-~7: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...ple demonstrates how to use ToolAgent in conjunction with Tool. ```python import promptulate as ...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


[style] ~81-~81: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ook turn_off_stdout_hook() ``` If you want to customize your own unique print or hand...

(REP_WANT_TO_VB)

docs.bak/other/contribution.md

[style] ~21-~21: ‘Make an improvement’ might be wordy. Consider a shorter alternative.
Context: ...when possible. These live in tests. - Make an improvement - Update any affected example noteboo...

(EN_WORDINESS_PREMIUM_MAKE_AN_IMPROVEMENT)


[style] ~39-~39: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ingle, modular bug/improvement/feature. If two issues are related, or blocking, pl...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~58-~58: The verb form ‘guide’ does not appear to fit in this context.
Context: ...base. ## 🚀 2. Quick Start This quick start guide explains how to run the repository loca...

(SINGULAR_NOUN_VERB_AGREEMENT)


[uncategorized] ~58-~58: Possible missing article found.
Context: ...w to run the repository locally. Before quick start, there are some concepts you need...

(AI_HYDRA_LEO_MISSING_A)


[grammar] ~68-~68: “Project” is a singular noun. It appears that the verb form is incorrect.
Context: ...eck. GitHub Actions: This project use GitHub Actions to check the code. When ...

(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)


[style] ~115-~115: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... you want to develop and push code, you need to follow the following steps: 1. Change ...

(REP_NEED_TO_VB)


[duplication] ~117-~117: Possible typo: you repeated a word
Context: ...ow the following steps: 1. Change your code 2. Code check Before you commit the code, you ...

(ENGLISH_WORD_REPEAT_RULE)


[style] ~120-~120: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... format and can pass the unit test. You need to run the following command: ```shell ma...

(REP_NEED_TO_VB)


[style] ~132-~132: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...the unit test. If you add new code, you need to add the corresponding unit test in `tes...

(REP_NEED_TO_VB)


[grammar] ~146-~146: The word “startup” is a noun. The verb is spelled with a space.
Context: ...` directory. After that, if you want to startup the documentation server and see the ef...

(NOUN_VERB_CONFUSION)

docs.bak/modules/llm/openai.md

[uncategorized] ~68-~68: 您的意思是“"不"全”?
Context: ...(OpenAI),直接给定一段prompt,LLM会直接在prompt的后面进行补全,比如如果你的prompt是你好!,那么LLM会尝试直接在你的prompt...

(BU)


[uncategorized] ~84-~84: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ... ``` > 需要注意的是,OpenAI已经准备弃用text-davinci-003模型,因此你在调用OpenAI(text-davinci-003模型)的时候,会出现...

(wa5)


[uncategorized] ~84-~84: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...davinci-003模型,因此你在调用OpenAI(text-davinci-003模型)的时候,会出现`"This model version is deprecat...

(wa5)


[uncategorized] ~249-~249: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"解决
Context: ... 5美元的账号,一定会遇到限速的问题,这个时候,如果你有一堆Key,就可以很好的解决这个问题。promptulate`的LRU KEY轮询机制巧妙的解决了限速...

(wb4)


[uncategorized] ~250-~250: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:巧妙"地"解决
Context: ...就可以很好的解决这个问题。promptulate的LRU KEY轮询机制巧妙的解决了限速的问题,你可以使用LLM随意地进行提问(前提是你有够多的key)。此外...

(wb4)

docs/get_started/intro.md

[misspelling] ~98-~98: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ts) - [Groq, llama3, Streamlit to build a application](use_cases/streamlit-groq-l...

(EN_A_VS_AN)


[style] ~124-~124: The phrase ‘feel free to’ is used quite frequently. Consider using a less frequent alternative to set your writing apart from others and make it sound more professional.
Context: ...ating automated agents. ## 💌 Contact Feel free to join the group chat to discuss topics r...

(FEEL_FREE_TO_STYLE_ME)

docs.bak/modules/hook.md

[grammar] ~1-~1: Is an article like ‘a’ or ‘an’ missing?
Context: ## What is hook? - Hook, as the name suggests, ...

(BE_NN)


[uncategorized] ~3-~3: Loose punctuation mark.
Context: ## What is hook? - Hook, as the name suggests, can be understood...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~9-~9: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...program flow (exposing a hook). - If we need to implement a specific detail in a functi...

(REP_NEED_TO_VB)


[style] ~9-~9: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...block defined by a hook in the flow, we need to attach or register our implementation t...

(REP_NEED_TO_VB)


[style] ~10-~10: Consider replacing this word to strengthen your wording.
Context: ...rget. - Hook is a programming mechanism and is not directly related to a specific l...

(AND_THAT)


[uncategorized] ~15-~15: Use a comma before “or” if it connects two independent clauses (unless they are closely connected and short).
Context: ...es, specific operations can be performed or specific events can be handled to ensur...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~18-~18: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...with life cycle Hooks are commonly used in conjunction with lifecycle methods, allowing developers ...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


[style] ~116-~116: Consider a shorter alternative to avoid wordiness.
Context: ... more intuitive. ## Two Types of Hooks In order to provide more fine-grained control, `pro...

(IN_ORDER_TO_PREMIUM)

docs.bak/use_cases/build-math-application-with-agent.md

[typographical] ~44-~44: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...reak down a seemingly complex user query, that our LLM might not be able to tackle on ...

(COMMA_THAT_NOUN)


[uncategorized] ~46-~46: Possible missing comma found.
Context: ...rder. This is different from Proptulate chains where the sequence of actions are hardc...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~46-~46: Make sure the noun ‘sequence’ is in agreement with the verb ‘are’. Beware that some collective nouns (like ‘police’ or ‘team’) can be treated as both singular and plural.
Context: ...te chains where the sequence of actions are hardcoded in code. Promptulate offers a...

(DT_NN_OF_NNS_VB)


[uncategorized] ~118-~118: Possible missing preposition found.
Context: ...stantMessage` for this tool, passing it the LLM and the prompt. ```python # reaso...

(AI_HYDRA_LEO_MISSING_TO)


[uncategorized] ~177-~177: Possible missing article found.
Context: ...e app’s response to a logic question is following:** ![test-question-answer](./img/test-q...

(AI_HYDRA_LEO_MISSING_THE)


[grammar] ~218-~218: Possible agreement error. The noun ‘strawberry’ seems to be countable; consider using: “pack of strawberries”.
Context: ...g with three packs of strawberries.Each pack of strawberry has 30 strawberries.How many total piec...

(A_COLLECTIVE_OF_NN)


[grammar] ~227-~227: Incorrect singular possessive form after the number (4). Did you mean “Steves” or “Steves'”?
Context: ...ct answer = 52.4195 4. Question 4 - Steve's sister is 10 years older than him. Stev...

(INCORRECT_POSSESSIVE_FORM_AFTER_A_NUMBER)


[typographical] ~229-~229: If you want to indicate numerical ranges or time ranges, consider using an en dash.
Context: ...sister born? - correct answer = 1991 - 10 = 1981 5. Question 5 - Tell me th...

(DASH_RULE)

docs.bak/modules/tools/index.md

[uncategorized] ~75-~75: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...一些简单的能力处理功能。如果你有需要,你可以直接使用这些带有LLM的Tool,下一章节会演示如何使用Tool。 下面是一些有LLM能力的Tools: - Ar...

(wa5)

docs/modules/tools/index.md

[uncategorized] ~3-~3: Possible missing article found.
Context: ...LLM application development. Currently, Tool only serves Agent for pairing use. This...

(AI_HYDRA_LEO_MISSING_THE)


[style] ~72-~72: The phrase ‘have the ability to’ might be wordy. Consider using “can”.
Context: ..., some tools provided to the Agent also have the ability to call large language models, which gener...

(HAS_THE_ABILITY_TO)


[style] ~84-~84: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: .... Using Promptulate to execute tools is very simple, and for all tools, you can use the `ru...

(EN_WEAK_ADJECTIVE)

docs.bak/modules/agents/assistant_agent_usage.md

[misspelling] ~5-~5: This word is normally spelled as one.
Context: ...he core idea is to first come up with a multi-step plan, and then go through that plan one...

(EN_COMPOUNDS_MULTI_STEP)


[uncategorized] ~14-~14: Possible missing comma found.
Context: ...https://arxiv.org/abs/2210.03629) style agent where you think one step at a time. The...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...-execute" style agent are: 1. Explicit long term planning (which even really strong LLMs...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~17-~17: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...Explicit long term planning (which even really strong LLMs can struggle with) 2. Ability to u...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~20-~20: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...he planning step The following example show how to use Assistant Agent to solve a s...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~22-~22: A determiner appears to be missing. Consider inserting it.
Context: ...n of the 2024 Australia open winner? > Current Assistant Agent is in beta version, and...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~22-~22: You might be missing the article “an” here.
Context: ...l under development. So you need to get Assistant Agent from beta. Firstly, we need to i...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~24-~24: You might be missing the article “the” here.
Context: ...from beta. Firstly, we need to install necessary packages. ```bash pip install langchain...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~39-~39: Possible missing preposition found.
Context: ...penAI ``` ## Define the tools and LLMs This example we use [Tavily](https://app.tav...

(AI_HYDRA_LEO_MISSING_IN)


[uncategorized] ~40-~40: The preposition “on” seems more likely in this position.
Context: ... engine that can search for information from the web. To use Tavily, you need to get...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[style] ~40-~40: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...mation from the web. To use Tavily, you need to get an API key from Tavily. ```python...

(REP_NEED_TO_VB)


[style] ~48-~48: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...our_openai_api_key" ``` However, it is really easy to create your own tools - see document...

(EN_WEAK_ADJECTIVE)


[grammar] ~98-~98: This question is not grammatically correct. Insert the correct form of ‘do’ after ‘How’ and make sure ‘works’ is the correct verb form.
Context: ...man), Italy. [Agent] Agent End. ``` ## How it works? You can see the detail in log informa...

(WRB_NN_VB_ORDER)


[uncategorized] ~100-~100: You might be missing the article “the” here.
Context: ...ow it works? You can see the detail in log information, let's explain it step by s...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~129-~129: You might be missing the article “the” here.
Context: ... ], "next_task_id": 1 } ``` Firstly, agent will run the first task, which is to id...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[style] ~129-~129: Consider using a different verb to strengthen your wording.
Context: ...stralian Open winner. The search result shows that Jannik Sinner is the winner of the...

(SHOW_INDICATE)


[style] ~129-~129: You can shorten this phrase to avoid wordiness.
Context: ... search result shows that Jannik Sinner is the winner of the 2024 Australian Open. The agent the...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~150-~150: Consider using a different verb to strengthen your wording.
Context: ...accurate information. The search result shows that Jannik Sinner was born in San Cand...

(SHOW_INDICATE)

docs.bak/use_cases/chat_usage.md

[style] ~4-~4: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...at()function. # Chatpne.chat()` is an awesome function, you can use **tools, formatte...

(AWESOME)


[style] ~8-~8: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...understand the use of pne, and when you need to use additional modules, you can learn m...

(REP_NEED_TO_VB)


[grammar] ~44-~44: The verb form ‘show’ does not appear to fit in this context.
Context: ...nAI API by proxy service. The following example show how to use [AIGCAPI proxy](https://aigc...

(SINGULAR_NOUN_VERB_AGREEMENT)


[uncategorized] ~74-~74: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...chat object. It will save the LLM object and you can use it to chat. AIChat is the s...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~106-~106: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... records the history of the conversation and you can use the continuous conversation...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~128-~128: Possible missing article found.
Context: ...n string by default. If you want to do more complex thing, metadata is important. Y...

(AI_HYDRA_LEO_MISSING_A)


[grammar] ~167-~167: The verb form ‘show’ does not appear to fit in this context.
Context: ...e way litellm does. ### Deepseek This example show how to use Deepseek LLMs in `pne.chat()...

(SINGULAR_NOUN_VERB_AGREEMENT)


[style] ~191-~191: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...can use the provider/model-name method. For example, deepseek's deepseek-chat model...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~197-~197: The verb form ‘show’ does not appear to fit in this context.
Context: .../) to see the detail. ### Zhipu This example show how to use Zhipu model in pne.chat()....

(SINGULAR_NOUN_VERB_AGREEMENT)


[grammar] ~219-~219: The verb form ‘show’ does not appear to fit in this context.
Context: ... ) print(response) ``` ### Ernie This example show how to use Baidu Ernie model in `pne.ch...

(SINGULAR_NOUN_VERB_AGREEMENT)


[uncategorized] ~428-~428: Possible missing preposition found.
Context: ...l recalibrate and re-plan accordingly. This example we need to solve the problem of...

(AI_HYDRA_LEO_MISSING_IN)


[uncategorized] ~429-~429: Possible missing comma found.
Context: ...alibrate and re-plan accordingly. This example we need to solve the problem of "what i...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~431-~431: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...langchain-tool-usage). Of course, it is really easy to create your own tools - see document...

(EN_WEAK_ADJECTIVE)


[grammar] ~469-~469: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...eb browser on your device.", "status": "todo"}, {"task_id": 2, "description": "Navig...

(TO_DO_HYPHEN)


[grammar] ~469-~469: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ... service or search engine.", "status": "todo"}, {"task_id": 3, "description": "Input...

(TO_DO_HYPHEN)


[grammar] ~469-~469: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...rrow' into the search bar.", "status": "todo"}, {"task_id": 4, "description": "Press...

(TO_DO_HYPHEN)


[grammar] ~469-~469: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ... to retrieve the forecast.", "status": "todo"}, {"task_id": 5, "description": "Read ...

(TO_DO_HYPHEN)


[grammar] ~469-~469: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...ice for Shanghai tomorrow.", "status": "todo"}], "next_task_id": 1} [Agent] Tool Age...

(TO_DO_HYPHEN)


[style] ~472-~472: The phrase ‘don’t have the ability to ‘ might be wordy. Consider using “can't”.
Context: ... my capabilities. As a text-based AI, I don't have the ability to perform actions such as opening applica...

(HAS_THE_ABILITY_TO)


[grammar] ~474-~474: It appears that a hyphen is missing in the noun “to-do” (= task) or did you mean the verb “to do”?
Context: ...w using current knowledge.", "status": "todo"}], "next_task_id": 6} [Agent] Tool Age...

(TO_DO_HYPHEN)


[typographical] ~479-~479: It appears that a comma is missing.
Context: ...', 'content': 'Shanghai Weather in March Are you planning a holiday with hopefully n...

(COMMA_BEFORE_QUESTION_WITH_MD)


[uncategorized] ~479-~479: When a number forms part of an adjectival compound, use a hyphen.
Context: ...we highly recommend that you review the 14 day weather forecast for Shanghai before yo...

(MISSING_HYPHEN)


[uncategorized] ~482-~482: When a number forms part of an adjectival compound, use a hyphen.
Context: ...we highly recommend that you review the 14 day weather forecast for Shanghai before yo...

(MISSING_HYPHEN)


[duplication] ~587-~587: Possible typo: you repeated a word
Context: ...' capital='Beijing' ``` ## Retrieve && RAG RAG(Retrieval-Augmented Generation) is a ...

(ENGLISH_WORD_REPEAT_RULE)


[misspelling] ~588-~588: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...AG(Retrieval-Augmented Generation)** is a important data retrieve method. You can...

(EN_A_VS_AN)


[style] ~590-~590: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...e data from your database. You can use lots of methods to retrieve data, pne plan to s...

(A_LOT_OF)

docs/get_started/quick_start.md

[style] ~322-~322: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...ly 3.99. Agent End. ``` To integrate a variety of external tools, including web search, c...

(A_VARIETY_OF)

docs.bak/get_started/quick_start.md

[uncategorized] ~29-~29: Possible missing preposition found.
Context: ...se pne.chat() to chat with the model. The following example we use gpt-4-turbo ...

(AI_HYDRA_LEO_MISSING_IN)


[uncategorized] ~29-~29: Possible missing comma found.
Context: ...to chat with the model. The following example we usegpt-4-turbo` to chat with the m...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~152-~152: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ai","role": "user"}], tools=tools) ``` In this example, pne internally integrates...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~320-~320: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it.
Context: ...ly 3.99. Agent End. ``` To integrate a variety of external tools, including web search, c...

(A_VARIETY_OF)

Markdownlint
docs.bak/modules/memory.md

14-14: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs/modules/memory.md

17-17: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs.bak/other/update.md

26-26: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


45-45: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


53-53: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)

docs.bak/modules/client.md

19-19: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


21-21: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


9-9: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


50-50: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/modules/client.md

9-9: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/modules/llm/custom_llm.md

45-45: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)


65-65: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)

docs.bak/modules/llm/llm-factory-usage.md

30-30: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)

docs.bak/modules/llm/zhipu.md

7-7: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


9-9: null
Bare URL used

(MD034, no-bare-urls)


11-11: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


29-29: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


47-47: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


51-51: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs.bak/modules/preset.md

87-87: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/modules/formatter.md

34-34: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


70-70: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs.bak/modules/schema.md

14-14: null
Bare URL used

(MD034, no-bare-urls)

docs.bak/modules/llm/erniebot.md

12-12: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


14-14: null
Bare URL used

(MD034, no-bare-urls)


16-16: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


35-35: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


86-86: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


90-90: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


94-94: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


133-133: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


135-135: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


55-55: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


112-112: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/modules/tools/custom_tool_usage.md

86-86: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)

docs.bak/modules/agent.md

139-139: null
Spaces inside emphasis markers

(MD037, no-space-in-emphasis)


31-31: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


107-107: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


143-143: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/modules/agent.md

103-103: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


138-138: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs/use_cases/gradio-chatbot.md

11-11: null
No empty links

(MD042, no-empty-links)

docs.bak/other/contribution.md

72-72: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


15-15: null
Link fragments should be valid

(MD051, link-fragments)


16-16: null
Link fragments should be valid

(MD051, link-fragments)

docs.bak/use_cases/gradio-chatbot.md

5-5: null
No empty links

(MD042, no-empty-links)

docs.bak/modules/llm/openai.md

7-7: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


11-11: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


29-29: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs/get_started/intro.md

128-128: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


42-42: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


43-43: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


44-44: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


45-45: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


46-46: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


47-47: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


48-48: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


49-49: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


50-50: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


51-51: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


52-52: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


53-53: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


54-54: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


55-55: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


56-56: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


57-57: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


58-58: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


59-59: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


60-60: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


61-61: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


62-62: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


63-63: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


64-64: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


65-65: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


66-66: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


67-67: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)

docs.bak/modules/hook.md

256-256: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


36-36: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

docs.bak/use_cases/build-math-application-with-agent.md

155-155: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)

docs.bak/use_cases/chat_usage.md

596-596: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


597-597: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


598-598: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


89-89: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


347-347: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs.bak/get_started/quick_start.md

242-242: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


400-400: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


240-240: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


252-252: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


295-295: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


93-93: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


94-94: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


95-95: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


96-96: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


97-97: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


98-98: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


99-99: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


100-100: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


101-101: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


102-102: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


103-103: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


104-104: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


105-105: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


106-106: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


107-107: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


108-108: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


109-109: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


110-110: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


111-111: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


112-112: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


113-113: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


114-114: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


115-115: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


116-116: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


117-117: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


118-118: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)

Additional comments not posted (90)
docs.bak/other/log_system.md (1)

1-8: Documentation is clear and concise.

The use of the preposition "in" at line 5 is appropriate for the context of describing a location within a directory path. The static analysis suggestion to change it to "on" is not applicable here.

Tools
LanguageTool

[uncategorized] ~5-~5: The preposition “on” seems more likely in this position than the preposition “in”.
Context: ...parate log file. You can find the logs in the following path: - windows: /Users/...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_IN_ON)

docs/.vitepress/theme/index.ts (1)

1-17: Well-implemented Vitepress theme customization.

The file correctly extends the default theme and uses TypeScript's satisfies keyword to ensure the exported object conforms to the Theme type. This is a good practice for maintaining type safety.

docs.bak/modules/memory.md (2)

1-7: Clear and informative introduction to the Memory module.

The introduction provides a good overview of the Memory module's purpose and its role within the promptulate framework.


8-12: Comprehensive list of Memory module features.

The features listed are relevant and essential for understanding the capabilities of the Memory module.

docs/modules/memory.md (3)

3-5: Useful addition of the info block.

The info block clearly sets the expectation that the documentation is still in progress, which is helpful for users.


7-8: Clear introduction of the Memory module.

The introduction effectively sets the context for the Memory module's purpose in the framework.


10-15: Well-structured list of capabilities.

The capabilities of the Memory module are clearly and effectively listed, enhancing understanding.

docs/use_cases/chat-to-github-repo.md (3)

1-1: Appropriate change in header level.

The change from a level 1 header to a level 2 header is appropriate for the document's structure.


Line range hint 5-34: Well-structured Quick Start section.

The instructions in the Quick Start section are clear and provide all the necessary steps to get the project running.


34-34: Inclusion of sample output is beneficial.

The image provides a clear example of what to expect from the chatbot, which is helpful for users.

docs.bak/use_cases/chat-to-github-repo.md (1)

1-2: Title and Introduction: Clear and Informative

The title and introduction effectively set the context for the document.

docs/modules/llm/zhipu.md (1)

3-5: Clear and concise warning about LLM deprecation.

The warning box effectively communicates the significant changes regarding the usage of "LLM" and the introduction of pne.chat(). Please ensure that the links in the warning box are correctly pointing to the intended sections for pne.chat() and Custom LLM.

Verification successful

Links in the warning box are correct and functional.

The links in the warning box correctly point to the intended sections for pne.chat() and Custom LLM. No further action is needed.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the links in the warning box.

# Test: Check if the links are pointing to the correct documents and sections.
rg --type markdown -A 5 $'pne.chat()'
rg --type markdown -A 5 $'Custom LLM'

Length of output: 100619

docs.bak/modules/llm/llm-factory-usage.md (3)

64-86: Clear explanation of LLMFactory vs pne.chat().

The section provides a clear and concise explanation of when to use LLMFactory directly versus pne.chat(). This guidance is valuable for developers making architectural decisions about their LLM integrations.


91-93: Good rationale for including LLMFactory details.

The explanation of why LLMFactory is included in the documentation is well-articulated, providing insight into the design and operation of the pne.chat model driver. This is useful for both developers and end-users.


3-22: Consider security best practices for API keys and verify example accuracy.

The documentation clearly explains the transition to LLMFactory. However, the example exposes an API key directly in the code, which is not a best practice for security. Consider using environment variables or secure vault solutions to handle API keys.

Additionally, verify that the example accurately reflects the latest API usage as per the pne library documentation.

Tools
LanguageTool

[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...m](https://github.com/BerriAI/litellm). It means you can call all LLM APIs using t...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~11-~11: The verb form ‘show’ does not appear to fit in this context.
Context: ...a look at how to use it. The following example show how to create an OpenAI model and chat....

(SINGULAR_NOUN_VERB_AGREEMENT)

docs.bak/other/how_to_write_model_name.md (4)

3-19: Clear introduction and effective example on model naming.

The introduction provides a clear explanation of how to specify model names, and the first example effectively demonstrates the usage of pne.chat() with a model name. This section is well-written and informative.


29-66: Diverse examples covering various scenarios.

The examples provided demonstrate the use of different model names in various scenarios, showcasing the flexibility of the pne library. The consistent use of model_config in the examples also highlights advanced usage possibilities. This section is informative and well-structured.


68-82: Clear explanation on using OpenAI Proxy.

The section provides a clear and practical example of how to use the OpenAI Proxy with a specific model configuration. This is a valuable addition for users needing to interface with OpenAI models through a proxy.


84-90: Good explanation for not always specifying provider names.

The section clearly explains why provider names are not always necessary when specifying model names, particularly for well-known models. This simplifies the usage for users and is a practical approach.

Tools
LanguageTool

[style] ~90-~90: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ies and model name standards, so if you want to use any model, you can go directly to t...

(REP_WANT_TO_VB)

docs.bak/modules/llm/zhipu.md (5)

29-39: Best practice for handling API keys demonstrated.

The example demonstrates a recommended method for handling API keys using a .env file, which is a best practice for security. This approach should be emphasized as the preferred method for managing sensitive information in development environments.

Tools
Markdownlint

29-29: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


41-65: Diverse examples covering various Zhipu models.

The examples provided demonstrate the use of different Zhipu models, showcasing the capabilities of the Zhipu series. The consistent use of model_config in the examples also highlights advanced usage possibilities. This section is informative and well-structured.

Tools
LanguageTool

[uncategorized] ~55-~55: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...告文案、小说写作、知识类写作、代码生成等。 本框架默认为性能更加强大的glm-4模型。 你可以使用如下方式切换模型: ```python from prompt...

(wa5)

Markdownlint

47-47: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


51-51: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


67-99: Clear explanation on parameter configuration and stopping words.

The section provides clear and practical examples of how to configure parameters and use stopping words with Zhipu models. This is a valuable addition for users needing to control the behavior of LLMs in complex applications.


107-136: Clear explanation on handling streaming output.

The section provides a clear and practical example of how to handle streaming output with Zhipu models. The use of stream and return_raw_response in the model configuration demonstrates advanced usage and flexibility in handling responses.


3-19: Consider security best practices for API keys and verify example accuracy.

The documentation clearly explains the transition to using pne.chat() and introduces the Zhipu series of models. However, the example exposes an API key directly in the code, which is not a best practice for security. Consider using environment variables or secure vault solutions to handle API keys.

Additionally, verify that the example accurately reflects the latest API usage as per the pne library documentation.

Tools
Markdownlint

7-7: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


9-9: null
Bare URL used

(MD034, no-bare-urls)


11-11: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs/use_cases/streamlit-groq-llama3.md (2)

8-10: Verify the import path for the IFrame component.

Ensure that the import path /components/iframe.vue correctly points to the Vue component. This path appears to be absolute, which might require specific configuration in the project.


12-12: Approve the IFrame tag usage but verify the URL functionality.

The usage of the <IFrame> tag to embed the Streamlit application is correctly implemented. However, ensure that the URL https://pne-groq-chatbot.streamlit.app/?embed=true is functional and supports embedding as intended.

docs.bak/use_cases/streamlit-groq-llama3.md (2)

8-18: Verify environment setup instructions.

Ensure that the environment setup instructions are accurate and complete. Consider adding a note about potential OS-specific variations or prerequisites.

Verification successful

Environment setup instructions are accurate and consistent.

The environment setup instructions in docs.bak/use_cases/streamlit-groq-llama3.md are consistent with other documentation files, indicating a standardized and accurate approach. No additional notes or changes are necessary.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the environment setup instructions by checking for similar setups in other documentation.

# Test: Search for similar environment setup instructions. Expect: Consistency across documents.
rg --type md -A 5 $'conda create'

Length of output: 2769


22-83: Verify correctness of code snippets.

Ensure that the code snippets in the implementation steps are syntactically correct and follow best practices. Consider adding comments within the code for clarity.

Verification successful

Code snippets are syntactically correct and follow best practices.

The Python code snippets in the documentation file are well-structured and do not contain any syntax errors. They follow typical patterns for a Streamlit application. No further action is needed.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the correctness of Python code snippets by checking for syntax errors.

# Test: Search for Python code snippets and check for syntax errors. Expect: No syntax errors.
rg --type py -A 5 $'import'

Length of output: 133445


Script:

#!/bin/bash
# Extract the Python code snippets from the specified lines in the documentation file and check for syntax errors.

# Step 1: Extract the Python code snippets from the specified lines in the documentation file.
sed -n '22,83p' docs.bak/use_cases/streamlit-groq-llama3.md > temp_code_snippet.py

# Step 2: Check for syntax errors in the extracted code.
python -m py_compile temp_code_snippet.py 2>&1

Length of output: 177


Script:

#!/bin/bash
# Display the contents of the extracted code snippets for manual inspection.
cat temp_code_snippet.py

Length of output: 1605

docs/modules/llm/erniebot.md (2)

3-5: Approve the warning box and suggest enhancements.

The warning box effectively communicates the significant change in functionality. Consider enhancing it with additional links to relevant sections or documentation for users needing more detailed guidance.


Line range hint 6-100: Verify the accuracy and clarity of the documentation content and code snippets.

Ensure that the documentation content is accurate, up-to-date, and clearly explains how to use the ErnieBot model. Verify that the code snippets are syntactically correct and demonstrate best practices.

Verification successful

Documentation for ErnieBot is accurate and clear. The documentation content in docs/modules/llm/erniebot.md is up-to-date and provides clear instructions and code snippets for using the ErnieBot model. The presence of a backup file does not affect the accuracy of the current documentation.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the accuracy of documentation content and code snippets by checking for updates or changes in the repository.

# Test: Search for updates or changes related to the ErnieBot model documentation. Expect: Up-to-date and accurate information.
rg --type md -A 5 $'ErnieBot'

Length of output: 1508

docs/.vitepress/config.mts (1)

1-104: Verify the configuration settings and suggest improvements.

Ensure that the configuration settings in the Vitepress site are correctly implemented and align with the site's requirements. Consider suggesting improvements to enhance site navigation or user experience.

docs.bak/modules/formatter.md (4)

1-28: Introduction and Usage Section: Well Explained and Correct

The introduction provides a clear overview of the OutputFormatter and its application. The Python code example is correctly implemented and effectively demonstrates the usage of OutputFormatter with ChatOpenAI.


38-63: Joke Example Section: Correct and Relevant

The Python code example for formatting a joke response using OutputFormatter is correctly implemented and demonstrates the flexibility of the formatter in a practical scenario.


80-112: Weather Example Section: Correct and Demonstrative

The Python code example for formatting weather data using OutputFormatter is correctly implemented. It effectively demonstrates how to use the formatter with examples to improve the accuracy of the output.


117-139: Agent Usage Section: Correct and Practical

The Python code example for using OutputFormatter in an agent context is correctly implemented. It demonstrates the ease of integrating the formatter in different operational contexts.

docs/.vitepress/theme/style.css (1)

46-133: Well-structured CSS for theming.

The CSS file is well-organized with clear definitions for light and dark themes using CSS variables. The use of media queries for responsive design is also noted and appreciated.

docs/use_cases/streamlit-chatbot.md (1)

1-3: Effective use of Vue components and clear documentation.

The introduction of Vue components for iframes and the updates to the documentation enhance both the functionality and clarity of the guide. These changes are well-executed and improve the overall quality of the documentation.

Also applies to: 11-13, 20-102

docs/modules/tools/custom_tool_usage.md (1)

Line range hint 1-103: Comprehensive and clear documentation on custom tools.

The documentation provides a detailed and structured guide on creating custom tools across different frameworks. The examples are well-integrated and enhance understanding, making this a valuable resource for developers.

Tools
LanguageTool

[uncategorized] ~2-~2: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: # Custom Tool

Tool is a very important part of Agent. Agen...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[uncategorized] ~3-~3: This verb does not appear to agree with the subject. Consider using a different form.
Context: # Custom Tool

Tool is a very important part of Agent. Agent c...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: # Custom Tool

Tool is a very important part of Agent. Agent can use tool to do...

(EN_WEAK_ADJECTIVE)


[style] ~25-~25: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ake a tool functional with LLM. This is an awesome attempt we made, and we hope you will e...

(AWESOME)


[grammar] ~29-~29: The verb form ‘show’ does not appear to fit in this context.
Context: ...hod to declare your tool. The following example show how to custom a web_search tool by func...

(SINGULAR_NOUN_VERB_AGREEMENT)


[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ...in ToolAgent. Here we use duckduckgo as search engine.

import promptulat...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

</blockquote></details>

</details>

</blockquote></details>
<details>
<summary>Makefile (1)</summary><blockquote>

`73-73`: **Approve the change but verify the setup.**

The modification to the `start-docs` target changes the documentation serving mechanism to use npm scripts, which is a structured approach. Ensure that the `docs` directory contains a valid `package.json` with the `docs:dev` script configured and that all dependencies are installed.


Run the following script to verify the setup:

<details>
<summary>Verification successful</summary>



---

<!-- [monologue]
[task review_file_1/3 review_target_1/1]
The script output indicates that the `docs` directory contains a `package.json` file and that it includes the `docs:dev` script. This confirms that the setup for running `npm run docs:dev` is correct and should work as intended.
[observations]
- The `package.json` file exists in the `docs` directory.
- The `docs:dev` script is present in the `package.json`.
[analysis]
- Since the setup is confirmed to be correct, the change in the Makefile to use `npm run docs:dev` is valid.
- There are no further issues to address regarding this change.
[actions]
- Conclude the verification process by confirming that the setup is correct and the change is appropriate.
-->

**Setup is correct for the `start-docs` target.**

The `docs` directory contains a valid `package.json` with the `docs:dev` script configured. The modification in the Makefile to use `npm run docs:dev` is appropriate and should function as expected. No further action is needed. 

</details>


<details>
<summary>Scripts executed</summary>

The following scripts were executed for the analysis:

Script:

```shell
#!/bin/bash
# Description: Verify the npm setup in the docs directory.

# Test: Check if package.json exists and contains the docs:dev script.
if [ -f docs/package.json ]; then
 if grep -q "docs:dev" docs/package.json; then
   echo "Setup is correct."
 else
   echo "docs:dev script is missing in package.json."
 fi
else
 echo "package.json does not exist in the docs directory."
fi

Length of output: 112

docs.bak/modules/tools/custom_tool_usage.md (1)

7-22: Well-documented integration steps.

The steps for integrating tools with different frameworks are clearly outlined and provide valuable guidance for developers.

Tools
LanguageTool

[style] ~22-~22: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ake a tool functional with LLM. This is an awesome attempt we made, and we hope you will e...

(AWESOME)

docs.bak/modules/agent.md (1)

5-27: Well-documented ToolAgent usage.

The example demonstrating the use of ToolAgent with specific tools is clear and provides practical usage scenarios for developers.

docs.bak/use_cases/streamlit-chatbot.md (2)

25-96: Code snippets are correct and clear.

The provided code snippets correctly demonstrate the usage of pne and streamlit for building a chatbot. Good job on maintaining clarity and correctness in these examples.

Tools
LanguageTool

[uncategorized] ~32-~32: Possible missing preposition found.
Context: ...n use it to quickly configure the model use the following code: > pne.beta.st.mode...

(AI_HYDRA_LEO_MISSING_TO)


[uncategorized] ~43-~43: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...config) ``` model_sidebar provide some models default options, you can also pass a li...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)


145-184: Final Effect and Running the Demo sections are well-documented.

The sections provide clear visual examples and straightforward instructions for running the demo, enhancing user engagement and understanding.

docs/modules/agent.md (1)

3-3: Introduction to Agent is clear and well-written.

The introduction effectively outlines the core idea of the Agent component, aligning well with the PR objectives to enhance clarity.

docs/use_cases/gradio-chatbot.md (1)

Line range hint 135-150: Running the Application section is well-documented.

The section provides clear instructions for running the Gradio application, enhancing user engagement and understanding.

Tools
Markdownlint

11-11: null
No empty links

(MD042, no-empty-links)

docs.bak/other/contribution.md (3)

1-30: Well-structured introduction and guidelines.

The introduction sets a positive tone, and the guidelines provide clear instructions for contributors. This section is well-organized and informative.

Tools
LanguageTool

[style] ~21-~21: ‘Make an improvement’ might be wordy. Consider a shorter alternative.
Context: ...when possible. These live in tests. - Make an improvement - Update any affected example noteboo...

(EN_WORDINESS_PREMIUM_MAKE_AN_IMPROVEMENT)

Markdownlint

15-15: null
Link fragments should be valid

(MD051, link-fragments)


16-16: null
Link fragments should be valid

(MD051, link-fragments)


31-45: Clear and organized GitHub Issues guidelines.

The section effectively guides contributors on how to use GitHub issues for tracking and organizing project tasks. The encouragement to use labels and link related issues is beneficial for maintaining project clarity.

Tools
LanguageTool

[style] ~39-~39: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ingle, modular bug/improvement/feature. If two issues are related, or blocking, pl...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


46-55: Supportive and accessible help resources.

This section effectively communicates the availability of help for contributors, emphasizing a supportive environment. It's important for maintaining an inclusive and contributor-friendly project atmosphere.

docs.bak/modules/framework.md (3)

1-4: Clear Deprecation Notice

The deprecation notice at the beginning of the document is clear and prominently displayed. This is crucial for ensuring that users are aware of the upcoming changes and can plan accordingly.


23-30: Review Python Code Example

The Python code example demonstrates the basic usage of the Conversation component effectively. Ensure that this example is tested and adheres to Python best practices, especially in terms of error handling and code documentation.


162-182: Verify Historical Data Retrieval Example

The example provided for retrieving historical data using MessageSet is detailed and informative. Ensure that this example is accurate and test it to confirm that it functions as expected in various scenarios.

docs/use_cases/llmapper.md (2)

13-15: Confirm Vue Component Import Path

Ensure that the import path for the IFrame Vue component is correct and that the component is properly integrated into the project. This is crucial for the functionality of the component within the use case.


17-17: Review HTML Updates for Accessibility

The updates to the <IFrame> and <img> tags are important for accessibility and integration. Confirm that these updates are correctly implemented and effectively improve accessibility and SEO.

Also applies to: 21-21

docs.bak/modules/llm/openai.md (2)

1-6: Clear Introduction and Deprecation Notice

The introduction to the use of OpenAI models is clear, and the deprecation notice is prominently displayed. This helps users understand the upcoming changes and plan accordingly.


13-52: Review Python Code Examples for OpenAI Model Usage

The Python code examples provided demonstrate how to use OpenAI models effectively. Ensure that these examples are tested and adhere to Python best practices, especially in terms of error handling and code documentation.

Tools
Markdownlint

29-29: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs.bak/use_cases/llmapper.md (2)

9-13: Verify iframe security and functionality.

The inclusion of an iframe for the online demo is a great way to engage users directly from the documentation. However, ensure that the iframe does not pose any security risks, such as clickjacking. Additionally, verify that the iframe source URL is correct and that the page it loads is fully functional and responsive.


263-291: Ensure completeness and accuracy of the Quick Start guide.

The Quick Start section is crucial for new users to get up and running with LLMapper. Verify that all commands are correct and include all necessary steps. Consider adding a troubleshooting subsection to address common issues that new users might encounter during the setup process.

docs/get_started/intro.md (2)

34-67: Verify the accuracy and format of the Supported Base Models table.

The table listing the supported base models is a valuable resource for users. Ensure that all information is accurate and up-to-date. Additionally, verify that the table format is consistent and readable, and that all links are functional and lead to the correct documentation.

Tools
Markdownlint

42-42: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


43-43: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


44-44: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


45-45: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


46-46: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


47-47: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


48-48: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


49-49: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


50-50: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


51-51: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


52-52: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


53-53: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


54-54: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


55-55: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


56-56: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


57-57: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


58-58: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


59-59: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


60-60: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


61-61: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


62-62: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


63-63: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


64-64: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


65-65: Expected: 7; Actual: 5; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


66-66: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


67-67: Expected: 7; Actual: 6; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


85-107: Verify links and update outdated information in the Related Documentation section.

The Related Documentation section provides links to various resources for further exploration of Promptulate. Ensure that all links are correct and lead to the intended pages. Additionally, review the content for any outdated information or redundancy and update as necessary to maintain the relevance and usefulness of the documentation.

Tools
LanguageTool

[misspelling] ~98-~98: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...ts) - [Groq, llama3, Streamlit to build a application](use_cases/streamlit-groq-l...

(EN_A_VS_AN)

docs.bak/modules/hook.md (1)

150-256: Ensure completeness and accuracy of the Custom Hook guide.

The Custom Hook section is crucial for users who want to extend the functionality of the Promptulate framework with their own custom hooks. Verify that all code snippets are correct and include all necessary steps. Consider adding a troubleshooting subsection to address common issues that users might encounter during the custom hook creation process.

Tools
Markdownlint

256-256: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

docs.bak/use_cases/build-math-application-with-agent.md (2)

9-24: Well-structured environment setup section.

The instructions for setting up the environment are clear and well-detailed, including the creation of a conda environment and the installation of necessary libraries. The code block for setting the environment variable is correctly formatted and serves as a good example.


24-40: Verify the integration of the flowchart.

The description of the application flow is detailed and informative. However, the actual flowchart referenced in line 26 is not visible in this review. Please ensure that the flowchart is correctly integrated and accessible in the final document.

docs.bak/modules/agents/assistant_agent_usage.md (4)

1-7: Introduction Approved

The introduction to the Assistant Agent is clear and well-documented, providing useful links for further context.

Tools
LanguageTool

[misspelling] ~5-~5: This word is normally spelled as one.
Context: ...he core idea is to first come up with a multi-step plan, and then go through that plan one...

(EN_COMPOUNDS_MULTI_STEP)


14-19: Advantages Section Approved

The advantages of the "plan-and-execute" style are clearly outlined and provide a good contrast to the ReAct style agent.

Tools
LanguageTool

[uncategorized] ~14-~14: Possible missing comma found.
Context: ...https://arxiv.org/abs/2210.03629) style agent where you think one step at a time. The...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...-execute" style agent are: 1. Explicit long term planning (which even really strong LLMs...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~17-~17: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...Explicit long term planning (which even really strong LLMs can struggle with) 2. Ability to u...

(EN_WEAK_ADJECTIVE)


20-71: Example Usage Approved

The detailed example demonstrates the practical application of the Assistant Agent effectively, with clear steps and expected outputs.

Tools
LanguageTool

[uncategorized] ~20-~20: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...he planning step The following example show how to use Assistant Agent to solve a s...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~22-~22: A determiner appears to be missing. Consider inserting it.
Context: ...n of the 2024 Australia open winner? > Current Assistant Agent is in beta version, and...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~22-~22: You might be missing the article “an” here.
Context: ...l under development. So you need to get Assistant Agent from beta. Firstly, we need to i...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~24-~24: You might be missing the article “the” here.
Context: ...from beta. Firstly, we need to install necessary packages. ```bash pip install langchain...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~39-~39: Possible missing preposition found.
Context: ...penAI ``` ## Define the tools and LLMs This example we use [Tavily](https://app.tav...

(AI_HYDRA_LEO_MISSING_IN)


[uncategorized] ~40-~40: The preposition “on” seems more likely in this position.
Context: ... engine that can search for information from the web. To use Tavily, you need to get...

(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)


[style] ~40-~40: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...mation from the web. To use Tavily, you need to get an API key from Tavily. ```python...

(REP_NEED_TO_VB)


[style] ~48-~48: As an alternative to the over-used intensifier ‘really’, consider replacing this phrase.
Context: ...our_openai_api_key" ``` However, it is really easy to create your own tools - see document...

(EN_WEAK_ADJECTIVE)


98-152: "How it Works?" Section Approved

The detailed breakdown of the Assistant Agent's process provides a clear understanding of its internal mechanics and decision-making process.

Tools
LanguageTool

[grammar] ~98-~98: This question is not grammatically correct. Insert the correct form of ‘do’ after ‘How’ and make sure ‘works’ is the correct verb form.
Context: ...man), Italy. [Agent] Agent End. ``` ## How it works? You can see the detail in log informa...

(WRB_NN_VB_ORDER)


[uncategorized] ~100-~100: You might be missing the article “the” here.
Context: ...ow it works? You can see the detail in log information, let's explain it step by s...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~129-~129: You might be missing the article “the” here.
Context: ... ], "next_task_id": 1 } ``` Firstly, agent will run the first task, which is to id...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[style] ~129-~129: Consider using a different verb to strengthen your wording.
Context: ...stralian Open winner. The search result shows that Jannik Sinner is the winner of the...

(SHOW_INDICATE)


[style] ~129-~129: You can shorten this phrase to avoid wordiness.
Context: ... search result shows that Jannik Sinner is the winner of the 2024 Australian Open. The agent the...

(BE_THE_MAKER_OF_WORDINESS)


[style] ~150-~150: Consider using a different verb to strengthen your wording.
Context: ...accurate information. The search result shows that Jannik Sinner was born in San Cand...

(SHOW_INDICATE)

docs/get_started/quick_start.md (4)

42-44: Output formatting improvement.

Using a code block to display the output "Beijing" is a good improvement for clarity.


Line range hint 62-82: Structured output example with Pydantic.

This example is well-constructed, demonstrating how to use Pydantic for structured outputs from LLM queries. The use of type annotations and the Pydantic model enhances the clarity and utility of the example.


Line range hint 141-160: Integration of external tools in examples.

The example showcasing the integration of external tools like ddg-search and arxiv is practical and informative. It effectively demonstrates how promptulate can be extended with tool agents.

Tools
LanguageTool

[style] ~155-~155: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ai","role": "user"}], tools=tools) ``` In this example, pne internally integrates...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


Line range hint 189-226: Complex agent interaction example.

This detailed example of an agent interaction to determine the hometown of the 2024 Australian Open winner is a great demonstration of the capabilities of promptulate. It effectively uses planning and tool agents to solve a complex query.

docs.bak/other/faq.md (2)

3-5: Clear and helpful guidance on network issues.

The section provides useful links and solutions for users experiencing network issues with OpenAI services.


32-34: Useful guidance on monitoring intermediate processes.

The section effectively introduces a Hook system for users to monitor intermediate processes, which can be crucial for debugging and understanding complex tool interactions.

docs.bak/modules/llm/llm.md (3)

3-6: Verify documentation links and emphasize terminology distinction.

Please ensure that all links are correctly formatted and accessible. Additionally, consider using bold or italics to emphasize the distinction between "LLM" and "llm" to avoid confusion.


8-10: Verify external link and consider simplifying text.

Ensure that the link to litellm is accessible. Additionally, consider simplifying the text to enhance clarity and readability.


18-22: Verify documentation links and correct grammatical issue.

Ensure that all documentation links are correctly formatted and accessible. Additionally, address the grammatical issue flagged by LanguageTool by adding the article "a" before "model name":

-[How to write model name?](other/how_to_write_model_name.md#how-to-write-model-name)
+[How to write a model name?](other/how_to_write_model_name.md#how-to-write-model-name)
Tools
LanguageTool

[uncategorized] ~21-~21: You might be missing the article “a” here.
Context: ...ctory-usage#LLMFactory) - [How to write model name?](other/how_to_write_model_name.md...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

docs.bak/modules/schema.md (2)

18-22: LGTM!

The explanation of the MessageSet class is clear and detailed.


3-3: Consider strengthening the language and verify the link.

Replace "very important" with a stronger adjective to emphasize the importance of the Schema concept more effectively. Additionally, ensure that the link to the detailed code is correctly formatted and accessible.

-It is a very important concept in `Promptulate`.
+It is a crucial concept in `Promptulate`.
Tools
LanguageTool

[style] ~3-~3: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...define the structure of the data. It is a very important concept in Promptulate. The schema is...

(EN_WEAK_ADJECTIVE)

docs.bak/modules/llm/erniebot.md (1)

1-5: Verify documentation links and emphasize the transition from llm to pne.chat().

Ensure that all links are correctly formatted and accessible. Additionally, consider emphasizing the transition from llm to pne.chat() to avoid confusion among users.

docs.bak/use_cases/gradio-chatbot.md (3)

7-7: Good use of iframe for demo.

The inclusion of the iframe provides a live demonstration of the chatbot, which is a great way to engage users and provide real-time examples.


17-125: Well-structured and clear code snippets.

The code snippets provided are well-commented and structured, making it easy for users to follow and implement the chatbot setup.


1-222: Comprehensive and clear documentation.

The documentation thoroughly covers all aspects of setting up and using the chatbot, from prerequisites to execution, which is excellent for user guidance.

Tools
Markdownlint

5-5: null
No empty links

(MD042, no-empty-links)

docs/modules/llm/openai.md (2)

3-5: Effective use of a danger alert box.

The addition of the danger alert box effectively highlights the critical changes in the API usage, ensuring that users are well-informed.


Line range hint 1-256: Consistent and clear documentation update.

The documentation is updated consistently with the API changes and provides clear, detailed guidance on using the new pne.chat() method.

docs.bak/modules/tools/index.md (1)

1-276: High-quality and comprehensive documentation.

The documentation provides a thorough overview of the tools available in the promptulate framework and their integration, which is excellent for developer guidance.

Tools
LanguageTool

[uncategorized] ~75-~75: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...一些简单的能力处理功能。如果你有需要,你可以直接使用这些带有LLM的Tool,下一章节会演示如何使用Tool。 下面是一些有LLM能力的Tools: - Ar...

(wa5)

docs/modules/tools/index.md (5)

3-3: Clear and informative introduction.

The introductory section effectively sets the stage for understanding the tools module's capabilities and its integration with the Agent.

Tools
LanguageTool

[uncategorized] ~3-~3: Possible missing article found.
Context: ...LLM application development. Currently, Tool only serves Agent for pairing use. This...

(AI_HYDRA_LEO_MISSING_THE)


9-20: Well-structured list of supported tools.

The tools are listed with concise descriptions, making it easy for developers to understand their functionalities.


24-24: Effective use of documentation linking.

The section briefly mentions the integration with the Agent and appropriately links to detailed documentation using relative paths, enhancing navigability.


Line range hint 32-41: Clear and concise code example.

The example effectively demonstrates how to use the DuckDuckGoTool for external searches, providing practical insight into the tool's usage.

Tools
LanguageTool

[uncategorized] ~3-~3: Possible missing article found.
Context: ...LLM application development. Currently, Tool only serves Agent for pairing use. This...

(AI_HYDRA_LEO_MISSING_THE)


72-80: Detailed and informative section on tools with LLM capabilities.

This section provides comprehensive descriptions of tools that enhance LLM functionalities, offering valuable insights into their applications.

Tools
LanguageTool

[style] ~72-~72: The phrase ‘have the ability to’ might be wordy. Consider using “can”.
Context: ..., some tools provided to the Agent also have the ability to call large language models, which gener...

(HAS_THE_ABILITY_TO)

example/chat-to-github-repo/repo_service.py (1)

39-39: Change in output format from HTML to Markdown.

The modification from </output> to Markdown code block delimiter ``` is a significant change in the output format. This change should enhance readability and compatibility with Markdown parsers. However, it's crucial to verify that all downstream processes that consume this output are updated to handle Markdown format instead of HTML.

Verification successful

Change in output format from HTML to Markdown is localized.

The convert_ipynb_to_text function is only used within the repo_service.py file. This means the change in output format to Markdown does not affect external modules. Ensure that any logic within repo_service.py that consumes this function's output is compatible with Markdown.

  • File: example/chat-to-github-repo/repo_service.py
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if downstream processes handle Markdown format.

# Test: Search for usage of `convert_ipynb_to_text` function. Expect: Handling of Markdown format.
rg --type python -A 5 $'convert_ipynb_to_text'

Length of output: 76


Script:

#!/bin/bash
# Description: Verify if downstream processes handle Markdown format.

# Test: Search for usage of `convert_ipynb_to_text` function. Expect: Handling of Markdown format.
rg --type py -A 5 $'convert_ipynb_to_text'

Length of output: 1005

Comment on lines 1 to +9
# FAQ

## SSLError 等网络问题
## Network issues such as SSLError

OpenAI 的访问需要科学上网,遇到网络问题可以通过[配置 proxy](modules/llm/openai.md#proxy)的方式解决,如没有解决你的问题,可以查看[相关 issue](https://github.com/Undertone0809/promptulate/issues/5)

## OpenAI key遇到限速问题怎么办?

`promptulate`为OpenAI进行特别优化,构建了Key池,如果你使用的是`GPT3.5`
5美元的账号,一定会遇到限速的问题,这个时候,如果你有一堆Key,就可以很好的解决这个问题。`promptulate`的LRU
KEY轮询机制巧妙的解决了限速的问题,你可以使用LLM随意地进行提问(前提是你有够多的key)。此外,如果你既有`GPT4`和`GPT3.5`
的KEY,KEY池也可以不同模型的KEY调度,你可以按照下面的方式将key导入到你的key池中。

```python
from promptulate.llms import ChatOpenAI
from promptulate.utils import export_openai_key_pool

keys = [
{"model": "gpt-3.5-turbo", "key": "xxxxx"},
{"model": "gpt-3.5-turbo", "key": "xxxxx"},
{"model": "gpt-3.5-turbo", "key": "xxxxx"},
{"model": "gpt-4", "key": "xxxxx"},
]

export_openai_key_pool(keys)

llm = ChatOpenAI()
for i in range(10):
llm("你好")
```

## 使用Agent、tool等复杂工具的时候无法看到中间过程?

你可以使用[Hook系统](modules/hook.md#what-is-hook)构建一个定制化的中间过程监测系统。
Accessing OpenAI requires a VPN. If you encounter network problems, you can solve them by [configuring a proxy](modules/llm/openai.md#proxy). If this doesn't resolve your issue, you can check the [related issue](https://github.com/Undertone0809/promptulate/issues/5).

## Unable to see intermediate processes when using complex tools like Agent or tool?

You can use the [Hook system](modules/hook.md#what-is-hook) to build a customized intermediate process monitoring system.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FAQ documentation improvements are clear and accessible.

The updates enhance clarity and make the FAQ more accessible to English-speaking users. However, consider adding a note or reference for users seeking more detailed information on topics like API key management, which was removed.

Would you like me to draft a note or help find resources to include for the removed topics?

Comment on lines 14 to 17
**当前 Memory 支持的存储方式**
- buffer临时缓存
- file文件存储
- 关系型数据库存储 (计划中)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well-detailed storage options.

The document clearly lists both current and planned storage methods, providing valuable information for users. However, consider converting the emphasized text to a proper heading for better readability and to address the markdown lint issue (MD036).

Tools
Markdownlint

14-14: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Comment on lines 19 to 21
## 在Framework中使用memory

参考文档[framework-Conversation](modules/framework?id=%e7%bb%a7%e7%bb%ad%e4%b8%8a%e4%b8%80%e6%ac%a1%e8%bf%90%e8%a1%8c%e7%9a%84%e5%af%b9%e8%af%9d)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expand the usage section with more detailed examples.

While the reference link is helpful, consider adding more detailed examples or explanations on how to integrate and use the Memory module within the framework.

Comment on lines 19 to 21
**Current storage methods supported by Memory**

参考文档[framework-Conversation](modules/framework?id=%e7%bb%a7%e7%bb%ad%e4%b8%8a%e4%b8%80%e6%ac%a1%e8%bf%90%e8%a1%8c%e7%9a%84%e5%af%b9%e8%af%9d) No newline at end of file
- buffer temporary cache
- file storage
- Relational database storage (planned)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change emphasis to a heading for better document structure.

The section "Current storage methods supported by Memory" should use a heading instead of bold text to improve navigation and consistency in the document.

Consider changing the format to:

### Current storage methods supported by Memory
Tools
Markdownlint

17-17: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

## Using memory in the Framework

Refer to the document [framework-Conversation](modules/framework?id=%e7%bb%a7%e7%bb%ad%e4%b8%8a%e4%b8%80%e6%ac%a1%e8%bf%90%e8%a1%8c%e7%9a%84%e5%af%b9%e8%af%9d)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Decode the URL for clarity and correctness.

The URL in the document link is encoded and may not be clear or correct. Consider decoding it for better usability.

Suggest changing the URL to a more readable format:

Refer to the document [framework-Conversation](modules/framework?id=continue-previous-conversation)


This document guides you through building a simple chatbot using the `pne` library for OpenAI API interactions and `gradio` for the user interface. This chatbot will prompt the user for their OpenAI API key and model selection, allowing flexible and interactive conversations.

You can see the demo [https://huggingface.co/spaces/Zeeland2hf/pne-gradio](https://huggingface.co/spaces/Zeeland2hf/pne-gradio) and see the [source code]()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the empty link.

The source code link is empty and needs to be updated to point to the correct repository or removed if irrelevant.

Tools
Markdownlint

5-5: null
No empty links

(MD042, no-empty-links)


## 有LLM能力的Tool

在`promptulate`中,为了构建更加智能的Agent,一些提供给Agent的Tool也是有大语言模型调用权限的,它们一般有一些简单的能力处理功能。如果你有需要,你可以直接使用这些带有LLM的Tool,下一章节会演示如何使用Tool。
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammatical correction needed.

Consider adding a quantifier between the numeral and the noun to improve readability and adhere to grammatical norms.

Tools
LanguageTool

[uncategorized] ~75-~75: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...一些简单的能力处理功能。如果你有需要,你可以直接使用这些带有LLM的Tool,下一章节会演示如何使用Tool。 下面是一些有LLM能力的Tools: - Ar...

(wa5)

## chat with Plan-Execute-Reflect Agent

Additionally, you can enhance the capabilities of the ToolAgent by setting enable_plan=True, which activates its ability to handle more complex issues. In the pne framework, this action triggers the AssistantAgent, which can be thought of as a planning-capable ToolAgent. Upon receiving user instructions, the AssistantAgent proactively constructs a feasible plan, executes it, and then reflects on each action post-execution. If the outcome doesn't meet the expected results, the AssistantAgent will recalibrate and re-plan accordingly.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a preposition for grammatical correctness.

The sentence is missing a preposition which is needed for clarity.

-This example we need to solve the problem of "what is the hometown of the 2024 Australia open winner?"
+In this example, we need to solve the problem of "what is the hometown of the 2024 Australia open winner?"
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
In this example, we need to solve the problem of "what is the hometown of the 2024 Australia open winner?"
Tools
LanguageTool

[uncategorized] ~428-~428: Possible missing preposition found.
Context: ...l recalibrate and re-plan accordingly. This example we need to solve the problem of...

(AI_HYDRA_LEO_MISSING_IN)

## Return type
`pne.chat()` return string by default.

If you want to do more complex thing, metadata is important. You can use `return_raw_response=True` to get the raw response wrapped by `pne.AssistantMessage`. Metadata will store in `pne.AssistantMessage.additional_kwargs`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add an article for grammatical correctness.

The phrase "more complex thing" is missing an article before "thing".

-If you want to do more complex thing, metadata is important.
+If you want to do more complex things, metadata is important.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
If you want to do more complex thing, metadata is important. You can use `return_raw_response=True` to get the raw response wrapped by `pne.AssistantMessage`. Metadata will store in `pne.AssistantMessage.additional_kwargs`.
If you want to do more complex things, metadata is important. You can use `return_raw_response=True` to get the raw response wrapped by `pne.AssistantMessage`. Metadata will store in `pne.AssistantMessage.additional_kwargs`.
Tools
LanguageTool

[uncategorized] ~128-~128: Possible missing article found.
Context: ...n string by default. If you want to do more complex thing, metadata is important. Y...

(AI_HYDRA_LEO_MISSING_A)

```

## OpenAI Proxy
You can use `pne.chat()` to chat with OpenAI API by proxy service. The following example show how to use [AIGCAPI proxy](https://aigcapi.io/) to call OpenAI gpt-4-turbo.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar correction needed for verb agreement.

The verb "show" should be in its plural form "shows" to agree with the subject "example".

-The following example show how to use [AIGCAPI proxy](https://aigcapi.io/) to call OpenAI gpt-4-turbo.
+The following example shows how to use [AIGCAPI proxy](https://aigcapi.io/) to call OpenAI gpt-4-turbo.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You can use `pne.chat()` to chat with OpenAI API by proxy service. The following example show how to use [AIGCAPI proxy](https://aigcapi.io/) to call OpenAI gpt-4-turbo.
You can use `pne.chat()` to chat with OpenAI API by proxy service. The following example shows how to use [AIGCAPI proxy](https://aigcapi.io/) to call OpenAI gpt-4-turbo.
Tools
LanguageTool

[grammar] ~44-~44: The verb form ‘show’ does not appear to fit in this context.
Context: ...nAI API by proxy service. The following example show how to use [AIGCAPI proxy](https://aigc...

(SINGULAR_NOUN_VERB_AGREEMENT)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (1)
docs/use_cases/gradio-chatbot.md (1)

Line range hint 1-229: Detailed Review of Documentation Updates

The updates to the documentation are substantial and improve its interactivity and clarity. Here are specific observations:

  1. Vue.js Integration: The introduction of <script setup> and the import of IFrame from Vue components are modern approaches that enhance the document's functionality and user interaction. This aligns well with current web development practices.

  2. Content Structure and Clarity:

    • The document is well-structured, starting with an introduction, followed by detailed usage instructions, and ending with a complete code example.
    • The use of the <IFrame> component instead of a traditional HTML <iframe> is a good practice for Vue.js applications, promoting reusability and maintainability.
  3. Call to Action and Engagement:

    • The document provides clear calls to action, such as trying the live demo and viewing the source code. However, the link to the source code is missing, which should be addressed to avoid confusion.
  4. Code Examples:

    • The provided code examples are clear and well-explained, which will help users understand how to implement the chatbot using pne and Gradio.

Overall, the documentation is well-crafted and aligns with the objectives of modernizing and enhancing user engagement. It would be beneficial to add the missing link to the source code to complete the documentation.

Would you like me to help add the missing link to the source code or open a GitHub issue to track this task?

Tools
Markdownlint

11-11: null
No empty links

(MD042, no-empty-links)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 27f1680 and 835feb0.

Files selected for processing (3)
  • .github/workflows/deploy-docs.yml (1 hunks)
  • Makefile (2 hunks)
  • docs/use_cases/gradio-chatbot.md (2 hunks)
Files skipped from review as they are similar to previous changes (1)
  • Makefile
Additional context used
Markdownlint
docs/use_cases/gradio-chatbot.md

11-11: null
No empty links

(MD042, no-empty-links)

Additional comments not posted (1)
.github/workflows/deploy-docs.yml (1)

1-51: Comprehensive Review of New GitHub Actions Workflow

This workflow is well-structured and follows best practices for deploying a VitePress site to GitHub Pages. Here are some specific observations:

  1. Trigger and Permissions: The workflow is correctly triggered on pushes to the main branch. Permissions are appropriately scoped, which is good for security.

  2. Concurrency: The use of concurrency with cancel-in-progress: false ensures that deployments are handled in the order they are triggered without cancelling ongoing runs.

  3. Jobs and Steps:

    • Build Job: The steps to set up the environment, install dependencies, and build the site are clear and use the latest actions versions, which is recommended for security and functionality.
    • Deploy Job: The deployment step is dependent on the build job, which is a good practice to ensure that deployments only occur after a successful build.

Overall, the workflow is set up to efficiently handle the deployment of the VitePress site with good practices in security and performance.

@Undertone0809 Undertone0809 merged commit c5533fd into main Sep 8, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant