Skip to content

Commit 12a7764

Browse files
authored
Add files via upload
1 parent df1dcc5 commit 12a7764

File tree

2 files changed

+282
-0
lines changed

2 files changed

+282
-0
lines changed

NUGET_PACKAGE_GUIDE.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# NuGet Package Publishing Guide
2+
3+
## Package Information
4+
5+
- **Package ID**: SharpAIKit
6+
- **Version**: 0.1.0
7+
- **Authors**: Dustin Dong
8+
- **Company**: SharpAIKit
9+
- **License**: MIT
10+
- **Repository**: https://github.com/dxpython/SharpAIKit
11+
12+
## Package Files
13+
14+
After building, you should have:
15+
- `SharpAIKit.0.1.0.nupkg` - Main package
16+
- `SharpAIKit.0.1.0.snupkg` - Symbols package
17+
18+
## Build the Package
19+
20+
```bash
21+
cd src/SharpAIKit
22+
dotnet pack -c Release
23+
```
24+
25+
The packages will be created in:
26+
- `bin/Release/SharpAIKit.0.1.0.nupkg`
27+
- `bin/Release/SharpAIKit.0.1.0.snupkg`
28+
29+
## Verify Package Contents
30+
31+
You can inspect the package using:
32+
33+
```bash
34+
# Extract and view package contents
35+
unzip -l bin/Release/SharpAIKit.0.1.0.nupkg
36+
37+
# Or use NuGet CLI
38+
nuget list SharpAIKit -Source bin/Release
39+
```
40+
41+
## Publish to NuGet.org
42+
43+
### Prerequisites
44+
45+
1. Create a NuGet.org account at https://www.nuget.org
46+
2. Create an API key at https://www.nuget.org/account/apikeys
47+
3. Save your API key securely
48+
49+
### Publish Command
50+
51+
```bash
52+
dotnet nuget push ./bin/Release/SharpAIKit.0.1.0.nupkg -k <YOUR_API_KEY> -s https://api.nuget.org/v3/index.json --skip-duplicate
53+
```
54+
55+
**Important Notes:**
56+
- Replace `<YOUR_API_KEY>` with your actual NuGet API key
57+
- The `--skip-duplicate` flag prevents errors if the version already exists
58+
- The symbols package (`.snupkg`) will be automatically published if found
59+
60+
### Alternative: Publish Both Packages Separately
61+
62+
```bash
63+
# Publish main package
64+
dotnet nuget push ./bin/Release/SharpAIKit.0.1.0.nupkg -k <YOUR_API_KEY> -s https://api.nuget.org/v3/index.json
65+
66+
# Publish symbols package (optional, for debugging)
67+
dotnet nuget push ./bin/Release/SharpAIKit.0.1.0.snupkg -k <YOUR_API_KEY> -s https://api.nuget.org/v3/index.json
68+
```
69+
70+
## Verify Publication
71+
72+
After publishing, verify the package is available:
73+
74+
1. Visit: https://www.nuget.org/packages/SharpAIKit
75+
2. Check that version 0.1.0 is listed
76+
3. Verify the README.md is displayed correctly
77+
4. Test installation: `dotnet add package SharpAIKit --version 0.1.0`
78+
79+
## Package Contents
80+
81+
The package includes:
82+
- ✅ Main library DLL (`SharpAIKit.dll`)
83+
- ✅ XML documentation (`SharpAIKit.xml`)
84+
- ✅ README.md (displayed on NuGet.org)
85+
- ✅ All dependencies properly referenced
86+
- ✅ Symbols package for debugging
87+
88+
## Troubleshooting
89+
90+
### Package Already Exists
91+
If you get an error about the package already existing:
92+
- Use `--skip-duplicate` flag, or
93+
- Increment the version number in `SharpAIKit.csproj`
94+
95+
### API Key Issues
96+
- Ensure your API key has "Push" permissions
97+
- Check that the API key hasn't expired
98+
- Verify you're using the correct key (not the key name)
99+
100+
### README Not Displaying
101+
- Ensure `README.md` is in the project root
102+
- Check that `<PackageReadmeFile>README.md</PackageReadmeFile>` is in the csproj
103+
- Verify the file is included with `<None Include="README.md" Pack="true" PackagePath="\" />`
104+
105+
## Next Steps After Publishing
106+
107+
1. **Update Documentation**: Update README.md with NuGet package link
108+
2. **Create Release**: Create a GitHub release with release notes
109+
3. **Announce**: Share the package on social media/forums
110+
4. **Monitor**: Watch for issues and user feedback
111+
112+
## Version Management
113+
114+
For future releases:
115+
1. Update `<Version>` in `SharpAIKit.csproj`
116+
2. Update `RELEASE_NOTES.md` with new features
117+
3. Rebuild and publish following the same steps
118+
119+
---
120+
121+
**Good luck with your NuGet package publication! 🚀**
122+

RELEASE_NOTES.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Release Notes
2+
3+
## Version 0.1.0 - Initial Release
4+
5+
### Overview
6+
7+
This is the initial release of SharpAIKit, a unified .NET large-model application and agentic AI development framework. SharpAIKit provides a comprehensive toolkit for building AI applications with large language models, featuring killer capabilities that go beyond what LangChain offers.
8+
9+
### Major Features
10+
11+
#### Core Framework
12+
- **Unified LLM Interface** - Single API supporting all OpenAI-compatible models
13+
- **Streaming Support** - Real-time token-by-token output streaming
14+
- **Async/Await** - Full async support for .NET 8
15+
- **Retry Policy** - Built-in Polly retry mechanism for resilient API calls
16+
17+
#### Chain Composition (LCEL-style)
18+
- **Pipe Operators** - Elegant chain composition using `|` operator
19+
- **Parallel Execution** - Run multiple chains in parallel
20+
- **Conditional Branching** - Dynamic execution paths based on conditions
21+
- **Lambda Chains** - Custom chain logic with lambda functions
22+
23+
#### Memory Management
24+
- **Buffer Memory** - Simple last N messages storage
25+
- **Window Buffer Memory** - Keep last N conversation turns
26+
- **Summary Memory** - Automatically summarize old conversations
27+
- **Vector Memory** - Semantic search over conversation history
28+
- **Entity Memory** - Extract and track entities from conversations
29+
30+
#### Prompt Engineering
31+
- **Prompt Templates** - Variable substitution with type safety
32+
- **Chat Prompt Templates** - Structured message templates
33+
- **Few-shot Templates** - Built-in few-shot learning support
34+
- **Partial Variables** - Pre-filled template variables
35+
36+
#### Output Parsing
37+
- **JSON Parser** - Strongly-typed JSON parsing with generics
38+
- **Boolean Parser** - Smart boolean value extraction
39+
- **List Parsers** - Comma-separated and numbered list parsing
40+
- **XML Parser** - Extract structured data from XML tags
41+
- **Regex Parser** - Custom pattern-based parsing
42+
43+
#### Document Loading
44+
- **Text Loader** - Plain text file loading
45+
- **CSV Loader** - Column-aware CSV processing
46+
- **JSON Loader** - JSON file parsing
47+
- **Markdown Loader** - Markdown with header splitting
48+
- **Web Loader** - Load content from URLs
49+
- **Directory Loader** - Batch loading from directories
50+
51+
#### Observability
52+
- **Console Callback** - Colored console output for debugging
53+
- **Logging Callback** - Integration with Microsoft.Extensions.Logging
54+
- **Metrics Callback** - Performance metrics collection
55+
- **File Callback** - Persistent logging to files
56+
- **Callback Manager** - Multi-handler callback system
57+
58+
#### MultiModal Support
59+
- **Image Content** - Support for image URLs and local files
60+
- **Base64 Encoding** - Automatic image encoding
61+
- **MultiModal Messages** - Combine text and images in messages
62+
- **Fluent Builder** - Elegant API for building multimodal messages
63+
64+
#### Advanced Agents
65+
- **ReAct Agent** - Reasoning + Acting loop for complex problem solving
66+
- **Plan-and-Execute Agent** - Create plans before execution
67+
- **Multi-Agent System** - Coordinate multiple specialized agents
68+
- **Tool Integration** - Easy tool registration and execution
69+
70+
#### RAG Engine
71+
- **Document Indexing** - Index documents with embeddings
72+
- **Vector Search** - Semantic similarity search
73+
- **Intelligent Q&A** - Context-aware question answering
74+
- **Streaming Answers** - Real-time answer generation
75+
- **Multiple Vector Stores** - In-memory and file-based storage
76+
77+
### Killer Features
78+
79+
#### 🔮 Native C# Code Interpreter
80+
- **Roslyn Integration** - Direct C# code execution using Roslyn compiler
81+
- **No Python Dependency** - Pure .NET solution, no external processes
82+
- **High Performance** - Native compilation, 10-100x faster than Python
83+
- **Type Safety** - Full C# type system support
84+
- **Sandbox Execution** - Configurable execution limits and security
85+
86+
#### 🕸️ SharpGraph
87+
- **Finite State Machine** - Graph-based orchestration engine
88+
- **Loop Support** - Handle cycles and retry logic
89+
- **Conditional Branches** - Dynamic execution paths
90+
- **State Management** - Complete state passing and management
91+
- **Visualization** - GraphViz format export
92+
93+
#### 🧬 DSPy-style Optimizer
94+
- **Automatic Optimization** - Iterative prompt improvement
95+
- **Few-shot Learning** - Auto-generate few-shot examples
96+
- **Multiple Metrics** - Exact match, contains, semantic similarity
97+
- **Custom Metrics** - Define your own evaluation functions
98+
- **Optimization History** - Track improvement over iterations
99+
100+
### Supported LLM Providers
101+
102+
- OpenAI (GPT-4, GPT-3.5, o1, o3)
103+
- DeepSeek (DeepSeek-V3, R1, Coder)
104+
- Qwen (Tongyi Qianwen)
105+
- Mistral AI
106+
- Yi (01.AI)
107+
- Groq
108+
- Moonshot (Kimi)
109+
- Zhipu GLM
110+
- Baichuan
111+
- Together AI
112+
- Ollama (Local models)
113+
- Any OpenAI-compatible API
114+
115+
### Technical Details
116+
117+
- **Target Framework**: .NET 8.0
118+
- **Dependencies**: Minimal external dependencies
119+
- **License**: MIT
120+
- **Documentation**: Comprehensive XML documentation included
121+
122+
### Getting Started
123+
124+
```bash
125+
dotnet add package SharpAIKit
126+
```
127+
128+
```csharp
129+
using SharpAIKit.LLM;
130+
131+
var client = LLMClientFactory.Create("api-key", "https://api.deepseek.com/v1", "deepseek-chat");
132+
var response = await client.ChatAsync("Hello!");
133+
```
134+
135+
### Documentation
136+
137+
- [GitHub Repository](https://github.com/dxpython/SharpAIKit)
138+
- [English Documentation](https://github.com/dxpython/SharpAIKit/blob/main/README_EN.md)
139+
- [中文文档](https://github.com/dxpython/SharpAIKit/blob/main/README_CN.md)
140+
141+
### Breaking Changes
142+
143+
None - This is the initial release.
144+
145+
### Known Issues
146+
147+
None at this time.
148+
149+
### Future Roadmap
150+
151+
- Additional vector store backends (Pinecone, Weaviate, etc.)
152+
- More document loaders (PDF, Word, etc.)
153+
- Enhanced multi-agent coordination
154+
- Additional optimization strategies
155+
- Performance improvements
156+
157+
---
158+
159+
**Thank you for using SharpAIKit!**
160+

0 commit comments

Comments
 (0)