This project retrieves the 25 trending projects from a day (from here), reads their README.md files, and summarizes them in a way which is ready for social media.
Companies can use this in their content generation pipeline strategies, or individuals can use it when trying to grow their social media following with organic and up-to-date content!
LLM Hyperparams used:
- Prompt: "Generate a teaser summary for this Markdown file. Share an interesting insight to captivate attention."
- Extractiveness = "AUTO" # HIGH, LOW
- Format = "AUTO" # brackets, paragraph
- Length = "LONG" # high, AUTO
- Temperature = .3 # [0,1]. The lower the temperature, the more consistent and less wild/imaginative generations are
Check out the demo here
- Oracle Cloud Infrastructure (OCI) Account - sign-up page
- Oracle Cloud Infrastructure (OCI) Generative AI Service - Getting Started with Generative AI
- Oracle Cloud Infrastructure Documentation - Generative AI
- Oracle Cloud Infrastructure (OCI) Generative AI Service SDK - Oracle Cloud Infrastructure Python SDK
- Python 3.10
- Conda
- OCI SDK
Follow these links below to generate a config file and a key pair in your ~/.oci directory:
SDK Config API Signing Key SDK CLI Installation
After completion, you should have following 2 things in your ~/.oci directory:
- A config file(where key file point to private key:key_file=~/.oci/oci_api_key.pem)
- A key pair named oci_api_key.pem and oci_api_key_public.pem
- Now make sure you change the reference of key file in config file (where key file point to private key:key_file=/YOUR_DIR_TO_KEY_FILE/oci_api_key.pem)
Then, we're going to configure a new file, called config.yaml
that contains this structure, which will allow you to authenticate to OCI and call the OCI GenAI summarization model, to summarize the content from each project's README files:
compartment_id: "ocid1.compartment.oc1..ocid"
config_profile: "profile_name_in_your_oci_config"
Note: You can find your oci configuration in
~/.oci/config
. Make sure you have previously installed OCI SDK in your computer.
Finally, we install Python dependencies:
pip install -r requirements.txt
You can run the bash script to generate all outputs in the output/
dir:
chmod a+x run.sh # if you don't have exec permissions initially for the .sh file
./run.sh
scrapy runspider trending_spider.py # this will get trending repositories
scrapy runspider info_spider.py # then, for each trending repository, it will extract info.
python main.py # to process their README.md files as well, and runs a summarizer on top of it.
Note that the described resources in this annex are unofficial, as LinkedIn does not have an official API to publish, and this process has to be emulated with a 3-legged access token using their Developer Portal. This part is experimental and you should probably look for a more robust way to automate publishing to social media - still, if you're interested in how this 3-legged access token can be used, here are the steps:
- Create or use an existing developer application from the LinkedIn Developer Portal
- Request access to the Sign In With LinkedIn API product. This is a self-serve product that will be provisioned immediately to your application.
- Generate a 3-legged access token using the Developer Portal token generator tool, selecting the r_liteprofile scope.
None at this moment.
This project is open source. Please submit your contributions by forking this repository and submitting a pull request! Oracle appreciates any contributions that are made by the open source community.
Copyright (c) 2024 Oracle and/or its affiliates.
Licensed under the Universal Permissive License (UPL), Version 1.0.
See LICENSE for more details.
ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK.