-
Notifications
You must be signed in to change notification settings - Fork 60k
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: 支持百度千帆SDK #5095
feat: 支持百度千帆SDK #5095
Conversation
Someone is attempting to deploy a commit to the NextChat Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughThe recent changes enhance the application by integrating the Baidu Qianfan service. New environment variables for access keys were added, and the chat functionality now utilizes the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant App
participant QianfanAPI
User->>App: Sends chat request
App->>QianfanAPI: Uses ChatCompletion SDK to send request
QianfanAPI-->>App: Returns chat response
App-->>User: Displays response
Poem
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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 as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
.env.template (1)
71-73
: LGTM! Consider adding comments for the new environment variables.The new environment variables
QIANFAN_AK
andQIANFAN_SK
are correctly added. To improve clarity, consider adding comments explaining their purpose.+ # Baidu Qianfan Access Key (required) QIANFAN_AK= + # Baidu Qianfan Secret Key (required) QIANFAN_SK=
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
Files selected for processing (3)
- .env.template (1 hunks)
- app/client/platforms/baidu.ts (2 hunks)
- package.json (1 hunks)
Additional comments not posted (3)
package.json (1)
47-48
: LGTM!The new dependency
@baiducloud/qianfan
has been correctly added to thedependencies
section.app/client/platforms/baidu.ts (2)
10-10
: Import statement forChatCompletion
looks good.The import statement for
ChatCompletion
from@baiducloud/qianfan
has been correctly added.
251-268
: LGTM! Ensure the new SDK implementation handles all edge cases.The new implementation using the
ChatCompletion
class from the@baiducloud/qianfan
SDK looks good. Ensure that it correctly handles all edge cases and errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
Files selected for processing (1)
- package.json (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- package.json
Your build has completed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (1)
app/client/platforms/baidu.ts (1)
145-148
: Improve error handling with more context.Consider providing more context in the error message to aid in debugging.
- console.log("[Request] failed to make a chat request", e); + console.log("[Request] failed to make a chat request to Baidu API with payload:", requestPayload, "Error:", e);
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
Files selected for processing (1)
- app/client/platforms/baidu.ts (2 hunks)
Additional comments not posted (6)
app/client/platforms/baidu.ts (6)
5-5
: LGTM!The new import statement for
ChatCompletion
is necessary for the integration of the Baidu Qianfan SDK.
Line range hint
149-153
:
LGTM!The
usage
method is straightforward and does not require any changes.
Line range hint
155-157
:
LGTM!The
models
method is straightforward and does not require any changes.
120-127
: Verify the correctness of access credentials retrieval.Ensure that the
baiduApiKey
andbaiduSecretKey
are correctly retrieved from the state and are valid.Verification successful
The retrieval of
baiduApiKey
andbaiduSecretKey
from the state is correctly implemented.
- The values are initialized in
app/store/access.ts
.- They are accessed correctly in
app/client/platforms/baidu.ts
and other relevant files.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the retrieval of baiduApiKey and baiduSecretKey from the state. # Test: Search for the state management code. Expect: Correct retrieval of baiduApiKey and baiduSecretKey. rg --type typescript 'baiduApiKey|baiduSecretKey'Length of output: 86
Script:
#!/bin/bash # Description: Verify the retrieval of baiduApiKey and baiduSecretKey from the state. # Test: Search for the state management code. Expect: Correct retrieval of baiduApiKey and baiduSecretKey. rg 'baiduApiKey|baiduSecretKey' -A 3 -B 3Length of output: 4860
124-126
: Verify the correctness of base URL construction.Ensure that the base URL is correctly constructed using the application's origin and the optional custom URL from the access store.
129-144
: Verify the response handling logic.Ensure that the response handling logic correctly processes the response from the
client.chat()
method.
💻 变更类型 | feat
🔀 变更说明 | Description of Change
接入百度千帆SDK
千帆SDK
提供了丰富的能力,包括对话Chat、续写Completions、向量Embeddings、插件应用、Prompt工程、模型服务、管理、调优及数据管理等能力
Summary by CodeRabbit
New Features
Chores
@baiducloud/qianfan
package to project dependencies to support new features.