-
-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Add Featherless AI provider (access to 10,000+ open source models) #8277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@DarinVerheijke is attempting to deploy a commit to the LobeHub OSS Team on Vercel. A member of the Team first needs to authorize it. |
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.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
Reviewer's GuideThis PR integrates Featherless AI as a new model provider by extending configuration schemas and environment variables, registering the provider and its models in the application and settings UI, implementing the runtime adapter, adding Docker support, and providing usage documentation in both English and Chinese. Entity relationship diagram for Featherless AI models and providererDiagram
FEATHERLESSAI_PROVIDER ||--o{ FEATHERLESSAI_MODEL : provides
FEATHERLESSAI_MODEL {
string id
string displayName
string description
int contextWindowTokens
bool enabled
object pricing
string type
}
FEATHERLESSAI_PROVIDER {
string id
string name
string description
string url
}
Class diagram for Featherless AI provider integrationclassDiagram
class ModelProviderCard {
+chatModels: ChatModelCard[]
+checkModel: string
+description: string
+disableBrowserRequest: boolean
+id: string
+modelsUrl: string
+name: string
+settings: object
+url: string
}
class FeatherlessAIProviderCard {
<<implements>> ModelProviderCard
}
class LobeFeatherlessAI {
+baseURL: string
+debug: object
+provider: ModelProvider
}
class ModelProvider {
<<enum>>
+FeatherlessAI
}
class UserKeyVaults {
+featherlessai?: OpenAICompatibleKeyVault
}
ModelProviderCard <|.. FeatherlessAIProviderCard
ModelProvider <|-- LobeFeatherlessAI
UserKeyVaults --> OpenAICompatibleKeyVault
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
TestGru AssignmentSummary
Tip You can |
Thank you for raising your pull request and contributing to our Community |
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.
Hey @DarinVerheijke - I've reviewed your changes - here's some feedback:
- The
checkModel
value (Qwen/Qwen2.5-32B-Instruct
) isn’t present in your static model list—please reconcile or update it to avoid runtime lookup failures. - The Dockerfile env vars (
FEATHERLESS_API_KEY
/FEATHERLESS_MODEL_LIST
) don’t match the code’sFEATHERLESSAI_API_KEY
naming—please align these with other providers for consistency. - Maintaining 150+ static model entries will become hard to keep in sync—consider fetching the available Featherless AI model list dynamically instead.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The `checkModel` value (`Qwen/Qwen2.5-32B-Instruct`) isn’t present in your static model list—please reconcile or update it to avoid runtime lookup failures.
- The Dockerfile env vars (`FEATHERLESS_API_KEY` / `FEATHERLESS_MODEL_LIST`) don’t match the code’s `FEATHERLESSAI_API_KEY` naming—please align these with other providers for consistency.
- Maintaining 150+ static model entries will become hard to keep in sync—consider fetching the available Featherless AI model list dynamically instead.
## Individual Comments
### Comment 1
<location> `src/config/modelProviders/featherlessai.ts:5` </location>
<code_context>
+
+const FeatherlessAI: ModelProviderCard = {
+ chatModels: [],
+ checkModel: 'Qwen/Qwen2.5-32B-Instruct',
+ description: 'Featherless AI 通过单一 API 提供对超过 10,000 个开源模型的访问,并采用订阅式定价。',
+ disableBrowserRequest: true,
</code_context>
<issue_to_address>
The checkModel value does not match any model in the FeatherlessAI model list.
'Qwen/Qwen2.5-32B-Instruct' is not present in src/config/aiModels/featherlessai.ts. Please update checkModel to use a valid model ID from the FeatherlessAI model list to avoid potential verification or health check issues.
</issue_to_address>
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
||
const FeatherlessAI: ModelProviderCard = { | ||
chatModels: [], | ||
checkModel: 'Qwen/Qwen2.5-32B-Instruct', |
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.
issue (bug_risk): The checkModel value does not match any model in the FeatherlessAI model list.
'Qwen/Qwen2.5-32B-Instruct' is not present in src/config/aiModels/featherlessai.ts. Please update checkModel to use a valid model ID from the FeatherlessAI model list to avoid potential verification or health check issues.
@DarinVerheijke Hi please rebase the main, and the left is lgtm |
2c9af76
to
5aa984d
Compare
Done and added the new oss open-ai one to model list @arvinxx |
💻 变更类型 | Change Type
🔀 变更说明 | Description of Change
Adds Featherless AI as a provider giving access to over 10,000+ open-weight models
📝 补充信息 | Additional Information
Logo needs to be added
Currently added only the popular well known base models, by request I can add more that are available on the list here https://featherless.ai/models
Summary by Sourcery
Add Featherless AI as a new LLM provider to grant access to over 10,000 open-weight models in LobeChat
New Features:
Build:
Documentation: