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

[Feature Request]: Add GithubLLM #3300

Open
1 of 47 tasks
Josephrp opened this issue Aug 6, 2024 · 0 comments
Open
1 of 47 tasks

[Feature Request]: Add GithubLLM #3300

Josephrp opened this issue Aug 6, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@Josephrp
Copy link
Collaborator

Josephrp commented Aug 6, 2024

Is your feature request related to a problem? Please describe.

Currently, there's no easy way to use GitHub's inference endpoint with automatic fallback to Azure in the autogen library. This makes it difficult for users who want to leverage GitHub's LLM capabilities while ensuring high availability through Azure fallback.

We need a seamless way to integrate GitHub's LLM API with autogen, including rate limiting handling and automatic fallback to Azure when needed.

Describe the solution you'd like

Implement a new GithubLLM class in autogen that supports:

Using GitHub's inference endpoint as the primary LLM provider
Automatic fallback to Azure when rate limits are reached
Configurable system prompts and model selection
Compatibility with autogen's existing API structure

The solution should include:

A GithubClient class that handles API calls to GitHub and Azure
A GithubWrapper class that integrates with autogen's existing structure
Support for both single-turn and multi-turn conversations
Proper error handling and logging
Easy configuration through environment variables

Additional context

This feature would be particularly useful for developers who have access to GitHub's LLM API and want to integrate it into their autogen workflows while maintaining the option to fall back to Azure for reliability.

Why are these changes needed?

This PR introduces a new GithubLLM class to autogen, allowing users to leverage GitHub's inference endpoint with automatic fallback to Azure. It provides a seamless way to use GitHub's LLM capabilities within the autogen ecosystem, handling rate limits and ensuring high availability through Azure fallback.

Tasks

  • EmbeddingsClient
  • ImageEmbeddingsClient
  • ChatCompletionsClient
  • EmbeddingsClient
  • ImageEmbeddingsClient
  • Inference

Tests

  • AssistantMessage
  • AsyncStreamingChatCompletions
  • ChatChoice
  • ChatCompletions
  • ChatCompletionsFunctionToolCall
  • ChatCompletionsFunctionToolDefinition
  • ChatCompletionsFunctionToolSelection
  • ChatCompletionsNamedFunctionToolSelection
  • ChatCompletionsNamedToolSelection
  • ChatCompletionsResponseFormat
  • ChatCompletionsToolCall
  • ChatCompletionsToolDefinition
  • ChatCompletionsToolSelectionPreset
  • ChatRequestMessage
  • ChatResponseMessage
  • ChatRole
  • CompletionsFinishReason
  • CompletionsUsage
  • ContentItem
  • EmbeddingEncodingFormat
  • EmbeddingInput
  • EmbeddingInputType
  • EmbeddingItem
  • EmbeddingsResult
  • EmbeddingsUsage
  • FunctionCall
  • FunctionDefinition
  • ImageContentItem
  • ImageDetailLevel
  • ImageUrl
  • ModelInfo
  • ModelType
  • StreamingChatChoiceUpdate
  • StreamingChatCompletions
  • StreamingChatCompletionsUpdate
  • SystemMessage
  • TextContentItem
  • ToolMessage
  • UserMessage

Refs

@Josephrp Josephrp added the enhancement New feature or request label Aug 6, 2024
@Josephrp Josephrp mentioned this issue Sep 23, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant